IT STUDY LOG
[AWS] 06. VPC 본문
# 학습 목표
- Cloud와 Deployment의 의미를 각각 알고, 서비스를 남에게 배포할 수 있다.
- 클라우드 컴퓨팅이 무엇인지 설명할 수 있다.
- 애플리케이션 배포가 어떻게 변화되어 왔는지 이해할 수 있다.
- AWS의 각 서비스가 어떤 목적에 부합하는지 이해할 수 있다.
- S3의 목적과, 정적 웹 사이트 배포 방법을 이해할 수 있다.
- EC2의 주요 용어를 이해할 수 있다. (AMI, 인스턴스, 인스턴스 유형, 스토리지 타입, 퍼블릭/프라이빗 IP)
- EC2의 인스턴스 시작/중지/종료에 대해 이해할 수 있다.
- RDS와 EC2에서의 MySQL 사용이 어떻게 다른지 이해할 수 있다.
- CloudFront의 목적을 이해할 수 있다.
- Auto Scaling의 특징 및 역할을 알 수 있다.
- 로드 밸런서 중 ELB, 그 중에서 Application Load Balancer의 목적을 이해할 수 있다.
- AWS 인프라 중 VPC에 대해서 이해할 수 있다.
- Route 53의 목적을 이해하고, 도메인을 연결해 HTTPS로 배포할 수 있다.
- 빌드 및 배포시 필요한 환경 설정을 할 수 있다.
- 배포 시 발생하는 문제를 이해하고 고칠 수 있다.
# 학습 내용
1. VPC
가상 데이터 센터 만들기 - VPC 기본 및 연결 옵션 - 양승도 솔루션즈 아키텍트(AWS 코리아)
2. VPC 관련 개념
VPC
- Virtual Private Cloud 서비스
- 클라우드 내 프라이빗 공간을 제공해서 클라우드를 퍼블릭과 프라이빗 영역으로 논리적으로 분리
- VPC를 분리하면 확장성을 가질 수 있고, 네트워크에 대한 완전한 통제 가능
VPC가 없다면...
- 클라우드에 있는 리소스를 격리 할 수 있는 방법 없음
- 인스턴스들이 서로 거미줄처럼 연결되고 인터넷과 연결돼 시스템의 복잡도와 의존도 증가
- 유지 및 관리에 많은 비용과 노력 투입
VPC 이해를 위한 구성 요소와 주요 용어
IP Address
- IP는 컴퓨터 네트워크에서 장치들이 서로를 인식하고 통신을 하기 위해서 사용하는 특수한 번호
- 종류 : IPv4, IPv6
(ex) IPv4 : 2진수 8자리의 형태, 즉 각 8bit(Octet) 4개 총 32bit로 구성
172.16.0.010101100. | 00010000. | 00000000. | 00000000 |
IP Address Class
- 클래스 : IPv4 주소에서 호스트가 연결되어 있는 특정 네트워크를 가리키는 8비트의 네트워크 영역(Network Address)과 해당 네트워크 내에서 호스트의 주소(Host Address)를 가리키는 나머지 영역을 구분하기 위해 사용
- 클래스의 분류 : A, B, C, D, E 총 5가지 (하지만 D와 E 클래스는 멀티캐스트용, 연구 개발을 위한 예약 IP이므로 보통 사용되지 않음)
- A 클래스Network AddressHost AddressHost AddressHost Address
0-127 0-255 0-255 0-255 - B 클래스Network AddressNetwork AddressHost AddressHost Address
128-191 0-255 0-255 0-255 - C 클래스Network AddressNetwork AddressNetwork AddressHost Address
192-223 0-255 0-255 0-255
CIDR(Classless inter-domain routing)
- 사이더, 클래스 없는 도메인 간 라우팅 기법으로 1993년 도입되기 시작한 국제 표준의 IP주소 할당 방법이며, 앞서 설명한 IP 클래스 방식을 대체한 방식
- 기존에는 클래스에 따라 정해진 Network Address와 Host Address를 사용해야 했다면, CIDR은 원하는 블록만큼 Network Address를 지정하여 운용 가능
(ex) CIDR 사용 방식 : /16의 경우 첫 16bit를 네트워크 주소로 사용하겠다는 의미로, 나머지 16비트에 해당하는 2^16개의 IP 주소 할당이 가능
- CIDR 블록IP 주소의 수
/28 | 16 |
/24 | 254 |
/20 | 4094 |
/18 | 16,382 |
/16 | 65,536 |
서브넷(Subnet)
- 서브네트워크(Subnetwork)의 줄임말, IP 네트워크의 논리적인 하위 부분
- 서브넷을 통해 하나의 네트워크를 여러 개로 나누는 것이 가능
- VPC를 사용하면 퍼블릭 서브넷, 프라이빗 서브넷, VPN only 서브넷 등, 필요에 따라 다양한 서브넷 생성 가능
- 퍼블릭 서브넷 : 인터넷을 통해 연결 할 수 있는 서브넷
- 프라이빗 서브넷 : 인터넷을 연결하지 않고, 보안을 유지하는 배타적인 서브넷
- VPN only 서브넷 : 기업 데이터 센터와 VPC를 연결하는 서브넷
- 서브넷은 VPC의 CIDR 블록을 이용해 정의되며, 최소 크기의 서브넷은 /28 (주의 할 점: 서브넷은 AZ당 최소 하나를 사용할 수 있고, 여러 개의 AZ에 연결되는 서브넷은 만들 수 없음)
Tips ) AWS가 확보한 서브넷 중 처음 네 개의 IP주소와 마지막 IP주소는 인터넷 네트워킹을 위해 예약되어 있으므로 가용 IP 주소를 계산할 때 주의할 것
(ex) 10.0.0.0/24 체계의 CIDR 블록이 있는 서브넷에서 10.0.0.0, 10.0.0.1, 10.0.02, 10.0.0.3, 10.0.0.255 등 5개의 IP주소는 예약 되어 있음
라우팅 테이블(Routing Table)
- 트래픽의 전송 방향을 결정하는 라우트와 관련된 규칙을 담은 테이블
- 목적지를 향한 최적의 경로로 데이터 패킷을 전송하기 위한 모든 정보를 담고 있으며, 모든 서브넷은 라우팅 테이블을 가짐
(ex) 특정 VPC의 서브넷이 라우팅 테이블에 인터넷 게이트웨이(VPC와 인터넷 간 통신을 가능하게 하는 구성요소)를 포함하고 있다면, 해당 서브넷은 인터넷 액세스 권한 및 정보를 가지는 것
- 각각의 서브넷은 항상 라우팅 테이블을 가지고 있어야 하며, 하나의 라우팅 테이블 규칙을 여러 개의 서브넷에 연결하는 것도 가능
- 서브넷을 생성하고 별도의 라우팅 테이블을 생성하지 않으면 클라우드가 자동으로 VPC의 메인 라우팅 테이블을 연결함
# References
https://docs.aws.amazon.com/ko_kr/vpc/latest/userguide/vpc-security-groups.html
https://docs.aws.amazon.com/ko_kr/vpc/latest/userguide/VPC_Route_Tables.html
'devops bootcamp 4 > 클라우드 서비스 운영' 카테고리의 다른 글
[AWS] 08. 서비스 노출 (0) | 2023.04.17 |
---|---|
[AWS] 07. 수평확장 (0) | 2023.04.17 |
[AWS] 05. RDS 관련 개념 (0) | 2023.04.14 |
[AWS] 04. 스토리지 (0) | 2023.04.14 |
[AWS] 03. EC2 관련 개념 (0) | 2023.04.14 |