1. 인프라 자동화
개념
- CloudFormation은 인프라를 코드로 정의하고 관리할 수 있는 AWS 서비스입니다.
- 템플릿 파일(JSON 또는 YAML)을 작성하여 클라우드 리소스를 정의합니다.
- 이를 통해 인프라 배포를 자동화하고, 일관성과 재현성을 보장합니다.
주요 특징
- 템플릿 기반 관리: 네트워크, 서버, 데이터베이스 등을 코드로 작성.
- 스택(Stack) 관리: 리소스를 그룹으로 묶어 스택 단위로 배포 및 삭제.
- 변경 관리: 업데이트 시 변경 사항 미리 검토(Change Set) 가능.
활용 예시
- EC2, S3, RDS 등을 한 번에 배포.
- 동일한 인프라 환경을 여러 리전에 복제.
예시 코드 (YAML):
Resources:
MyEC2Instance:
Type: AWS::EC2::Instance
Properties:
InstanceType: t2.micro
ImageId: ami-0abcdef1234567890
1.2 AWS CLI: 터미널을 사용해 AWS 서비스 제어
개념
- AWS CLI는 터미널 명령어를 통해 AWS 리소스를 관리하고 제어할 수 있는 도구입니다.
- 프로그래밍 없이도 다양한 AWS 서비스를 자동화하거나 관리할 수 있습니다.
주요 특징
- 다양한 서비스 지원: S3, EC2, RDS, Lambda 등 AWS 대부분의 서비스 관리 가능.
- 자동화 스크립트: Bash 스크립트를 사용해 반복 작업 자동화.
- 멀티 리전 및 계정: 여러 리전 및 계정을 CLI로 간편히 전환.
활용 예시
- S3 버킷 생성:
aws s3 mb s3://my-bucket
- EC2 인스턴스 시작:
aws ec2 run-instances --image-id ami-0abcdef1234567890 --count 1 --instance-type t2.micro
2. 모니터링 및 로깅
2.1 CloudWatch: 애플리케이션과 리소스 모니터링
개념
- CloudWatch는 AWS 리소스와 애플리케이션의 성능 데이터를 모니터링하는 서비스입니다.
- 메트릭, 로그, 이벤트를 수집하고 시각화하여 실시간 모니터링을 지원합니다.
주요 특징
- 지표 수집: CPU 사용량, 메모리 사용량 등 리소스 메트릭 제공.
- 경보(Alarm) 설정: 특정 조건에서 알림 트리거.
- 로그 관리: 애플리케이션 로그를 수집하고 분석.
활용 예시
- EC2 CPU 사용량이 80%를 초과하면 알림을 전송.
- S3 객체 액세스 로그를 저장 및 분석.
2.2 CloudTrail: AWS API 호출 로깅
개념
- CloudTrail은 AWS 계정 내에서 이루어진 모든 API 호출 및 액션을 기록하는 서비스입니다.
- 보안 및 컴플라이언스를 위해 누가, 언제, 어떤 작업을 했는지 추적할 수 있습니다.
주요 특징
- API 호출 기록: 콘솔, CLI, SDK 등을 통한 모든 호출 기록.
- 감사 및 분석: 감사 로그를 통해 비정상 활동 탐지.
- S3 연동: 로그를 S3에 저장하고 분석.
활용 예시
- 누군가 S3 버킷 정책을 수정했는지 확인.
- 특정 사용자의 리소스 생성/삭제 기록 추적.
3. 보안
3.1 IAM (Identity and Access Management): 사용자, 그룹, 역할 설정 및 권한 관리
개념
- IAM은 AWS 리소스에 대한 액세스를 제어하는 서비스입니다.
- 사용자, 그룹, 역할을 생성하고 정책을 통해 권한을 세밀히 관리합니다.
주요 특징
- 정책 기반 권한 부여: JSON 정책 문서를 사용해 세부 권한 제어.
- 다중 인증(MFA): 추가적인 보안 계층 제공.
- 역할(Role) 활용: EC2나 Lambda 같은 AWS 서비스가 리소스에 접근하도록 권한 위임.
활용 예시
- 특정 S3 버킷에만 접근 가능한 사용자 생성.
- 개발자 그룹에게 RDS 읽기 권한 부여.
3.2 KMS (Key Management Service): 데이터 암호화 키 관리
개념
- KMS는 AWS 리소스에서 데이터를 암호화하고 복호화하는 데 사용하는 암호화 키를 생성하고 관리합니다.
- 암호화 키(CMK, Customer Master Key)를 중심으로 데이터를 보호합니다.
주요 특징
- 암호화 지원: S3, RDS, EBS 등 AWS 서비스와 통합.
- BYOK 지원: 사용자가 자체적으로 만든 키를 가져와 관리 가능.
- 접근 제어: IAM 정책과 통합하여 암호화 키의 사용을 제어.
활용 예시
- S3 객체 암호화.
- RDS 데이터베이스의 암호화 및 복호화.
3.3 AWS WAF (Web Application Firewall): 웹 애플리케이션 방화벽 설정
개념
- AWS WAF는 웹 애플리케이션에 대한 악성 트래픽을 필터링하고 보호하는 방화벽 서비스입니다.
주요 특징
- IP 차단: 악성 IP의 요청을 차단.
- SQL 인젝션 방지: 공통적인 웹 공격 패턴 방어.
- 사용자 지정 규칙: 특정 조건에 따라 필터링 규칙 작성.
활용 예시
- DDoS 공격으로부터 웹 애플리케이션 보호.
- 특정 국가나 IP에서의 요청 제한.
추가 학습 자료