23.08.04
1. Virtual Private Cloud
1-1. VPC
VPC(Virtual Private Cloud, 가상 사설 클라우드) : AWS에서 제공하는 클라우드 컴퓨팅 리소스를 사용할 수 있는 가상의 사설 네트워크
VPC의 역할
- IP 주소 범위, 라우팅 테이블, 서브넷 및 보안 그룹을 설정
- 가상 서버, 스토리지 및 데이터베이스와 같은 다양한 AWS 리소스를 시작하고 관리

1-2. 서브넷, 게이트웨이, NAT
서브넷 : VPC 내에서 IP 주소 범위를 지정하는 가상의 네트워크
- 서브넷은 라우팅 테이블에 연결되며, 각 서브넷은 하나의 라우팅 테이블에만 연결될 수 있음
- 서브넷을 사용하면 VPC 내에서 다른 서브넷과 격리된 가상 네트워크를 생성할 수 있음
퍼블릭 서브넷 : 인터넷 게이트웨이(IGW)와 연결된 서브넷
- 인터넷에서 직접 액세스할 수 있는 인스턴스를 실행할 수 있음
- 이러한 인스턴스는 공인 IP 주소를 사용하며, 인터넷 게이트웨이를 통해 인터넷으로 트래픽을 보낼 수 있음
프라이빗 서브넷 : 인터넷과 직접 연결되지 않는 가상의 네트워크
- 인터넷에 직접 액세스할 수 없음
- 대신, NAT 게이트웨이를 사용하여 인터넷을 통해 인스턴스에 연결하거나, VPC 피어링 등을 사용하여 다른 VPC와 연결할 수 있음
라우팅 테이블 : VPC 내에서 트래픽이 전달되는 방법을 제어하는 데 사용
- 라우팅 테이블은 서브넷과 연결되며, 각 서브넷에는 하나의 라우팅 테이블이 있어야 함
IGW (Internet Gateway) : VPC와 인터넷 간의 통신을 가능하게 하는 게이트웨이
NAT (Network Address Translation) Gateway : 프라이빗 서브넷에서 아웃바운드 인터넷 트래픽을 가능하게 하는 서비스
2. Simple Storage Service
2-1. S3
S3 : 인터넷 스토리지 서비스로, 개발자나 IT 운영자가 웹 규모 컴퓨팅 작업을 수행하는 데 필요한 데이터 저장 공간을 제공
(정적 웹 사이트 호스팅, 온라인 백업, 데이터 아카이브, 기업 애플리케이션, Big Data 분석 등 다양한 용도로 사용)
S3 서비스의 사용 예
- 웹 사이트 호스팅
- 멀티미디어 파일 저장 및 스트리밍
- 애플리케이션 데이터 저장
- 백업 및 복원
- 아카이브
S3 서비스의 장점
- 높은 내구성, 가용성 및 안정성
- 손쉬운 사용 및 관리
- 보안성
- 높은 확장성
2-1. Buckets
Buckets : 데이터를 저장하는 가장 상위 레벨의 폴더 형태의 컨테이너
S3에 저장되는 파일들을 ‘객체’ 라고 부르고 모든 객체는 ‘키’(디렉토리)로 식별
Amazon S3에서의 버킷의 목적
- 데이터를 저장하는 컨테이너 역할
- 객체에 대한 공용 또는 개인적인 접근 권한을 설정하기 위한 위치
- 객체에 대한 특별한 이벤트 알림을 설정하기 위한 위치
- AWS 계정에서 버킷 및 객체 사용에 대한 비용 추적 및 모니터링을 위한 위치
버킷 네이밍 컨벤션
- 대문자 금지, 언더스코어 금지
- 글자 수 3자 ~ 63자 사이
- 두 마침표를 나란히 붙여 사용 X
- IP 주소 형식(예: 192.168.5.4) X
2-2. Buckets Policy
버킷 폴리시
- IAM과 유사하며 JSON 형식의 문서
- 버킷의 모든 객체에 대한 액세스를 제어할 수 있음
- 특정 객체 또는 객체 그룹에 대한 액세스를 제어할 수 있음
- 액세스를 허용하는 IP 주소 또는 범위를 지정할 수 있음
- 액세스할 수 있는 리소스의 범위를 제한할 수 있음
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowUserToGetBucket",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::ACCOUNT-ID:user/USERNAME"
},
"Action": "s3:GetBucketLocation",
"Resource": "arn:aws:s3:::BUCKET-NAME"
}
]
}
ARN : AWS에서 사용하는 고유한 식별자로 AWS의 모든 리소스에 대한 고유한 식별자 역할
ACL(Access Control List) : 접근 권한을 가진 경우들을 명시
+) S3로 정적 웹사이트 배포하기
3. Cloudfront
3-1. Content Delivery Network
장점
- 향상된 속도 : 지리적으로 가까운 서버에 캐싱된 데이터를 갖고 오기 때문에 무척 빠르다.
- 안전 : CDN 서비스를 해주는 업체에서 방화벽을 제공할 뿐만 아니라 DDoS 공격이 와도 서버가 분산되어 있고 캐시기능으로 오리진 서버 트래픽은 늘어나지 않는다.
단점
- 캐시 : 최신 동적 컨텐츠를 제공해야하는 경우에 적합하지 않다.
- 비용이 추가 발생한다
3-2. Cloudfront
Cloudfront 사용
Architecture
Route53 → Cloudfront → S3
Route53과 Cloudfront가 연결되기 때문에 더이상 버킷이름을 도메인명과 맞출 필요가 없음
Invalidation
캐싱이 되어있는 cdn을 초기화하는 방법
를 사용하여 여러 개의 객체를 동시에 무효화할 수 있음
4. Elastic Beanstalk
4-1. EBS 등장배경
- Public Subnet: 로드 밸런서
- Private Subnet: 비즈니스 로직을 처리하는 레이어입니다. 보통 웹 애플리케이션 서버
- Data Subnet: 데이터를 저장하는 레이어입니다. 보통 데이터베이스 서버, 파일 서버 등이 사용
EBS는 개발자 관점으로 AWS를 접근
- DB설정, 로드밸런서 자동 설정
- 그러면서 자동으로 스케일링(확장성)을 지원
4-2. EBS 개념
- Application
- 애플리케이션 코드, 구성 및 관련 파일
- Elastic Beanstalk는 다양한 프로그래밍 언어와 프레임워크를 지원
- Environment
- Amazon EC2 인스턴스, 데이터베이스 인스턴스, 로드 밸런서 등