[aws] VPC, 서브넷, IGW, 라우팅 테이블 설정하기
이전 내용
[aws] route 53 으로 DNS 작업하기
이전 내용 [클라우드] 도메인 만들기 (feat. 가비아)가비아에서 도메인 만들기 클라우드 수업을 하면서, 앞으로 작업한 내용을 올려두고 포트폴리오로 사용하기 위해 도메인을 하나 만든다. ★
puppy-foot-it.tistory.com
수행 내용
AWS Console에서 VPC, 서브넷, 인터넷 게이트웨이, 라우팅 테이블을 설정해 본다.
각 단어들의 개념은 다음과 같다.
- VPC(Virtual Private Cloud): 퍼블릭 클라우드 환경에서 고객 전용으로 사용할 수 있는 사설 네트워크. 퍼블릭 클라우드의 논리적으로 격리된 섹션을 프로비저닝하여 가상 프라이빗 환경을 제공한다. 아파트로 따지면 아파트 전체 공간을 말한다. 아파트가 크면 안에 사용할 수 있는 공간의 수와 활용도가 높아지기 때문에 초기 설정 시 크기를 크게 잡는 것이 좋다.
- 서브넷(Subnet): VPC를 효과적으로 사용하기 위해 구분해서 사용하는 것으로, VPC 내에서 IP 주소를 부분적으로 분할하여 세분화한 네트워크 영역이다. 웹 서버를 집어넣어 서비스할 수 있도록 하는 역할을 한다. VPC가 아파트 전체 공간이라면 서브넷은 주방, 화장실, 안방 같은 각 공간 같은 개념이다. 서브넷의 경우, 하나의 서버가 장애가 발생했을 경우를 대비하여 이중화 시켜놓는 것이 좋다.
- 인터넷 게이트웨이(Internet Gateway, IGW): 인터넷 게이트웨이는 VPC와 인터넷 간의 통신을 활성화한다. 아파트로 따지면 출입구라고 보면 된다.
- 라우팅 테이블(routing table): 라우팅 테이블은 두 가지 역할을 하는데, 1. 서브넷이 인터넷 게이트웨이를 타고 나가 인터넷이 되도록, 2. 이중화된 서브넷끼리 통신하도록 하는 역할을 한다.
[수행 과정]
VPC 생성 → 서브넷 생성 → 인터넷 게이트웨이 생성 및 연결 → 라우팅 테이블 생성 및 연결
VPC 생성
먼저, VPC 아이콘을 클릭 (또는 검색 창에서 VPC 검색)한 뒤, [VPC 생성] 버튼 클릭
계정에 따라, default VPC가 생성되어 있는 경우도 있는데, 해당 VPC는 사용하지 않을 것이므로 VPC 체크박스를 클릭 후 [작업] - [VPC 삭제] 를 통해 삭제할 수 있다.
삭제 후, [VPC 생성] 버튼을 클릭하고 각 항목을 프로젝트에 맞게 잘 입력한다.
단, '생성할 리소스' 의 경우 'VPC만' 을 클릭하도록 한다. VPC 등 클릭 시, 프리 티어가 없으므로 추가 비용이 발생할 수 있다.
CIDR의 경우, 앞서 말했듯 VPC의 크기로써 크게 설정하는 것이 좋다고 했는데, 아래는 서브넷의 바이트에 따라 받을 수 있는 IP의 크기를 의미한다. IP의 크기 개념이 이해가 잘 안 됐는데, 질문을 통해 이해한 바로는 회사로 따졌을 때 업무를 처리할 수 있는 직원 수라고 보면 될 듯 하다.
따라서, 직원 수가 많으면 업무 처리가 빨라지나 그만큼 인건비 등의 비용이 높아질 수 있다. 대신 일반적인 상황과 다르게 업무 수가 평소와 달리 급격하게 늘어나면 (접속자 폭주 등) 처리할 수 있는 인스턴스가 많기 때문에 처리가 원활하나, 수가 낮으면 처리가 원활하지 못해 접속이 불가한 상황이 생길 수 있다.
서브넷 생성
이제 생성된 VPC 안에 서브넷을 생성해줘야 한다.
VPC 대시보드에서 좌측에 '서브넷' 이 있는데 이를 클릭하고 [서브넷 생성] 버튼을 클릭한다.
역시, 계정에 따라 디폴트 서브넷이 있을 수 있으므로 (필자의 경우엔 4개), 그 중 하나를 클릭한 뒤 [작업] - [서브넷 삭제] 를 통해 삭제해주도록 한다.
그리고나서 [서브넷 생성] 버튼을 클릭하여 서브넷 생성 작업을 진행한다.
앞서 말했듯, 서브넷의 경우 이중화를 위해 2개를 생성해 두는 것이 좋다고 했다.
'2a' 서버에 맞춰 설명하자면 ('2c'도 이름만 다르지 과정은 같다.)
먼저 서브넷 이름을 입력하고, 가용 영역에서 맞는 region 을 선택한다.
그리고나서 VPC 주소를 선택하고, 서브넷의 크기를 설정할 CIDR 블록을 설정해 준다.
당연히, 서브넷의 CIDR 블록은 VPC의 CIDR 보다 크면 안 된다. (화장실이 아파트보다 크거나, 아파트만 할 수는 없으니까)
또한, 서브넷의 CIDR 블록은 처음에 생성하면 이후 절대 변경할 수 없다. (화장실을 더 크게 지으려면 벽을 부수고 다시 지어야 하는 것과 같은 이치)
값을 다 입력하고 하단의 [서브넷 생성]을 클릭하면 1개의 서브넷이 생성된다.
다른 서브넷은 [새 서브넷 추가] 버튼을 눌러 똑같은 과정으로 진행해 주면 된다.
서브넷에서 가용한 IP 개수
서브넷 생성 시 '/24' 로 지정하게 되면 255개의 IP를 사용할 수 있는데, 그 중 4개는 이미 예약되어 있는 IP로써 총 251개의 IP를 사용할 수 있다.
[예약된 IP 주소]
IP 맨 마지막 자리수가 0, 1, 2, 3, 255 등 (5개 IP)
예를 들어, 서브넷 CIDR이 10.0.0.0/24 인 경우,
- 10.0.0.0: 네트워크 주소
- 10.0.0.1: VPC 라우터용으로 예약된 주소
- 10.0.0.2: AWS에서 예약된 DNS 주소.
- 10.0.0.3: AWS에서 향후 사용을 위하여 예약된 주소
- 10.0.0.255: 브로드캐스트 주소, VPC에서는 브로드캐스트를 지원하지 않으며 AWS에서 예약
인터넷 게이트웨이 생성 및 연결
다음으로, VPC와 인터넷 간의 통신을 활성화해주는 역할을 하는 인터넷 게이트웨이를 설정한다.
인터넷 게이트웨이는 VPC 대시보드 좌측의 [인터넷 게이트웨이]를 클릭 후, '인터넷 게이트웨이 생성' 버튼을 클릭한다.
그리고나서 인터넷 게이트웨이 이름만 입력한 뒤, '인터넷 게이트웨이 생성' 버튼을 클릭하면 생성된다. 단, 생성만 해서 완료되는 것이 아니라 VPC와의 통신을 위해 VPC에 연결해줘야 하는데, (연결이 되어 있지 않으면 상태가 'Detached'로 표시된다.
[VPC에 연결] 버튼을 클릭한 후, 사용 가능한 VPC에서 앞서 생성한 VPC를 선택하고 '인터넷 게이트웨이 연결' 버튼을 클릭하면
인터넷 게이트웨이가 VPC에 연결된다.
라우팅 테이블
이제 마지막으로, 라우팅 테이블을 생성해 준다.
라우팅 테이블 역시 VPC 대시보드 좌측의 '라우팅 테이블' 을 클릭하고, '라우팅 테이블 생성' 을 클릭한다.
라우팅 테이블의 이름을 입력하고, 연결한 VPC를 선택 후 '라우팅 테이블 생성' 버튼을 클릭하면 된다.
라우팅 테이블 역시 인터넷 게이트웨이처럼 후반 작업이 남아있다.
앞서 라우팅 테이블의 역할이 두 가지라고 했는데,
1. 서브넷이 인터넷 게이트웨이를 타고 나가 인터넷이 되도록 - 라우팅 탭
2. 이중화된 서브넷끼리 통신하도록 하는 역할 - 서브넷 연결 탭
이 두 가지를 위한 작업을 해야 한다.
먼저 서브넷의 인터넷 연결을 위해 '라우팅' 탭의 [라우팅 편집] 버튼을 클릭하고
[라우팅 추가] 버튼을 클릭
라우팅 편집 화면에서 [라우팅2] 항목에서 대상에 0.0.0.0/0 입력하고
대상에서 인터넷 게이트웨이를 선택하고 하단의 '변경 사항 저장' 클릭.
0.0.0.0/0 을 입력하는 이유는, 앞서 생성한 VPC CIDR인 10.250.0.0/16에 대한 모든 IP를 의미한다.
이렇게 함으로써 VPC 생성부터 라우팅 테이블 생성 및 연결까지 모든 작업이 잘 완료되었다.
다음 내용
[aws] 인스턴스 생성하기
이전 내용 [aws] VPC, 서브넷, IGW, 라우팅 테이블 설정하기이전 내용 [aws] route 53 으로 DNS 작업하기이전 내용 [클라우드] 도메인 만들기 (feat. 가비아)가비아에서 도메인 만들기 클라우드 수업을
puppy-foot-it.tistory.com