안녕하세요.
이번시간에는 아마존 클라우드 서비스(이하 aws)에 외부 통신이 되는 VPC를 생성하는 과정을 소개합니다. 통신 테스트는 글에는 생략되어 있지만 영상(10:53)에서 확인 가능합니다.
▶영상: https://youtu.be/SJWmWwVIH2g
1. VPC란?
aws공식 홈페이지를 참조하면 VPC는 aws에서 동작하는 가상 네트워크(Virtual Private Cloud)입니다. VPC는 외부와 통신하기 위해서 인터넷 게이트웨이를 연결합니다.
aws에서 생성한 리눅스 등 ec2는 default VPC안에 위치하게 됩니다.
2. 외부와 통신하기 위한 VPC 최소 구조
당연히 VPC가 필요하고 서브넷, 인터넷 게이트웨이, 라우팅 테이블 설정이 필요합니다.
3. VPC생성
VPC -> Your VPCs메뉴로 이동한 후 Create VPC를 클릭합니다.
Name에는 VPC이름, IPv4 CIDR Block에는 VPC 네트워크 영역을 적습니다.
CIDR은 가상 네트워크 IP대역이을 의미하고 RFC1918 표준에 따라 A,B,C급 private IP영역을 설정해줘야 합니다.
가상 네트워크에 할당 할 수 있는 IP총 개수는 https://www.ipaddressguide.com/cidr에서 쉽게 확인할 수 있습니다. 예를 들어 10.0.0.0/16는 총 65536개 IP를 할당할 수 있습니다.
[그림 3]입력이 끝나고 Create VPC버튼을 클릭하면 VPC가 생성이 되었습니다.
4. 서브넷(subnet) 생성
서브넷은 VPC가 관리하는 네트워크 영역입니다. 실제 EC2 인스턴스는 서브넷에 존재합니다. 서브넷은 VPC에 속하면서 aws의 availability zone(이하 az)에 포함됩니다.
VPC -> subents 메뉴로 이동한 후 Create subent 버튼을 클릭합니다.
[그림 6]에서 생성한 VPC를 선택하고 az를 선택합니다. 그리고 서브넷에 할당할 IP대역을 입력합니다. 보통 CIDR을 24로 설정합니다.
모든 설정을 마친 후 Create subnet을 클릭하면 서브넷이 생성됩니다.
5. 인터넷 게이트웨이 생성
생성한 VPC와 서브넷은 아마존 클라우드 내부에서만 통신이 가능합니다. 즉, 외부와 통신이 단절된 상태입니다.
인터넷 게이트웨이는 VPC를 외부와 통신을 가능하게 합니다.
VPC->Internet gateway메뉴로 이동 한 후 Create Internet gateway버튼을 클릭합니다.
이름만 입력하면 모든 설정이 끝납니다. Create internet gatway버튼을 클릭하여 인터넷 게이트웨이를 생성합니다.
6. 인터넷 게이트웨이에 VPC과 서브넷 연동 설정
VPC에 인터넷 게이트웨이를 연결해줍시다. 생성된 인터넷 게이트웨이에서 오른쪽 버튼을 클릭한 후 Attach to VPC메뉴를 클릭합니다.
그림6에서 생성한 VPC를 선택하고 Attach Internet gateway버튼을 클릭합니다.
VPC와 인터넷 게이트웨이가 성공적으로 연결되었으면 상태가 Attached로 표시됩니다.
VPC는 인터넷게이트와 연결이 되었지만 서브넷은 아직 연결이 되지 않았습니다. 서브넷 연결 설정은 route table에서 합니다. [그림 10]에서 생성한 서브넷을 클릭하고 Route table을 보면 VPC와 연결되어 있는 것을 확인할 수 있습니다. 이제 여기에 [그림 15]에서 생성한 인터넷 게이트웨이를 추가해야 합니다.
route table이름을 클릭하면 route table페이지로 이동됩니다. 하단에 Route table메뉴에서 Edit routes버튼을 클릭합니다.
Add route버튼을 클릭하고 [그림 18]처럼 설정하고 save route버튼을 클릭합니다.
성공적으로 추가되었으면 서브넷 route table에서 인터넷 게이트웨이가 보입니다.
참고자료
[1] aws vpc 공식문서: https://docs.aws.amazon.com/ko_kr/vpc/latest/userguide/VPC_Subnets.html
[2] CIDR 계산기: https://www.ipaddressguide.com/cidr
'전공영역 공부 기록' 카테고리의 다른 글
리눅스 base64인코딩 사용시 주의사항 (0) | 2020.12.24 |
---|---|
파이썬 부모 디렉터리 경로 구하기 (0) | 2020.12.22 |
파이썬 - json을 파일로 저장할 때 공백 크기 설정 (0) | 2020.12.15 |
파이썬 경로를 다룰떄 유용한 함수(os.path.join) (0) | 2020.12.14 |
kubeadm을 이용한 쿠버네티스 설치 (0) | 2020.12.14 |