이번 게시글에서는 aws vpc를 구축하는 방법에 대해 정리합니다.
1. AWS VPC란
VPC는 Virtual Private Cloud의 약자로 aws 클라우드 내 독립된 섹션을 나누는 서비스 입니다.
독립된 가상 클라우드 네트워크로 리소스를 격리시킬때 사용할 수 있습니다.
VPC를 사용하여 ip대역, 인터페이스, 서브넷, 라우팅 테이블, 인터넷 게이트웨이, 보안 그룹, 네트워크 ACL 등을 제어할 수 있습니다.
(1) 서브넷
서브넷은 마스킹을 통해 네트워크 범위를 나눈 망입니다.
일반적으로 IDC의 게이트웨이(라우터)의 주소는 호스트ID로 254번을 사용하지만
AWS VPC 가상 라우터의 호스트ID는 1번이라는 특징이 있습니다.
192.168.100.25 의 IP에 255.255.255.0의 서브넷 마스크를 갖는다면
192.168.100.0 -> 네트워크주소
192.168.100.1 -> AWS VPC 가상 라우터 주소
192.168.100.2 -> AWS DNS 서버 주소
192.169.100.3 -> 향후 새로운 역할을 할 주소
192.168.100.255 -> 브로드캐스팅용 주소
(2) 라우팃 테이블
네트워크 트래픽을 전달할때 사용되는 라우팅 규칙의 집합입니다.
트래픽이 사설망 내부로 갈것인지, 외부에 나갔다 와야 하는건지 등은 라우팅 테이블에서 결정됩니다.
(3) 인터넷 게이트웨이
인터넷과 vpc의 연결을 위한 서비스입니다(퍼블릭 서브넷과 통신) api gateway, public web app 등을 띄워야 한다면 인터넷 게이트웨이가 연결된 퍼블릭 서브넷에 띄워야 합니다.
(4) NAT 게이트웨이
프라이빗 서브넷과 통신하기 위한 게이트웨이입니다
공인아이피가 없지만 nat게이트웨이를 이용하여 외부 인터넷과 통신 할수 있는 서브넷을 프라이빗 서브넷이라고 합니다.
(5) security group(sg)
outbound와 inbound 규칙을 정의하는 보안 그룹입니다.
(6) vpc endpoint
여러 aws 서비스에서 nat게이트웨이나 인터넷 게이트웨이를 거치지 않고 aws서비스와 통신하기 위한 서비스입니다.
엔트포인트(게이트웨이 엔드포인트, 인터페이스 엔드포인트)와 엔드포인트 서비스로 나뉘어집니다.
하이브리드 환경에서는 고려해줘야 하지만 클라우드만 사용한다면 처음에는 사용하지 않아도 됩니다.
2. VPC 생성하기
aws console에서 vpc 생성버튼을 누르면 다음과 같은 화면이 나옵니다.
vpc와 서브넷 생성을 눌러준후
퍼블릭 서브넷 CIDR를 지정해주고 가용영역을 설정해 줍니다.
가용영역은 실제 데이터센터의 위치이므로 고가용성을 위해서는 2개 이상의 다른 가용영역을 설정하고 분리시켜줘야합니다.
인터넷 게이트웨이가 구성되어 있어야 퍼블릭서브넷에서 외부 인터넷과 데이터교환을 할 수 있습니다.
NAT 게이트웨이는 프라이빗 서브넷에서의 아웃바운드 요청이 인터넷 게이트웨이를 통해 외부 인터넷으로 나가기 위해 사용될 수 있습니다.
(라우팅 테이블이 아웃바운드 트래픽을 NAT 게이트웨이로 보내주는 경우 프라이빗 서브넷, 인터넷게이트웨이로 보내주는 경우 퍼블릭 서브넷이라고 생각해도 됩니다)
VPC 엔드포인트는 프라이빗 VPC에서 S3나 dynamodb등 의 서비스로 직접 연결하기 위해 사용할 수 있습니다만 처음에는 사용하지 않아도 됩니다.
'aws' 카테고리의 다른 글
[aws] golang으로 aws lambda(serverless) 구축하기 (4) | 2022.04.08 |
---|
댓글