AWS 실무 적용 학습

Kkd·2025년 1월 16일

AWS

목록 보기
3/11
post-thumbnail

1. 인프라 자동화

1.1 CloudFormation: 인프라를 코드로 관리 (Infrastructure as Code, IaC)

개념

  • 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로 간편히 전환.

활용 예시

  1. S3 버킷 생성:
    aws s3 mb s3://my-bucket
  2. 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 서비스가 리소스에 접근하도록 권한 위임.

활용 예시

  1. 특정 S3 버킷에만 접근 가능한 사용자 생성.
  2. 개발자 그룹에게 RDS 읽기 권한 부여.

3.2 KMS (Key Management Service): 데이터 암호화 키 관리

개념

  • KMS는 AWS 리소스에서 데이터를 암호화하고 복호화하는 데 사용하는 암호화 키를 생성하고 관리합니다.
  • 암호화 키(CMK, Customer Master Key)를 중심으로 데이터를 보호합니다.

주요 특징

  • 암호화 지원: S3, RDS, EBS 등 AWS 서비스와 통합.
  • BYOK 지원: 사용자가 자체적으로 만든 키를 가져와 관리 가능.
  • 접근 제어: IAM 정책과 통합하여 암호화 키의 사용을 제어.

활용 예시

  1. S3 객체 암호화.
  2. RDS 데이터베이스의 암호화 및 복호화.

3.3 AWS WAF (Web Application Firewall): 웹 애플리케이션 방화벽 설정

개념

  • AWS WAF는 웹 애플리케이션에 대한 악성 트래픽을 필터링하고 보호하는 방화벽 서비스입니다.

주요 특징

  • IP 차단: 악성 IP의 요청을 차단.
  • SQL 인젝션 방지: 공통적인 웹 공격 패턴 방어.
  • 사용자 지정 규칙: 특정 조건에 따라 필터링 규칙 작성.

활용 예시

  • DDoS 공격으로부터 웹 애플리케이션 보호.
  • 특정 국가나 IP에서의 요청 제한.

추가 학습 자료

profile
🌱

0개의 댓글