템플릿 • 인스턴스 유형 : CPU, 메모리와 같은 하드웨어의 조합 • 스토리지 옵션 : 인스턴스 스토어 볼륨, EBS 볼륨으로 구분되며, EC2 인스턴스의 저장 공간 • 보안 그룹 : EC2 인스턴스에 대한 네트워크 트래픽을 제어하는 가상 방화벽 • 키 페어 : EC2 인스턴스 접속에 사용되는 키 가상 클라우드 서버, 아마존 EC2 5
빠른 아마존 EC2 구축을 위해 선택할 수 있는 AMI입니다. • 내 AMI : 내가 직접 만든 AMI입니다. • AWS Marketplace AMI : 기업이 만든 AMI이며, OS를 포함하여, 워드프레스와 같은 다양한 소프트웨어가 설치된 AMI를 사용해볼 수 있습니다. • 커뮤니티 AMI : 사용자가 만든 AMI이며, AWS에 의해 검토를 받은 AMI가 아니기 때문에 사용에 주의가 필요합니다. AMI
: t2.micro, t3.micro, c5a.xalrge • 인스턴스 패밀리 : 사용 사례를 기준으로 범용, 컴퓨팅 최적화, 메모리 최적화, 스토리지 최적화, 그리고 가속화된 컴퓨팅과 같은 다양한 유형으로 분류 • 인스턴스 세대 : 숫자가 큰 쪽이 최신 세대 • 인스턴스 옵션 : 옵션이 없는 인스턴스 유형도 있습니다. • 인스턴스 크기 : CPU와 메모리에 따라 인스턴스 크기가 분류 ※ 인스턴스 크기는 nano → micro → medium → small → large →xlarge → 2xlarge 순으로 이어집니다.
스토리지 옵션을 선택할 수 있습니다. • 인스턴스 스토어 볼륨, EBS 볼륨 인스턴스 스토어 볼륨 특징 • 인스턴스 스토어 볼륨 = 휘발성 스토리지 • 임시 스토리지 용도로 적합 • 인스턴스 중지·삭제 시 데이터 손실 • 백업 불가 → 복구 불가능 • 인스턴스에서 분리 불가 • EBS보다 높은 IOPS / 처리량 / 낮은 지연 시간 • 높은 I/O 성능이 필요한 스토리지에 이상적 ※ IOPS (Input/Output Operations Per Second) : 초당 처리 가능한 I/O 작업 수를 의미, 예를 들어, 읽기/쓰기 요청을 1초에 몇 번이나 처리할 수 있는지 보여주는 성능 지표
→ 프라이빗 IP만 할당, 외부와 직접 통신 불가 • 해당 프라이빗 IP는 서브넷 내에서 고정되어 변경되지 않음 • 퍼블릭 서브넷 EC2 → 퍼블릭 + 프라이빗 IP 할당 • 퍼블릭 IP는 재부팅/재시작 시 변경될 수 있음 • 고정 IP 필요 시 탄력적 IP(Elastic IP)를 사용하여 안정적 식별 가능 프라이빗 서브넷
= 퍼블릭 서브넷에 EC2를 두고 퍼블릭 IP를 통해 인터넷에서 직접 접근 보안 위험 → 외부 노출이 되므로 운영 환경에서는 잘 쓰지 않음 활용 사례 • Bastion Host(점프 서버)로 사용 → 프라이빗 서브넷에 있는 서버로 접속하기 위한 발판 • 단순 테스트·학습 목적
콘솔에서 접속 • VPC 내에서 NAT 게이트웨이를 생성해야 함 • EC2 인스턴스에 세션 매니저 사용 권한 부여 필요 • EC2가 내부에서 Systems Manager와 통신 가능해야 함 • 따라서 인터넷 게이트웨이(IGW) 또는 NAT 게이트웨이를 통해 인터넷 연결이 필수 ※ 세션 매니저는 보안 그룹 설정 없이 접속 가능
접속 = 로컬 PC에서 CLI로 포트 포워딩 세션 생성 후 EC2에 접속 • 관리 콘솔 로그인 불필요 → 로컬에서 직접 접속 가능 • 세션 매니저 터널 → 로컬 PC와 AWS 간 안전한 연결 제공 • 활용 사례 ◦ 원격 디버깅 ◦ 내부 시스템 접근 ◦ 보안이 강화된 원격 접속 환경 구축
AMI: 인스턴스 시작 템플릿 • 인스턴스 유형: CPU/메모리 조합 • 스토리지 : 인스턴스 스토어, EBS • 보안 그룹: 네트워크 방화벽 • 키 페어: 접속 인증 EC2 접속 방식 • 인터넷 직접 접속 • 인스턴스 연결 엔드포인트(EIC) • 세션 매니저 (콘솔 접속) • 세션 매니저 (포트 포워딩)
인스턴스 클래스 : 성능 패키지 (예: t3, m5, r6g) • 인스턴스 크기 : 리소스 크기 구분 (예: small, medium, large) • 인스턴스 유형 : 클래스 + 크기 조합 (예: t3.small) ◦ 일반적으로 nano ~ 2xlarge 범위를 제공하지만, 클래스마다 지원하는 크기 옵션은 다를 수 있음
SSD(gp2, gp3) : 비용, 성능 면에서 밸런스가 잡혀 있으며, 폭 넓게 사용 가능 • 프로비저닝된 IOPS(io1) : 낮은 대기 시간과 높은 I/O 성능이 요구되는 데이터베이스에 적합 • 마그네틱 : 데이터의 액세스 빈도가 낮은 상황에서 사용하지만 구 세대 유형이기 때문에 권장하 • 지 않음
DB 그룹 • 서브넷 그룹 : 서브넷의 집합을 의미하며, 해당 그룹에 속한 서브넷에 아마존 RDS가 생성됩니다. • 파라미터 그룹 : DB 엔진의 파라미터 집합을 의미하며, 시간(time_zone), 문자 집합(characterset) 등을 관리하고 있습니다. • 옵션 그룹 : 연결된 데이터베이스의 스냅샷을 관리하고, 옵션을 추가해 다른 AWS 서비스와의 상호작용을 도우며, 데이터를 더 쉽게 관리하고 보안을 강화할 수 있습니다.
• 멀티 AZ 인스턴스 ◦ 스탠바이는 대기 전용 (읽기/쓰기 불가) ◦ 장애 조치 시간: 약 1~2분 • 멀티 AZ 클러스터 ◦ 스탠바이도 읽기/쓰기 가능 ◦ 장애 조치 시간: 35초 미만 ◦ 제약 조건 ▪ 지원 DB: PostgreSQL, MySQL ▪ 마스터 + 최대 2대 DB ▪ 프로비저닝된 IOPS SSD만 지원 ▪ 기존 배포 ↔ 클러스터 간 전환 불가
접속 • RDS 생성 시 퍼블릭 서브넷 배치 및 퍼블릭 액세스 여부 선택 가능 • 퍼블릭 액세스 허용 시 → RDS에 퍼블릭 IP 할당 • 보안 그룹에 허용 IP 설정 → 해당 IP에서 접속 가능 • 장점: 간편하게 접근 가능 • 단점: DB가 외부에 노출되어 보안 위험 증가 → 권장하지 않음
객체(Object)는 버킷(Bucket)이라는 스토리지에 저장됨 • 버킷은 리전 전체에서 고유한 이름을 가짐 → 같은 이름 중복 불가 • 객체는 버킷 내에서 고유한 키(Key)를 가짐 • 같은 버킷 내에서 동일한 키로 저장 시 → 덮어쓰기 발생 • ※ 키(Key) = 객체의 이름
• 단순 파일 저장소로 사용 가능 • EC2 / RDS와 연동하여 데이터 교환 가능 • 로그 저장, 백업 스토리지 등 안정적인 백업 솔루션으로 활용 • 기본적으로 객체는 비공개 • 미리 서명된 URL(Presigned URL)을 통해 지정된 기간 동안 객체 다운로드 가능
• Amazon S3는 다양한 스토리지 클래스를 제공 • GET, PUT, POST, LIST, COPY 등 요청 수에 따라 요금 부과 • 접근 빈도가 높을수록 요청 수 증가 → 요금도 함께 증가 ◦ 따라서 접근 빈도와 요청 수를 고려해 적절한 클래스 선택 필요 • 예: 접근이 적은 객체 → 저렴한 스토리지 클래스로 이동해 비용 절감 아마존 S3
클래스(Storage Class) • S3 Standard : 범용으로 사용되며, 동적 웹사이트, 콘텐츠 배포, 모바일 및 게임 애플리케이션, 빅데이터 분석 등의 다양한 사용 사례에 적합 • S3 Infrequent Access : 액세스 빈도가 낮은 객체를 위한 스토리지 클래스이며, 백업, 재해 대책 파일 등에 적합 • S3 One Zone-IA : 액세스 빈도가 낮은 객체를 위한 스토리지 클래스이며, 로그, 자주 액세스 하지 않는 데이터의 재생성 등에 적합
S3는 객체의 버전 관리 기능을 제공 • 단일 객체의 여러 버전을 유지 가능 • 실수로 삭제·덮어쓴 객체도 복구 가능 • 버저닝 비활성화 시: ◦ 객체는 단일 버전으로 저장 ◦ 삭제·덮어쓰기 시 복구 불가 • 버저닝 활성화 시: ◦ 업로드할 때마다 새 버전 생성 ◦ 필요 시 이전 버전으로 복원 가능