본문
AWS 운영의 핵심: CloudFormation, CloudTrail, Config, CloudWatch 분석
AWS/개념정리 2025. 12. 5. 14:34
AWS는 클라우드 리소스를 효과적으로 관리하고 모니터링할 수 있는 다양한 도구를 제공합니다. 이 글에서는 대표적인 AWS 관리 및 거버넌스 도구인 CloudFormation, CloudTrail, Config, CloudWatch에 대해 알아보고, 이를 활용하여 AWS 환경을 안정적이고 효율적으로 운영하는 방법을 설명합니다.
1. AWS CloudFormation

- AWS CloudFormation은 인프라를 코드(Infrastructure as Code, IaC)로 관리할 수 있는 서비스입니다.
- JSON 또는 YAML 형식의 템플릿을 사용하여 AWS 리소스를 모델링하고 프로비저닝할 수 있습니다.
- CloudFormation 템플릿은 버전 관리 시스템을 통해 관리할 수 있어 인프라 변경 내역을 추적하고 협업할 수 있습니다.
- 스택(Stack)이라는 단위로 리소스를 그룹화하여 관리할 수 있으며, 스택 간 의존성을 정의할 수 있습니다.
- 예시: 멀티 티어 웹 애플리케이션 인프라 구성, 테스트/운영 환경 분리, 재해 복구 환경 구축 등

1.1. CloudFormation 템플릿 작성
- CloudFormation 템플릿은 Parameters, Resources, Outputs 등의 섹션으로 구성됩니다.
- Parameters는 스택 생성 시 사용자로부터 입력받는 값을 정의합니다.
- Resources는 생성할 AWS 리소스(EC2 인스턴스, S3 버킷, RDS 인스턴스 등)를 명시합니다.
- Outputs는 스택 생성 후 출력되는 값(IP 주소, DNS 이름 등)을 정의합니다.
- CloudFormation 템플릿은 Ref, Fn::GetAtt, Fn::Sub 등의 내장 함수를 사용하여 동적으로 값을 참조할 수 있습니다.
1.2. CloudFormation 스택 관리
- CloudFormation 콘솔, AWS CLI, AWS SDK 등을 통해 스택을 생성, 업데이트, 삭제할 수 있습니다.
- 스택 업데이트 시 변경 세트(Change Set)를 사용하여 변경 내용을 미리 검토하고 승인할 수 있습니다.
- 스택 삭제 시 DeletionPolicy 속성을 사용하여 리소스의 삭제 동작을 제어할 수 있습니다.
- CloudFormation StackSets를 사용하면 여러 AWS 계정과 리전에 걸쳐 스택을 일관되게 관리할 수 있습니다.
2. AWS CloudTrail

- AWS CloudTrail은 AWS 계정의 API 호출과 관련 이벤트를 기록하고 모니터링하는 서비스입니다.
- 사용자, 역할, AWS 서비스에 의한 모든 작업이 CloudTrail 이벤트로 기록됩니다.
- 이벤트 로그는 S3 버킷에 저장되며, 암호화와 버전 관리를 통해 안전하게 보호할 수 있습니다.
- CloudTrail 이벤트는 AWS CloudWatch Logs와 통합하여 실시간으로 모니터링하고 알람을 설정할 수 있습니다.
- 예시: 보안 감사, 규정 준수 모니터링, 문제 해결, 사용자 활동 추적 등
2.1. CloudTrail 이벤트 유형
- 관리 이벤트(Management Events): AWS Management Console, AWS CLI, AWS SDK를 통한 제어 플레인 작업을 기록합니다.
- 데이터 이벤트(Data Events): Amazon S3 객체 레벨 작업, AWS Lambda 함수 실행 등 데이터 플레인 작업을 기록합니다.
- Insights 이벤트(Insights Events): 비정상적인 활동을 탐지하고 기록합니다.
2.2. CloudTrail 이벤트 분석
- AWS CloudTrail 콘솔에서 이벤트 히스토리를 검색하고 필터링할 수 있습니다.
- Amazon Athena를 사용하여 CloudTrail 로그를 대화형으로 분석할 수 있습니다.
- AWS CloudWatch Logs Insights를 통해 CloudTrail 이벤트를 시각화하고 쿼리할 수 있습니다.
- 타사 SIEM(Security Information and Event Management) 도구와 연동하여 통합 보안 모니터링이 가능합니다.
3. AWS Config

- AWS Config는 AWS 리소스의 구성을 지속적으로 평가, 감사, 모니터링하는 서비스입니다.
- 리소스 구성의 변경 내역을 기록하고, 구성 항목(Configuration Items)의 스냅샷을 저장합니다.
- AWS 관리형 규칙과 사용자 지정 규칙을 사용하여 리소스 구성의 규정 준수 여부를 평가할 수 있습니다.
- 규칙 위반 시 알림을 전송하거나 자동 교정 작업을 수행할 수 있습니다.
- 예시: 보안 그룹 규칙 감사, 미사용 EBS 볼륨 탐지, 태그 정책 준수 확인 등
3.1. AWS Config 규칙
- AWS Config는 다양한 관리형 규칙을 제공하며, 사용자 지정 규칙을 생성할 수도 있습니다.
- 관리형 규칙은 AWS 모범 사례와 일반적인 규정 준수 요구 사항을 반영합니다.
- 사용자 지정 규칙은 AWS Lambda 함수를 사용하여 구현하며, 특정 비즈니스 요구 사항을 충족할 수 있습니다.
- 규칙은 리소스 유형, 리소스 ID, 태그 등을 기반으로 범위를 지정할 수 있습니다.
3.2. AWS Config 통합
- AWS Config는 AWS Security Hub, AWS Systems Manager, AWS CloudFormation 등 다른 AWS 서비스와 통합됩니다.
- AWS Security Hub를 통해 여러 계정의 Config 규칙 준수 현황을 중앙 집중식으로 모니터링할 수 있습니다.
- AWS Systems Manager와 연계하여 규칙 위반 시 자동화된 교정 작업을 수행할 수 있습니다.
- AWS CloudFormation과 통합하여 리소스 프로비저닝 시 Config 규칙을 자동으로 적용할 수 있습니다.
4. Amazon CloudWatch

- Amazon CloudWatch는 AWS 리소스와 애플리케이션을 실시간으로 모니터링하는 서비스입니다.
- 지표(Metrics), 로그(Logs), 이벤트(Events), 경보(Alarms) 등의 기능을 제공합니다.
- EC2 인스턴스, EBS 볼륨, RDS 인스턴스, Lambda 함수 등 다양한 AWS 서비스와 연동됩니다.
- 사용자 지정 지표를 정의하여 애플리케이션 레벨의 모니터링도 가능합니다.
- 예시: 리소스 사용량 추적, 애플리케이션 로그 분석, 이상 징후 탐지, 자동 조치 수행 등
4.1. CloudWatch 지표
- CloudWatch는 AWS 서비스의 성능과 운영에 대한 시계열 데이터인 지표를 수집합니다.
- CPU 사용률, 네트워크 입출력, 디스크 읽기/쓰기 등 다양한 기본 지표를 제공합니다.
- 사용자 지정 지표를 게시하여 애플리케이션 레벨의 측정치를 모니터링할 수 있습니다.
- 지표에 대한 통계(평균, 최솟값, 최댓값 등)를 계산하고, 그래프로 시각화할 수 있습니다.
4.2. CloudWatch 로그
- CloudWatch Logs를 사용하여 EC2 인스턴스, 컨테이너, Lambda 함수 등에서 생성된 로그를 수집, 모니터링, 저장할 수 있습니다.
- 로그 그룹(Log Groups)과 로그 스트림(Log Streams)을 사용하여 로그를 구성하고 액세스를 제어합니다.
- 로그 데이터를 실시간으로 검색, 필터링하고 CloudWatch Logs Insights를 통해 쿼리할 수 있습니다.
- 로그 보존 기간을 설정하여 비용을 최적화할 수 있습니다.
4.3. CloudWatch 경보
- CloudWatch 경보를 사용하여 지표나 로그의 특정 조건을 감지하고 알림을 보낼 수 있습니다.
- 지표 경보(Metric Alarms)는 지표 값이 지정된 임계값을 초과하거나 미달할 때 트리거됩니다.
- 복합 경보(Composite Alarms)는 여러 경보의 논리 조건에 따라 트리거됩니다.
- 경보 상태 변경 시 Amazon SNS 주제, Auto Scaling 정책, EC2 작업 등을 통해 알림을 보내거나 자동 조치를 수행할 수 있습니다.
정리
AWS 관리 및 거버넌스 도구는 클라우드 환경에서 인프라와 애플리케이션을 효과적으로 관리, 모니터링, 제어할 수 있게 해줍니다. CloudFormation을 통해 인프라를 코드로 관리하고, CloudTrail로 API 호출을 추적하며, Config로 리소스 구성을 감사하고, CloudWatch로 실시간 모니터링과 알람을 설정할 수 있습니다.
이러한 도구를 적절히 활용하면 수동 작업을 최소화하고, 운영 효율성을 높이며, 보안과 규정 준수를 강화할 수 있습니다. 또한, 각 도구를 서로 연계하여 통합된 관리 체계를 구축할 수 있습니다. AWS 모범 사례와 조직의 요구 사항에 맞게 관리 및 거버넌스 도구를 구성하고 활용하는 것이 중요합니다.
댓글