AWS(Amazon Web Services)는 amazon.com에 제공하는 클라우드 컴퓨팅 플랫폼을 구성하는 원격 컴퓨팅 서비스들의 집합임. 클라우드 컴퓨팅 플랫폼 서비스를 처음 시작하여 현재까지도 압도적인 세계 1위 점유율을 유지중(업계 표준).
Amazon Virtual Private Cloud. AWS의 가상 사설 네트워크로, AWS에서 생성되는 대부분의 인스턴스들은 기본적으로 이 VPC를 통해 네트워크에 연결된다.
위 그림은 VPC 구성의 예시이다.
다시 말해 VPC는 사용자의 AWS 계정 전용 가상 네트워크 망으로, 리전별로 부여되는 리전 서비스이다.
VPC -> VPC
에서 VPC를 생성하고 관리할 수 있음. CIDR 블록으로 IP 범위 지정.
Sub Network. VPC를 더 작은 범위의 네트워크로 나눈 것으로, VPC와 달리 AZ 서비스이다.
VPC -> 서브넷
에서 서브넷을 생성하고 관리할 수 있음. VPC를 지정하고 CIDR 블록으로 IP 범위 지정.
네트워크 트래픽 전달 규칙을 정의하는 테이블. Subnet별로 라우팅 테이블을 정의하여 Destination(IP범위)으로 향하는 트래픽이 어떤 Target(local, GW 등)으로 전달될지를 지정한다.
AWS에서는 CIDR 표기법을 통해 VPC, Subnet 등의 IP 주소 범위를 지정할 수 있다.
CIDR 표기법은 네트워크 식별자 비트를 지정된 형식으로 나타내는 IP 및 접미사로, 예를 들어 192.168.1.0을 22비트 네트워크 식별자를 사용하여 192.168.1.0/22로 표현할 수 있다.
보안 그룹. 인스턴스의 inbound/outbound 트래픽 제어에 사용. 기존의 방화벽(FW)과 유사한 용도.
유사하게 Subnet의 트래픽을 allow/deny할 수 있는 NACL
이 있으며, 기존 라우터의 ACL과 유사한 용도임. 간단한 규칙은 NACL을 통해, 인스턴스별 세부 규칙은 보안 그룹을 통해 여러 단계로 접근을 제어함.
EC2 -> 보안 그룹
에서 inbound/outbound별로 프로토콜, 포트 범위, 소스IP 범위를 지정할 수 있음.
Amazon Elastic Computing Cloud. 안전하고 확장 가능한 컴퓨팅 서비스로, "인스턴스(Instances)"라는 형태로 배포됨. 가장 대표적인 AWS 서비스로, 어플리케이션을 클라우드상에 배포하고 운영하기 위한 서버 역할을 함.
사용한 만큼 (초당으로) 요금을 지불하고, ELB, Auto Scaling, S3등 다양한 서비스와 연동됨.
EC2 -> 인스턴스
에서 인스턴스명, OS 및 인스턴스 유형(하드웨어 스펙) 지정, 키페어 지정, 네트워크 설정(VPC, 서브넷, SG 등), 스토리지 지정 등을 통해 인스턴스를 생성 및 관리할 수 있으며, 지정된 키페어와 외부IP 등록으로 SSH 등으로 외부 접근하여 관리할 수 있음.
Amazon Simple Storage Service. 객체 스토리지. 서버에 사용되는 파일의 업로드, 다운로드, 검색 기능을 제공함. 무제한 용량으로 사용량에 따라 요금을 부과함.
다양한 인증/권한 부여 기능도 제공하며, 통상적으로 AWS-SDK에서 제공하는 API 형태로 접근해서 (게시판의 이미지 등) 사용자 파일을 업로드, 다운로드 및 검색하는 등으로 활용함.
리전 기반 서비스이며, 매우 안전(백업 카피가 많아 데이터 손실 위험이 낮음), CDN과 연동 가능, static web page 기능 지원 등의 특징을 지니고 있음.
Amazon S3 -> 버킷
에서 AWS 리전 설정, 버킷 이름 설정하여 버킷을 생성 및 관리할 수 있으며, 이 리전과 버킷 이름으로 외부에서 접근 가능.