Recap Series
- 세션 02: Terraform을 활용한 AWS 컴플라이언스
- 세션 03: 초보자에서 빌더로: 멋진 클라우드 여정
- 세션 04: Laravel와 Bref를 활용한 팀 우선 서버리스 엔지니어링
- 세션 05: 행사 개회: AWS Community Day Hong Kong 2025
- 세션 06: Agent-to-Agent: AWS에서 상호 운용 가능한 AI 구축하기
- 세션 07: AI 에이전트와 추가 텔레메트리 데이터를 활용한 신속한 개선
- 세션 08: 바이브 코딩을 넘어서: Kiro를 활용한 사양 주도 개발
- 세션 09: MCP 및 AI 에이전트를 활용한 자동화 테스트
- 세션 10: 통신 보안 현대화: ML 기반 접근 방식
- 세션 11: GenAI 에이전트 재고찰: RAG와 MCP
- 세션 12: TAK와 AWS를 활용한 재난 및 긴급 대응
- 세션 13: 테스트 관점에서 서버리스 애플리케이션 워크플로 재고찰
- 세션 14: 클라우드 성공을 위한 실용적인 AWS FinOps
녹화 영상
오픈 소스 프로젝트와 단순화를 향한 열정
- 사람들이 Terraform 모범 사례를 학습할 수 있도록 https://www.terraform-best-practices.com/ 을 개발했다.
현재 프로젝트: compliance.tf
- Terraform을 통한 컴플라이언스 구현을 단순화하는 것을 목표로 한다.
- 컴플라이언스는 매력적인 분야지만, 현재 Terraform으로 구현하기는 어렵다.
- 사람들이 공통 서비스와 패턴을 직접 구현하지 않아도 되도록 만들었다.
- 50개가 넘는 AWS 서비스의 구성을 지원한다.
일과 재미에 대한 고찰
- 미래를 만들어 간다는 이전 세대의 설레는 사고방식과, 컴플라이언스 프레임워크 및 자동화에 초점을 맞추는 현재의 상황을 비교했다.
- 컴플라이언스 업무가 직접 몸을 움직이는 야외 활동보다 지루하게 느껴질 수 있음을 인정했다.
- 흥미로운 작업과 지루한 작업을 명확히 구분할 필요가 있다고 강조했다.
컴플라이언스는 마법이 아니다
- 공급업체와 서비스 제공업체는 흔히 컴플라이언스를 필수적이고 비용이 많이 들며 마법 같은 것으로 묘사한다.
- 실제로 컴플라이언스는 대개 기업이 충족해야 하는 또 하나의 비즈니스 요구 사항일 뿐이다.
- 컴플라이언스를 준수한다는 것은 보안과 고객의 신뢰를 진지하게 받아들인다는 의미다.
공동 책임 원칙
- AWS는 기반 인프라를 책임진다.
- 고객은 클라우드에 올리는 모든 것을 책임진다.
컴플라이언스 프레임워크
- 다양한 프레임워크가 존재하며, 그중 일부는 ISO 27001에 부합한다.
- 홍콩과 중국 본토 같은 지역에는 고유한 제한 사항과 규칙이 있다.
- 대부분의 프레임워크는 암호화, 액세스 제어, 로그인 메커니즘 등 비슷한 영역을 다룬다.
- 하나의 프레임워크를 구현하면 다른 프레임워크를 구현하는 작업도 대개 50% 이상 완료한 셈이다.
일반적인 컴플라이언스 절차
- 충족해야 할 컴플라이언스 요구 사항을 파악한다.
- AWS 서비스나 타사 서비스를 사용해 현재의 컴플라이언스 상태를 평가한다.
- 필요한 작업량, 이미 완료된 작업, 남은 작업을 파악한다.
컴플라이언스를 위한 도구와 서비스
- Control Tower: 컴플라이언스 관리에 필수적이다.
- Organizations 및 Service Control Policies: 경계와 권한을 제어하는 데 사용한다.
- CloudFormation Guard: Terraform 코드와 함께 사용할 수 있는 AWS의 오픈 소스 프로젝트다.
- CloudTrail 및 Config: 구성 변경과 API 호출을 탐지하는 데 유용하다.
- AWS Audit Manager: KMS로 암호화된 S3 버킷에 인프라 변화의 증거를 수집하는 서비스다.
코드형 인프라 도구
- 현재 필요한 제어를 구현하는 주요 도구로는 Checkov, Trivy, Terrascan 등이 있다.
도구 사용에 관한 청중과의 상호작용
- 대부분의 사람은 Checkov와 Trivy를 사용한다.
- Checkov는 코드형 인프라(IaC)의 보안 구성 오류와 컴플라이언스 문제를 배포 전에 검사하는 오픈 소스 정적 코드 분석 도구다.
- Trivy는 취약점, IaC, SBOM 탐색, 클라우드 스캔, Kubernetes 보안을 위한 가장 널리 사용되는 오픈 소스 보안 스캐너다.
- 놀랍게도 사용자들은 Terrascan을 거의 언급하지 않았다.
- Terrascan은 Tenable이 지원하는 코드형 인프라(IaC)용 오픈 소스 보안 스캐너다.
문제 해결 단계
- 컴플라이언스 도구를 실행한 후에는 구성 파일을 수정하기 위한 문제 해결 단계가 필요하다.
- 실패 메시지를 이해하고, 원인이 된 모듈이나 매개변수를 찾아 수정한다.
- 또는 compliance.tf에서 제공하는 컴플라이언스 대응 Terraform 모듈을 사용한다.
DevSecOps 파이프라인
- 개발 장비나 CI/CD 파이프라인에서 컴플라이언스 검사를 실행한다.
- 미준수 문제를 수동으로 수정하고 코드를 다시 푸시한 뒤, 클라우드 리소스에 수정 사항이 반영되었는지 확인한다.
- Checkov, Prowler, Steampipe 같은 도구를 사용해 종합적인 컴플라이언스 검사를 수행한다.
권장 도구
- Checkov: 대부분의 상황에 적합하며, 첫 번째 검사 도구로 유용하다.
- Prowler: 환경에 실제로 존재하는 리소스의 구성 오류를 검사하는 오픈 소스 도구다.
- Steampipe: 미리 정의한 쿼리와 사용자 지정 쿼리를 이용해 SQL로 클라우드 API를 조회할 수 있다.
드리프트 방지
- AWS 환경에 대한 콘솔 액세스를 제한해 드리프트를 방지하는 것이 중요하다고 강조했다.
드리프트와 ClickOps
- ClickOps란 AWS Console 같은 사용자 인터페이스를 사용해 클라우드 리소스를 수동으로 관리하는 방식을 뜻한다.
- 사람들은 AWS 계정에 직접 액세스하기를 원하는 경우가 많으며, 이는 ClickOps로 이어져 드리프트를 발생시킨다.
- Config Rules 같은 서비스를 지속적인 검증과 문제 해결에 사용할 수 있지만, 자동 문제 해결 기능은 구현하기 까다로울 수 있다.
자동 문제 해결
- CloudTrail, EventBridge, AWS Systems Manager(SSM) Automation Documents를 연결하면 자동으로 문제를 해결할 수 있다.
- Terraform 모듈, 문제 해결 방법, 자동으로 업데이트되는 문서는 docs.compliance.tf에서 확인할 수 있다.
Terraform Active Directory(AD) 모듈과 컴플라이언스 요구 사항
- Terraform 레지스트리에서 Terraform Active Directory(AD) 모듈을 호출하는 방법을 시연했다.
- 컴플라이언스 요구 사항에 따라 S3 버킷을 생성하고 로그인을 활성화하는 방법을 보여 주었다.
- 컴플라이언스 정보를 Terraform 코드로 변환하는 과정을 설명했으며, 모듈을 사용하기 때문에 이 과정이 복잡할 수 있다.
문서와 Terraform 코드 조각
- 구체적인 검사 항목과 유효한 Terraform 코드 조각은 docs.compliance.tf를 참고하도록 안내했다.
- 로그인 섹션을 지정해 SOC 2나 PCI DSS 같은 다양한 프레임워크를 적용하는 예를 제시했다.
추가 정보: Checkov, Prowler, Steampipe
- Checkov는 코드형 인프라(IaC)를 위한 정적 분석 도구다. 개발 수명 주기 중에 검사를 앞당기는 방식으로 Terraform, CloudFormation, Kubernetes 매니페스트, Dockerfile 같은 구성 파일을 스캔하여 배포 전에 구성 오류와 컴플라이언스 위반을 찾아낸다.
- Prowler는 실제 클라우드 환경(AWS, Azure, Google Cloud, Kubernetes)을 대상으로 보안, 컴플라이언스, 모범 사례를 검사하는 명령줄 도구다. 주로 클라우드 보안 태세 관리(CSPM) 도구로 사용되며 CIS Benchmarks, PCI-DSS, ISO 27001 같은 업계 표준에 매핑된 상세 보고서를 생성한다.
- Steampipe는 Postgres Foreign Data Wrapper를 사용해 클라우드 공급자, API, 인프라 같은 외부 시스템의 데이터를 관계형 데이터베이스 형태로 제공하는 독특한 도구로, 사용자는 SQL을 이용해 클라우드 리소스를 조회할 수 있다. 이 접근 방식은 복잡한 임시 보안 및 컴플라이언스 검사와 SQL 쿼리를 활용한 사용자 지정 대시보드 생성을 지원하며, 순차적으로 검사하는 Prowler와는 다른 평가 방식을 제공한다.
추가 정보 2: CloudTrail, EventBridge 및 SSM Automation Documents
소개
- AWS CloudTrail, EventBridge, SSM Automation Documents는 서로 다른 서비스지만 AWS 생태계 안에서 자주 통합되며, 클라우드 운영을 관리하고 자동화하는 데 사용된다.
AWS CloudTrail
- 목적: CloudTrail은 AWS 계정에서 사용자, 역할 또는 AWS 서비스가 수행한 작업 기록을 제공하는 AWS 서비스다. AWS Management Console, AWS SDK, 명령줄 도구 및 기타 AWS 서비스를 통해 이루어진 API 호출을 기록한다.
- 기능: 호출한 주체, 호출 시각, 호출이 이루어진 IP 주소, 영향을 받은 리소스 등의 세부 정보와 이벤트 기록을 제공하여 보안 분석, 리소스 변경 추적, 문제 해결을 지원한다.
- 사용 사례: 보안 감사, 컴플라이언스, 운영 문제 해결, 무단 활동 식별.
Amazon EventBridge
- 목적: EventBridge는 이벤트를 이용해 애플리케이션을 손쉽게 연결할 수 있게 해 주는 서버리스 이벤트 버스 서비스다. 다양한 소스의 이벤트를 대상으로 라우팅하여 확장 가능한 이벤트 기반 애플리케이션을 구축할 수 있다.
- 기능: CloudTrail 같은 AWS 서비스, 사용자 지정 애플리케이션, SaaS 파트너로부터 이벤트를 수신할 수 있다. 그런 다음 규칙을 정의하여 이벤트를 필터링하고 AWS Lambda 함수, Amazon SNS 주제, Amazon SQS 대기열, AWS Systems Manager Automation 등 다양한 대상으로 라우팅할 수 있다.
- 사용 사례: 실시간 이벤트 처리, 느슨하게 결합된 마이크로서비스 구축, 타사 애플리케이션 통합, 이벤트 기반 자동화 워크플로 시작.
AWS Systems Manager (SSM) Automation Documents
- 목적: SSM Automation Documents는 AWS 리소스 전반의 일반적인 운영 작업을 자동화하기 위한 일련의 단계를 정의하는 사전 정의 또는 사용자 지정 스크립트나 런북이다.
- 기능: 인스턴스 시작 및 중지, 패치 적용, AMI 생성, 사용자 지정 스크립트 실행 등의 작업에 사용할 수 있다. 이러한 문서는 수동으로 실행하거나 일정에 따라 실행하거나 이벤트를 통해 시작할 수 있다.
- 사용 사례: 패치 관리, 인스턴스 수명 주기 관리, 컴플라이언스 적용, 자동화된 인시던트 대응.
통합 예시
이러한 서비스를 결합하면 강력한 자동화 워크플로를 만들 수 있다. 예를 들어 보안 그룹에 무단 변경이 발생했음을 나타내는 CloudTrail 이벤트가 EventBridge 규칙을 시작할 수 있다. 그러면 이 규칙이 SSM Automation Document를 호출해 변경을 자동으로 되돌리고, 관리자에게 알리거나, 영향을 받은 리소스를 격리함으로써 보안과 운영 효율성을 높일 수 있다.
