TIL - 20250925

juni·2025년 9월 25일

TIL

목록 보기
136/316

0925 AWS : EC2 운영 및 EBS 스토리지


✅ 1. EC2 인스턴스에 역할(Role) 부여하기

  • 문제점: EC2 인스턴스에서 실행되는 애플리케이션이 다른 AWS 서비스(e.g., S3, DynamoDB)에 접근해야 할 때, IAM 사용자의 액세스 키(Access Key)를 코드나 설정 파일에 하드코딩하는 것은 심각한 보안 위협입니다.

  • 해결책 (IAM Role): IAM 역할(Role)은 EC2 인스턴스에게 AWS 서비스에 접근할 수 있는 임시 권한을 부여하는 안전한 방법입니다.

    1. 역할 생성: IAM에서 특정 권한(Policy)을 가진 역할을 생성합니다. 이때, 이 역할을 사용할 주체(Principal)를 "EC2 서비스"로 지정합니다.
    2. 역할 연결: EC2 인스턴스를 생성하거나, 생성된 후에도 이 역할을 인스턴스에 연결(Attach)할 수 있습니다.
    3. 임시 자격 증명: 역할이 연결된 EC2 인스턴스는 AWS SDK나 CLI를 통해 다른 서비스에 접근할 때, 자동으로 임시 보안 자격 증명을 받아 사용합니다.
    • 핵심 장점: 액세스 키와 같은 장기 자격 증명을 코드에서 완전히 제거하여, 키 유출의 위험을 원천적으로 차단하고 보안을 크게 강화할 수 있습니다.

✅ 2. 탄력적 IP (Elastic IP)와 보안 그룹 심화

➕ 탄력적 IP (Elastic IP Address)

  • 개념: 동적으로 변화하는 클라우드 컴퓨팅 환경을 위해 설계된 고정적인 퍼블릭 IPv4 주소입니다.
  • 문제점: 기본적으로 EC2 인스턴스를 중지했다가 다시 시작하면 퍼블릭 IP 주소가 변경됩니다. 이로 인해 DNS 레코드나 방화벽 규칙을 매번 수정해야 하는 번거로움이 발생합니다.
  • 해결책:
    1. 탄력적 IP 주소를 계정에 할당받습니다.
    2. 이 주소를 특정 EC2 인스턴스에 연결(Associate)합니다.
    • 이제 해당 인스턴스는 중지/시작과 관계없이 항상 동일한 고정 IP 주소를 유지하게 됩니다.
  • 주의사항: 탄력적 IP는 실행 중인 인스턴스에 연결되어 있을 때는 무료이지만, 할당만 받고 사용하지 않거나 중지된 인스턴스에 연결해두면 소액의 비용이 발생합니다. 이는 IPv4 주소 고갈 문제 때문입니다.

➕ 보안 그룹 (Security Group)

  • 개념: 인스턴스 수준에서 동작하는 상태 저장(Stateful) 가상 방화벽입니다.
  • 상태 저장 (Stateful)의 의미: 인바운드(Inbound) 규칙에서 허용된 요청에 대한 응답 트래픽은, 별도의 아웃바운드(Outbound) 규칙 없이도 자동으로 허용됩니다.
    • 예시: 인바운드 규칙에 "HTTP (80번 포트) 허용"이 있다면, 사용자가 웹 서버에 접속한 후 웹 서버가 사용자에게 보내는 응답 데이터는 아웃바운드 규칙에 상관없이 자동으로 허용됩니다.
  • 규칙: 기본적으로 모든 인바운드 트래픽은 거부(Deny)되고, 모든 아웃바운드 트래픽은 허용(Allow)됩니다. 우리는 필요한 인바운드 트래픽만 허용하는 규칙을 추가해야 합니다.

✅ 3. EC2 인스턴스 구매 옵션 (비용 최적화)

  • AWS는 사용자의 워크로드 패턴에 따라 다양한 EC2 구매 옵션을 제공하여 비용을 최적화할 수 있도록 돕습니다. (AWS 자격증 시험 단골 주제)
구매 옵션특징사용 사례
온디맨드 (On-Demand)약정 없이, 사용한 시간만큼 초 단위로 비용 지불• 예측 불가능한 단기 워크로드
• 개발 및 테스트 환경
예약 인스턴스 (Reserved Instances, RI)1년 또는 3년 기간으로 특정 인스턴스 사용을 약정하여 대폭 할인• 사용량이 예측 가능한 안정적인 워크로드
• 항상 실행되어야 하는 운영 데이터베이스
Savings Plans특정 인스턴스 유형이 아닌, 시간당 특정 컴퓨팅 사용량(e.g., $10/hour)을 약정하여 할인• RI보다 유연함
• 인스턴스 유형을 변경할 가능성이 있을 때
스팟 인스턴스 (Spot Instances)AWS의 남는 EC2 용량을 경매 방식으로 매우 저렴하게(최대 90% 할인) 사용. 단, AWS가 해당 용량을 필요로 하면 2분 전 통보 후 인스턴스가 중단될 수 있음• 중단되어도 괜찮은 배치 작업, 데이터 분석
• CI/CD 빌드 서버

✅ 4. EBS (Elastic Block Store): EC2의 영구 스토리지

  • EBS는 EC2 인스턴스에 연결하여 사용할 수 있는 블록 수준의 영구 스토리지 볼륨입니다. EC2 인스턴스의 "가상 하드 디스크"라고 생각할 수 있습니다.

➕ 주요 특징

  1. 영속성 (Persistence): EBS 볼륨은 EC2 인스턴스의 생명주기와 독립적입니다. 즉, 인스턴스가 중지되거나 종료되어도 EBS 볼륨의 데이터는 그대로 유지됩니다. (단, 인스턴스 종료 시 볼륨 삭제 옵션을 선택하지 않았을 경우)
  2. 가용 영역(AZ) 종속성: EBS 볼륨은 특정 가용 영역(AZ) 내에 생성되며, 해당 AZ에 있는 EC2 인스턴스에만 연결할 수 있습니다. 다른 AZ의 인스턴스에 연결하려면 스냅샷을 이용해 복제해야 합니다.
  3. 스냅샷 (Snapshot): 특정 시점의 EBS 볼륨을 S3에 백업하는 기능입니다. 이 스냅샷을 사용하여 새로운 EBS 볼륨을 생성하거나, 다른 리전/AZ로 데이터를 복제할 수 있어 데이터 백업 및 재해 복구에 매우 중요합니다.
  4. 다양한 볼륨 유형: 워크로드의 성능 및 비용 요구사항에 따라 다양한 유형의 EBS 볼륨을 선택할 수 있습니다. (e.g., gp2/gp3: 범용 SSD, io1/io2: 고성능 프로비저닝된 IOPS SSD)

📌 요약

  • EC2 인스턴스에 IAM 역할(Role)을 부여하면, 액세스 키 없이도 다른 AWS 서비스에 안전하게 접근할 수 있습니다.
  • 탄력적 IP는 EC2 인스턴스에 고정 IP를 제공하며, 보안 그룹상태 저장(Stateful) 방식의 가상 방화벽으로 동작합니다.
  • EC2는 온디맨드, 예약, 스팟 등 다양한 구매 옵션을 통해 워크로드에 맞게 비용을 최적화할 수 있습니다.
  • EBS는 EC2의 영구적인 가상 하드 디스크로, 인스턴스가 종료되어도 데이터를 보존하며, 스냅샷을 통해 데이터를 안전하게 백업할 수 있습니다.

0개의 댓글