채널톡 아이콘

실무에서 사용하는 클라우드 보안 프로그래밍 (AWS, Python, Terraform)

클라우드를 위한 프로그래밍 언어(Python, Terraform)를 배울 수 있도록 구성되어 있습니다. 간단하지만 귀찮은 반복 업무들이나, 내가 언제 어떻게 배포했는지, 특정 솔루션을 통해 해결하지 못하는 우리 회사만의 정책 등을 직접 만들고 적용 할 수 있습니다. 특히 가장 잘나가는 IaC(Infrastructure as Code) 어플리케이션인 테라폼을 통해 보안 아키텍처를 적용하고, Python으로 초간단 대시보드 제작도 진행해봅니다!

(4.9) 수강평 52개

수강생 652명

난이도 초급

수강기한 무제한

보안
보안
프로젝트
프로젝트
IaC
IaC
클라우드
클라우드
보안
보안
프로젝트
프로젝트
IaC
IaC
클라우드
클라우드

새소식

8 개

  • 천강민님의 프로필 이미지

    안녕하세요.

    지식공유자 천강민입니다.

    앞서 공지드린 것처럼 시간의 흐름에 따른 그리고 날 것 그대로의 강의를 개선하고 변경하기 위한 목적으로 개편을 진행했고, 오늘 부로 신규 촬영한 강의들 업로드가 완료 됐습니다.

    간단하게 변경된 부분 말씀드리면,

    1. 추가된 부분

      1. VPC Cidr 설계 및 AWS Network Firewall 구축

      2. Steampipe + Streamlit을 통한 보안 대시보드 제작

         

      3. Terraform 관련 Remote State, depends_on 등

    2. 개선된 부분

      1. Python의 특정 기능들의 나열이 아닌, boto3를 기반으로 개발하며 점진적 코드 개선

      2. Terraform 관련 풍부한 예시 및 실습

      3. 많이 사용되지 않는다고 판단되거나 강의와 직접적인 연관이 없는 것으로 보이는 부분 제외

    3. 제거된 부분 (6개월 ~ 1년 정도는 남겨둘 계획)

      1. 기존 강의 부분

    위와 같습니다. 기존 강의를 모두 수강하셨던 분들이라면 Python, Terraform 부분은 이미 잘 알고 계실 것 같아서, 프로젝트 부분만 새롭게 보시는걸 추천드립니다.

    남은 2024년 마무리 잘 하시고, 새해 복 많이 받는 2025년 되시길 바랍니다. 감사합니다.

    천강민 드림.

    0
  • 천강민님의 프로필 이미지

    안녕하세요.

    지식공유자 천강민입니다.

    강의를 게시하고 대략 1년 8개월 정도가 지났습니다.

    변경된 내용들도 있고, 처음 촬영한 강의다 보니 영상이나 자료, 강의 내용 등이 업데이트 되면 좋겠다는 생각이 들었습니다.(지금 보니, 강의 난이도에 비해 너무 많은 것들을 알려드리고 싶었지 않나.. 라는 생각이 드네요.)


    그래서! 강의를 개편하려고 합니다!

    [유지되는 부분]

    1. 현재 커리큘럼의 섹션

      1. 세부 진행 내용은 변경될 수 있습니다.

    [삭제될 부분]

    1. Python 프로그래밍

      1. MultiProcesses

        1. 현재로썬 불필요하다 생각됨

      2. GIL 관련 내용

        1. 짧은 시간 안에 너무 많은걸 설명하려고 했던 것 같고, 불필요해보임.

    2. Terraform 프로그래밍

      1. IAM을 이용한 테라폼 설명

        1. 다른 기능을 통해 설명 대체할 예정

      2. test 관련 내용

    [추가될 부분]

    1. 3-Tier 아키텍처를 위한 VPC 설계

    2. AWS Network Firewall을 활용한 네트워크 아키텍처


    아무리 늦어도 올해 안에는 완전히 개편된 영상으로 대체하려고 계획하고 있습니다. 이를 위해 추가적으로 설문도 받으려고 하는데요.

    실무에서 사용하는 클라우드 보안 프로그래밍 개편 관련 설문

    위 링크를 통해 의견 적어주시면 감사하겠습니다.(로그인은 필요하지만, 주소를 수집하진 않습니다.)

    감사합니다.

    천강민 드림.

    2
  • 천강민님의 프로필 이미지

    안녕하세요. 지식공유자 천강민입니다.

    이번에 "처음 시작하는 도커와 컨테이너"라는 강의를 출시하려고 합니다. (오픈일은 아직 미정)

    이에 따라, 아래 목록의 강의를 수강 중이신 분들께 감사의 마음을 담아 수강생 등록 이벤트를 진행하려고 합니다.

    1. 실무에서 사용하는 클라우드 프로그래밍

    2. 실무에서 사용중인 AWS 클라우드 IAM 이해와 보안

    3. [DevOps] 빠르고 안전한 어플리케이션 배포 파이프라인(CI/CD) 만들기


    구글 폼을 통해 출시될 강의 내용을 확인하시고, 양식을 채워서 신청 주시면 시간 되는 대로 추가 진행 예정입니다.
    다만, 실제 강의가 출시되기 전까지는 수강 목록에 나오지 않으니 이 점은 참고 부탁드립니다.

    항상 양질의 강의를 제공하기 위해 노력하겠습니다.

    감사합니다.

    1
  • 천강민님의 프로필 이미지

    안녕하세요.

    실무에서 사용하는 클라우드 프로그래밍 강사 천강민입니다.

    Terraform 1.8 버전에서 provider-defined functions 라는 기능이 출시 됐습니다.

    간단히 얘기하면, 프로바이더 레벨에서 함수를 지원하는건데요. 바로 예시를 보면,

    terraform {
      required_providers {
        aws = {
          source = "hashicorp/aws"
        }
      }
    }
    
    provider "aws" {}
    
    # result: 
    # {
    #   "partition": "aws",
    #   "service": "iam",
    #   "region": "",
    #   "account_id": "444455556666",
    #   "resource": "role/example",
    # }
    output "role" {
      value = provider::aws::arn_parse("arn:aws:iam::444455556666:role/example")
    }
    
    # result: 
    # {
    #   "partition": "aws",
    #   "service": "elasticloadbalancing",
    #   "region": "us-east-2",
    #   "account_id": "123456789012",
    #   "resource": "loadbalancer/app/my-load-balancer/1234567890123456",
    # }
    output "elb" {
      value = provider::aws::arn_parse("arn:aws:elasticloadbalancing:us-east-2:123456789012:loadbalancer/app/my-load-balancer/1234567890123456")
    }
    

    (미쳤다...)

    나온지 얼마 안된 기능이기 때문에 기능이 확실히 많이 부족하지만, 선언형 언어를 다양한 내장함수를 통해 절차적으로 사용해야하는 경우가 있었는데(split 후에 인덱스 접근해서 local에 저장하고...), 조금 더 선언적으로 지원이 되어가는 것 같습니다.

    매우 따끈따근한 기능이라서 엄청 간단합니다. 혹시 보실 분들은 링크 참고하세요!

    별별 함수들이 생겨날걸 생각하니 그 동안 내장함수 찾아서 구현했던 것들에 대해 보상받은 기분이네요. 해당 내용은 조금 더 파악해보고 별도로 강의 제작하여 업로드도 진행 예정입니다!

    감사합니다.

    2
  • 천강민님의 프로필 이미지

    수정됨

    안녕하세요.

    실무에서 사용하는 클라우드 프로그래밍 강사 천강민입니다.

    Terraform 1.7 버전이 릴리즈 됐습니다. 관련 공지는 여기서 볼 수 있습니다.
    생각보다 (크게 스트레스 받을만한) 큰 변화가 생겼는데요.

    1. 테스트 이후 모듈이 삭제되는 순서가 변경됩니다.

      1. 기존

        1. 메인 상태 파일

        2. 각 모듈별 상태 파일(역순)

        3. 그렇기에 모듈을 참조하여 테스트 작성 시, 메인 상태 파일에 적재되는 리소스들에 의존 X

      2. 변경

        1. run 블록 역순으로 상태 파일 삭제

        2. 그렇기에 일찍 삭제되는 리소스들에 의존 X

      3. 간단한 예시

        1. image

        2. 예전에는 위와 같이 작성할 수 없었지만, 1.7부터는 가능합니다.

    2. Mocks (in beta)

      1. 간단히 말씀드리면 실제 프로바이더, 리소스, 데이터, 모듈을 생성/삭제/참조하지 않고 특정한 값을 정의하여 사용하는 기능입니다.

      2. 미리 살펴본 결과, 간단히 배포 또는 생성되는 형태를 mock 데이터로 만들어서 넣어주면 이전보다 훨씬 빠르게 테스트가 가능할 것으로 보입니다.

      3. 예시는 아래와 같습니다.

      # main.tftest.hcl
      
      mock_provider "aws" {
        override_data {
          target = module.credentials.data.aws_s3_object.data_bucket
          values = {
            body = "{\"username\":\"username\",\"password\":\"password\"}"
          }
        }
      }
      
      run "test" {
        assert {
          condition     = jsondecode(local_file.credentials_json.content).username == "username"
          error_message = "incorrect username"
        }
      }
      1. 데이터 블록의 결과를 만들고 run 블록을 통해 빠르게 테스트가 가능합니다.

    3. 1.7 릴리즈에 대한 후기

      1. 마이너 버전 한 번 만에 정말 중요한 로직을 변경한 것이 정말 마음이 아프게 느껴집니다. 혹시나 제 강의를 보시고 기존 삭제 상태를 기준으로 만드신 분들께 대신 사과를 말씀을 드립니다...

      2. 위의 이유 + in beta 상태이기에 Mocks에 대한 내용은 추후에 조금 더 성숙해지고 단단해지면 추가로 찍으려고 합니다. 다만, 어쨋든 출시된 내용은 전달드리는게 맞는 것 같기에 이렇게 새소식을 발행합니다.

    감사합니다.

    0
  • 천강민님의 프로필 이미지

    안녕하세요.

    실무에서 사용하는 클라우드 프로그래밍 강사 천강민입니다.

    Python GIL과 관련해 조금 더 자세한 영상을 촬영 후 업로드 했습니다.

    사실 Python을 통해 엄청난(?) 어플리케이션을 만들려는게 아니라면 크게 신경쓰지 않아도 되는 내용이긴 하지만, 앞에서 (편의를 위해)설명드렸던 것들에 대해서 정정도 필요하고, 좀 더 자세히 알면 프로젝트 시에 어떤 모듈을 선택해야 할지, 왜 이렇게 동작하는지를 알 수 있다고 생각해서 추가하게 됐습니다.

    참고 부탁드립니다.
    감사합니다.

    0
  • 천강민님의 프로필 이미지

    안녕하세요.

    실무에서 사용하는 클라우드 프로그래밍 강사 천강민입니다.

    Terraform 1.6 에서 추가된 테스트 기능 관련하여 강의를 추가 했습니다.

    주요 추가 내용은 아래와 같습니다.

    1. 테라폼 기존 테스트 방법에 관한 간단한 설명

    2. Custom Conditions 설명

    3. .tftest.hcl 파일 기본 문법

    4. 테스트 관련 내용(성공/실패 테스트 등)

    5. 테스트 진행 중 상태(state) 관리, 실행/삭제 순서

    6. 테스트 전략


    참고 부탁드립니다.
    감사합니다.

    0
  • 천강민님의 프로필 이미지

    안녕하세요.

    실무에서 사용하는 클라우드 프로그래밍 강사 천강민입니다.

    강의에서 사용한 Python / Terraform 버전 관련하여 공지하기 위해 새소식을 발행하게 됐습니다.

    [Python]

    Python은 현재 3.12 까지 공개가 된 상황입니다. 다만, (지극히 제 주관적인 판단으로) 아직까지는 새롭게 추가된 기능들에 대해서 현재 강의에 추가할 내용은 없다고 생각되어 업데이트가 없는 상태입니다.
    3.10 ~ 3.12 버전의 주요 변경점들은 아래와 같습니다.

    1. Python 속도 향상(하지만 은탄환은 없다) -> 3.11 / 3.12

      1. 그럼에도 특정 작업은 느껴질 정도로 빨라졌습니다.

    2. 타입 관련 많은 기능 추가 및 강화 -> 3.10 ~ 3.12

      1. 자바(타입)스크립트의 길을 가나?

    3. 인터프리터별 GIL 도입 -> 3.12

      1. 다른 언어와 같이 멀티쓰레드를 활용하는 날이 올까?

      2. 현재는 Python C API 를 통해서만 활용 가능합니다.

        1. 순수 C로 작성한 라이브러리들 속도나 효율이 개선될듯?(개선한다면)

    정도 입니다. 물론 이외에도 다른 많은 것들이 사용 중단되고, 개선(또는 추가)되기도 했지만, 당장 알아야 할 정도로 중요한 내용은 없는 것으로 보입니다.

    추가로 AWS Lambda에서도 현재 3.11 까지 지원하고 있습니다.

    어찌됐던 현재 계획으론 Python 3.13이 발표(release)되면 관련 강의를 추가 예정입니다.

    [Terraform]

    테라폼 또한, 1.2 ~ 1.5 버전을 거치며 다양한 기능들이 추가 됐습니다.

    1. variable에 optional 사용 가능 -> 1.3

      1. Python에서 obj.get("key", "default") 와 같은 사용 가능

    2. null_resource를 대체하는 기본 terraform_data -> 1.4

      1. 추가적인 프로바이더 다운로드 없이 대체 가능

    3. 코드를 통한 import 가능 -> 1.5

    4. check 블록을 통한 검증 강화 -> 1.5

    다만, 위의 기능들은 모두 런타임(실행 시)에 동작하는 것들이기에 크게 소개해드릴 필요가 없다고 느끼고 있었습니다만,

    Terraform 1.6 버전에서 드디어 테스트 관련 기능이 출시됐습니다. 기존의 테스트는 1) 런타임과 분리되지 못하거나, 2) 여러가지 오픈소스들을 통해서만 가능했습니다. 하지만, 해당 기능의 출시로 인해 이제 별도의 오픈소스를 사용하지 않더라도 테스트가 가능하게 됐습니다.

    해당 기능은 다음주 중에 강의로 업데이트하려고 합니다. 참고 부탁드립니다.

    감사합니다.

    0

₩66,000