AWS/AWS Developer BootCamp

[AWS] VPC 실습

Yuco 2023. 6. 19. 23:11

 

VPC에 대한 자세한 설명이 궁금하다면?

2023.06.17 - [AWS] VPC(Virtual Private Cloud), 서브넷(Subnet)

 

[AWS] VPC(Virtual Private Cloud), 서브넷(Subnet)

1. Amazon VPC(Virtual Private Cloud) * 예시 없는 간단한 설명글 입니다. Amazon VPC는 사용자가 정의한 논리적으로 격리된 가상 네트워크에서 AWS 리소스를 시작할 수 있도록 하는 서비스입니다. 결과적으로

yuna-story.tistory.com

 

네트워크 - Amazon VPC 실습

AWS는 전 세계에서 가장 높은 수준의 안정성, 가장 많은 보안 기능 및 최고의 성능을 갖춘 가장 방대하고 세분화된 네트워킹 서비스를 제공합니다. 이러한 네트워킹 서비스를 활용하면 클라우드에서 모든 종류의 워크로드를 실행할 수 있습니다. 

 

VPC를 이용하면 사용자가 정의한 가상 네트워크로 AWS 리소스를 시작할 수 있습니다. 이 가상 네트워크는 AWS의 확장 가능한 인프라를 사용한다는 이점과 함께 고객 자체 데이터 센터에서 운영하는 기존 네트워크와 매우 유사합니다.

Amazon VPC를 사용하면 사용자가 정의하는 논리적으로 격리된 가상 네트워크에서 AWS 리소스를 시작할 수 있습니다. IP 주소 범위 선택, 서브넷 생성, 라우팅 테이블 및 네트워크 게이트웨이 구성 등 가상 네트워킹 환경을 완벽하게 제어할 수 있습니다. 리소스 및 애플리케이션에 대한 안전하고 쉬운 엑세스를 보장하도록 지원하기 위해 IPv4 및 IPv6를 가상 사설 클라우드 내 대개의 리소스에 대해 사용할 수 있습니다.

 

* AWS에서 네트워크를 직접 구성하는 단계는 다음과 같습니다. 

1. VPC 생성하기

2. 추가 서브넷 생성하기

3. 라우팅 테이블 편집하기

4. 보안 그룹 생성하기

 

이 4단계를 걸쳐 네트워크를 구성하는 방법에 대해 아래에서 실습해 보도록 하겠습니다. 

 

1. VPC 생성하기

저는 버지니아 북부 리전을 사용해서 실습해보도록 하겠습니다.

AWS 사이트에서 VPC를 검색하고, VPC 생성을 클릭하여 VPC를 구성할 수 있습니다. 

 

 

VPC 설정에서 VPC 등을 설정합니다.

이름의 경우 원하시는 VPC 이름으로 생성하시면 됩니다. 또한 CIDR 블록은 기본 값인 10.0.0.0/16으로 설정해주었습니다. 

 

가용영역(AZ)는 1개로 설정하고 ap-east-1a로 선택합니다. 이 가용영역은 VPC의 부분 집합입니다.  

또한 아래의 퍼블릭 서브넷 수는 1개로 선택하고, CIDR 블록10.0.10.0/24로 설정합니다.

프라이빗 서브넷은 만들지 않으므로 0개를 선택하겠습니다. 이후 VPC 생성 버튼을 누르시면 됩니다.

 

 

이후 VPC가 생성된 모습을 확인할 수 있습니다.

 

 

VPC 이름을 VPC-Lab으로 변경해주고, 함께 생성된 서브넷 이름을 public subnet A라고 설정해줍니다.

현재까지의 아키텍처 구성은 아래 그림과 같습니다.

 

* CIDR(Classless Inter-Domain Routing)

VPC 내의 인스턴스 및 리소스에 할당되는 IP 주소를 결정하며, VPC를 만들 때 기본적으로 CIDR 블록을 할당해야 합니다.

VPC 생성 이후에는 기본 VPC CIDR 블록을 AWS 인프라에 따라 서브넷으로 나눠서 사용하게 됩니다. 

예를 들어, 위의 CIDR 10.0.0.0/16 이라는 표기법은 10.0.0.0~10.0.255.255 의 총 65,536(2의 16승)개의 주소를 포함합니다.

 

CIDR 블록에서 /16은 IP의 길이를 나타내는 프리픽스(prefix)이며, 이는 서브넷 마스크의 길이를 나타내고, VPC CIDR의 범위는 /16 넷 마스크(사용 가능한 IP 주소 65,536개)에서 /28 넷 마스크(사용 가능한 주소 16개)까지 가능합니다. CIDR 표기법에서 길이 프리픽스와 IP 주소의 수는 역의 관계로, 길이 프리픽스가 작을수록 CIDR에 존재하는 IP 주소의 수는 많아집니다.

또한 각 서브넷 CIDR 블록에서 첫 4개의 IP 주소와 마지막 IP 주소는 사용자가 사용할 수 없으므로 인스턴스에 할당할 수 없습니다. 

10.0.0.0 네트워크 주소
10.0.0.1 AWS에서 VPC 라우터용으로 예약
10.0.0.2 DNS 서버 주소
10.0.0.3 AWS에서 나중에 사용하려고 예약
10.0.0.255 네트워크 브로드캐스트 주소

 

2. 추가 서브넷 생성하기

고가용성을 확보하기 위해, 다중 가용영역에 서비스를 배포하는 것이 중요합니다. 그러므로 앞에서 생성한 서브넷이 위치한 가용영역 A 외에 다른 가용영역인 C에 서브넷을 생성합니다. 

서브넷을 생성하기 위해 왼쪽 사이드 바에서 서브넷 생성 버튼을 클릭합니다.

 

 

VPC는 위에서 생성했던, VPC-Lab을 선택하고, 서브넷 설정에서 아래와 같이 값을 입력한 후, 서브넷 생성 버튼을 클릭합니다. 

 

 

아래처럼 서브넷이 생성된 걸 확인할 수 있습니다.

 

 

현재까지 아키텍처 구성은 아래 그림과 같습니다.

 

 

3. 라우팅 테이블 편집하기

* VPC 라우팅 테이블 

라우팅 테이블에는 서브넷 또는 게이트웨이의 네트워크 트래픽이 전송되는 위치를 결정하는데 사용되는 라우팅이라는 규칙 집합이 포함되어 있습니다.

- 기본 라우팅 테이블은 VPC와 함께 자동으로 생성되는 라우팅 테이블이며, 다른 라우팅 테이블과 명시적으로 연결되지 않은 모든 서브넷의 라우팅을 제어하는 역할을 합니다. 

- 사용자 지정 라우팅 테이블은 기본 라우팅 테이블 외에 사용자가 생성한 라우팅 테이블입니다.

 

위에서 생성한 public subnet C에 대한 라우팅 테이블을 연결해보도록 하겠습니다. 

서브넷 메뉴에서 작업 버튼을 클릭한 후, 라우팅 테이블 연결 편집을 클릭합니다. 

 

 

라우팅 테이블 ID에서 기본 라우팅 테이블이 아닌 다른 라우팅 테이블을 선택한 후, 저장합니다. 이때, 선택한 라우팅 테이블에 인터넷으로 향하는 경로가 있는지 확인하고, 저장을 클릭합니다. (인터넷 게이트웨이가 있는지 확인하시면 됩니다.)

 

 

public subnet C를 선택한 후, 세부 정보 탭에서 라우팅 테이블을 클릭하면 라우팅 정보를 확인할 수 있습니다. 이를 통해, public subnet C도 인터넷으로 향하는 경로가 생성되었음을 확인할 수 있습니다. 

 

 

현재까지의 아키텍처 구성은 아래 그림과 같습니다.

 

4. 보안 그룹 생성하기

* 보안 그룹

보안 그룹인스턴스에 대한 인바운드 및 아웃바운드 트래픽을 제어하는 가상 방화벽 역할을 합니다.

 

- 인바운드 규칙: 외부 네트워크에서 발생해 내부 네트워크로 패킷이 전달되는 것

- 아웃바운드 규칙: 내부 네트워크에서 발생해 외부 네트워크로 패킷이 전달되는 것 

 

보안 그룹을 생성하기 위해서는 왼쪽 사이드 바에서 보안 그룹 메뉴를 클릭한 후, 보안 그룹 생성 버튼을 클릭합니다.

 

 

보안 그룹 이름과 설명을 입력한 후, 본 실습에서 생성했던 VPC(VPC-Lab)를 선택합니다. 

 

 

인바운드 규칙에서 아래와 같이 규칙을 부여한 후, 보안 그룹 생성 버튼을 클릭합니다. 

 

 

아래와 같이, 보안 그룹이 생성된 걸 확인할 수 있습니다.

 

 

'AWS > AWS Developer BootCamp' 카테고리의 다른 글

[AWS] EC2 Linux 실습  (1) 2023.06.19
[AWS] Lambda 정리  (0) 2023.06.18