1. VPC (Virtual Private Cloud)
- 정의: VPC는 AWS 클라우드에서 사용자가 설정할 수 있는 가상 네트워크 환경입니다.
- 사용자는 자신의 VPC에서 원하는 대로 네트워크를 설계하고, 서브넷, 라우팅 테이블, 게이트웨이를 설정할 수 있습니다.
VPC 주요 개념
- 리전(Region)과 가용 영역(Availability Zone, AZ):
- AWS는 전 세계에 리전을 두고 있으며, 각 리전은 2개 이상의 가용 영역(AZ)으로 나뉩니다.
- AZ는 물리적으로 분리된 데이터 센터로, 높은 가용성과 내결함성을 제공합니다.
- CIDR 블록:
- IP 주소 범위를 설정하는 방식으로, 예를 들어 10.0.0.0/16은 65,536개의 IP 주소를 포함합니다.
- 이를 서브넷으로 나눠 네트워크를 세분화할 수 있습니다.
- 서브넷(Subnet):
- VPC의 IP 주소를 기반으로 세분화된 네트워크.
- 퍼블릭 서브넷: 인터넷과 직접 연결 가능.
- 프라이빗 서브넷: 외부 인터넷에 직접 노출되지 않음.
- 라우팅 테이블:
- 네트워크 트래픽이 어디로 향해야 하는지 경로를 정의합니다.
- 기본적으로 모든 서브넷은 로컬 트래픽을 허용하지만, 외부로 나가는 트래픽은 라우팅 테이블에 추가 설정이 필요합니다.
2. 인터넷 연결
- 인터넷 게이트웨이 (IGW):
- 퍼블릭 서브넷에서 인터넷 트래픽을 주고받도록 지원합니다.
- 예: 웹 애플리케이션 서버에 필요.
- NAT 게이트웨이 (Network Address Translation):
- 프라이빗 서브넷에서 인터넷에 아웃바운드 트래픽을 보낼 수 있도록 설정.
- 외부에서 프라이빗 서브넷으로의 직접 접근은 차단됩니다.
3. 보안 설정
- 보안 그룹(Security Group):
- EC2 인스턴스와 같은 리소스에 대한 인바운드와 아웃바운드 트래픽을 제어합니다.
- 허용 규칙만 지원하며, 주로 애플리케이션 레벨에서 보안을 관리합니다.
- 예:
- HTTP(포트 80)와 SSH(포트 22) 허용 규칙 설정 가능.
- 네트워크 ACL (Access Control List):
- 서브넷 단위에서 트래픽을 허용하거나 거부.
- 보안 그룹보다 세분화된 규칙을 적용할 수 있습니다.
- 허용 및 거부 규칙 모두 지원하며, 규칙은 번호 순으로 평가됩니다.
보안 그룹 vs 네트워크 ACL
- 보안 그룹은 리소스에 적용되고, 허용 규칙만 설정 가능.
- NACL은 서브넷 단위에서 적용되며, 허용 및 거부 규칙 모두 지원.
4. VPC 간 연결
- VPC 피어링:
- 두 개의 VPC 간 프라이빗 네트워크 연결을 설정.
- 서로 다른 리전이나 계정 간에도 연결 가능.
- Site-to-Site VPN:
- 온프레미스 네트워크와 AWS VPC 간 안전한 연결을 설정.
- 인터넷을 통해 VPN 터널을 생성하여 데이터를 암호화함.
- Direct Connect:
- 인터넷을 거치지 않고 AWS와 온프레미스 네트워크를 전용 네트워크로 연결.
- 고속 데이터 전송과 보안이 필요한 경우 사용.
5. Amazon EC2 (Elastic Compute Cloud)
- 정의: AWS의 가상 서버로, 사용자가 필요에 따라 인스턴스를 생성하고 운영할 수 있는 서비스입니다.
EC2의 주요 구성 요소
- AMI (Amazon Machine Image):
- EC2 인스턴스를 생성할 때 사용하는 템플릿으로, 운영체제(OS), 애플리케이션 등을 포함.
- AMI를 사용하면 동일한 환경을 쉽게 복제 가능.
- 인스턴스 유형:
- 사용 목적에 따라 다양한 유형 제공:
- 범용 인스턴스: 일반적인 애플리케이션 실행.
- 컴퓨팅 최적화: CPU 집약적 작업.
- 메모리 최적화: 대규모 데이터 처리.
- 스토리지 최적화: 데이터베이스 및 대용량 저장.
- 사용 목적에 따라 다양한 유형 제공:
- 스토리지 옵션:
- EBS (Elastic Block Store): 블록 스토리지, 데이터베이스 등 빠른 데이터 읽기/쓰기에 적합.
- Instance Store: 임시 스토리지, 인스턴스 종료 시 데이터 삭제.
- S3(Simple Storage Service): 객체 스토리지, 데이터 백업 및 아카이빙.
- 보안:
- EC2에 연결하려면 키 페어(Key Pair)를 생성하고 SSH를 사용해 인증.
6. EC2와 VPC의 관계
- VPC는 EC2 인스턴스를 배치할 네트워크 환경을 제공합니다.
- 사용자는 EC2를 퍼블릭 서브넷에 배치해 인터넷 접근이 가능하도록 설정하거나, 프라이빗 서브넷에 배치해 내부 데이터 처리 작업에 활용할 수 있습니다.
1. AWS 스토리지 서비스 개요
AWS 스토리지는 데이터를 저장하고 관리하기 위한 다양한 유형의 서비스를 제공합니다. 주요 유형은 다음과 같습니다:
- Amazon EBS (Elastic Block Store): 블록 스토리지
- Amazon EFS (Elastic File System): 파일 스토리지
- Amazon S3 (Simple Storage Service): 객체 스토리지
2. Amazon EBS (Elastic Block Store)
EBS의 특징
- 정의: EC2 인스턴스에 연결되는 블록 스토리지 서비스.
- 특징:
- 데이터 지속성: 인스턴스를 종료해도 데이터는 유지됩니다.
- 빠른 읽기/쓰기 성능으로 데이터베이스, 로그 처리 등에 적합.
- 용도:
- 데이터베이스 저장소, 부팅 볼륨, 로그 파일 저장.
EBS 볼륨 유형
- SSD 기반 볼륨:
- 범용 SSD: 일반적인 워크로드에 적합.
- 프로비저닝된 IOPS SSD: I/O 집약적인 애플리케이션(데이터베이스)용.
- HDD 기반 볼륨:
- 처리량 최적화 HDD: 빅데이터, 로그 처리에 적합.
- 콜드 HDD: 자주 접근하지 않는 데이터 저장용.
EBS의 이점
- 데이터 백업:
- EBS 스냅샷 기능을 통해 현재 데이터를 캡처하고 복구.
- 확장성:
- 필요 시 스토리지 크기를 조정할 수 있음.
3. Amazon EFS (Elastic File System)
EFS의 특징
- 정의: 공유 파일 스토리지 서비스.
- 특징:
- 다수의 EC2 인스턴스에서 동시에 액세스 가능.
- 자동 확장: 저장 용량이 자동으로 증가 또는 감소.
- 용도:
- 애플리케이션 데이터 공유, 컨테이너 기반 작업, 분석 워크로드.
EFS와 EBS의 차이점
- EFS:
- 여러 인스턴스에서 공유 가능.
- 파일 기반 스토리지.
- EBS:
- 단일 인스턴스에 연결.
- 블록 기반 스토리지.
4. Amazon S3 (Simple Storage Service)
S3의 특징
- 정의: 객체 스토리지 서비스로 대규모 데이터를 저장하고 관리.
- 특징:
- 확장성: 페타바이트 규모의 데이터를 저장 가능.
- 내구성: 99.999999999% (11 9s) 내구성 제공.
- 다양한 스토리지 클래스 지원.
S3 스토리지 클래스
- S3 Standard:
- 자주 접근하는 데이터를 위한 높은 가용성과 내구성.
- S3 Intelligent-Tiering:
- 액세스 패턴에 따라 비용을 자동 최적화.
- S3 Standard-IA (Infrequent Access):
- 드물게 접근하는 데이터에 적합.
- S3 Glacier:
- 데이터 아카이빙 및 백업용으로 저렴.
- S3 Glacier Deep Archive:
- 가장 저렴한 옵션으로, 긴 보관 주기 데이터를 저장.
S3의 주요 기능
- 버킷: 데이터를 저장하는 컨테이너.
- 객체: S3에 저장되는 개별 데이터 단위.
- 버전 관리:
- 객체 변경 시 이전 버전을 보관.
- 수명 주기 정책:
- 데이터를 특정 기간 이후에 자동으로 아카이빙하거나 삭제.
5. 데이터 전송 및 관리
데이터 전송
- AWS Storage Gateway:
- 온프레미스 데이터와 AWS 클라우드 간 연결.
- AWS Snowball:
- 대규모 데이터를 AWS로 이동할 때 물리적 장치를 활용.
- Direct Connect:
- AWS와 온프레미스 네트워크 간 전용 연결.
데이터 보안
- 암호화:
- S3, EBS, EFS는 데이터 암호화를 기본 제공.
- 서버 측 암호화(SSE) 및 클라이언트 측 암호화 지원.
- 액세스 제어:
- IAM 정책과 S3 버킷 정책으로 데이터 접근 권한 제어.
- ACL(Access Control List)로 세부적인 접근 권한 설정.
6. 데이터 활용과 분석
S3와 데이터 분석
- AWS Glue:
- S3 데이터를 크롤링하고, ETL(추출, 변환, 적재) 작업을 지원.
- Amazon Athena:
- S3 데이터를 쿼리하는 서버리스 서비스.
백업 및 복구
- S3와 Glacier를 활용한 데이터 백업 및 장기 보관.
- 데이터 복구는 몇 분 안에 가능.
7. 스토리지 선택 기준
- EBS: EC2 인스턴스와 연계하여 높은 성능을 요구하는 애플리케이션.
- EFS: 다수의 인스턴스에서 데이터를 공유해야 하는 경우.
- S3: 대규모 데이터 저장, 분석, 장기 보관.