AWS VPC 기능을 이용해서 가상 네트워크를 구성하여 AWS의 다양한 요소들을 사용할 틀을 구현한다.
VPC (Virtual Private Cloud)
VPC를 통해 AWS 클라우드에서 논리적으로 격리된 공간을 프로비저닝하여 고객이 정의하는 가상 네트워크에서 AWS 리소스를 시작할 수 있다.
사용자 정의를 통해 IP 주소 범위 선택, 서브넷 생성, 라우팅 테이블 및 네트워크 게이트웨이 구성 등 가상 네트워킹 환경을 완벽하게 제어할 수 있다.
아래 그림처럼 VPC를 쓰지 않았을 때 복잡하게 구성된 네트워크를 VPC를 이용해 독립된 네트워크로 구성하면 복잡도를 낮출 수 있다.
VPC 구성요소
아래 그림에서 나타난 요소에 대해서 살펴보자
VPC : AWS에서 가상 네트워크를 운영하기 위한 가장 큰 틀로 기존 네트워크의 구현 방식과 매우 유사하다.
Internet Gateway : 외부의 인터넷과 VPC를 연결하기 위해 사용되는 가상의 라우터이다.
Availability Zone : 가용 영역으로 리전 내 서로 다른 가상의 데이터센터를 말한다. 가용영역을 나누어 사용 시 서비스의 안정성이 향상된다.
Subnet : VPC 내의 IP 주소 범위이다. 각 가용 영역에 하나 이상의 서브넷을 추가할 수 있다.
- Public Subnet : 인터넷 게이트웨이를 가르키는 라우팅 테이블이 있는 서브넷으로 인터넷에 공개 액세스가 가능하다.
- Private Subnet : 인터넷에 공개적으로 액세스할 필요가 없는 요소들을 포함하며 내부적으로 사용된다.
실습
아래와 같은 구성도를 직접 구현해보는 실습을 진행한다.
VPC 생성
먼저 VPC를 검색하여 VPC 메뉴로 들어간다.
VPC를 선택하고 VPC 생성 버튼을 입력한다.
VPC 생성 창이 나오면 하나씩 차례대로 설정해준다.
(1) 생성할 리소스를 선택
"VPC만"은 VPC 만을 생성하고 "VPC 등" 서브넷 등 여러가지 네트워크구성을 한번에 생성할 수 있다.
실습에서는 VPC, 서브넷, 게이트웨이 등을 하나씩 직접 생성하기 위해 "VPC만"을 체크한다.
(2) VPC 이름 설정
아무 이름이나 지어도 상관없으나 사용자가 이해하기 쉽도록 "-vpc"을 붙여서 지어준다.
(3) IPv4 CIDR 블록 설정
실습에서는 원하는 내부 아이피를 지정하기위해 수동 입력을 설정하였으며 사설 IP 주소를 입력해준다.
IPv4 사설 IP 대역 |
10.0.0.0 ~ 10.255.255.255(10.0.0.0/8) |
172.16.0.0 ~ 172.31.255.255(172.16.0.0/12) |
192.168.0.0 ~ 192.168.255.255(192.168.0.0/16) |
실습에서는 10.1.0.0/16 으로 입력하였다.
모든 설정이 완료되면 VPC 생성 버튼을 눌러 생성을 완료한다.
생성된 VPC를 선택한 후 DNS 호스트 이름 편집을 눌러 DNS 호스트 이름을 활성화 한다.
이를 적용하면 퍼블릭 IP가 있는 인스턴스가 퍼블릭 DNS 호스트 이름을 갖게 된다.
후에 RDS를 생성 시 DNS가 설정되어있어야 접속 가능한 주소가 생성되므로 미리 설정해둔다.
서브넷 생성
사이드 바에서 서브넷을 선택한 뒤 서브넷 생성 버튼을 클릭한다.
서브넷 생성 페이지에 들어오면 방금 생성한 VPC를 찾아서 선택한다.
아래의 서브넷 생성화면에 새 서브넷 추가 버튼을 눌러 4개를 동시에 생성한다.
(1) 서브넷 이름 설정
서브넷은 네트워크를 구성할 때 여러 개가 쓰일 수 있음으로 번호로 구분하는 것이 좋다.
원하는 이름을 입력한다.
우리는 4개를 만들기 때문에 실습에서는 다음과 같이 입력하였다.
public-subnet-01, public-subnet-02, private-subnet-01, private-subnet-02
(2) 가용 영역(Zone) 선택
가용영역이란 Region 별로 존재하는 여러 개의 가상 데이터 센터이다.
어떤 것을 선택하든 크게 중요하지 않으나 같은 퍼블릭 서브넷과 프라이빗끼리는 서로 다른 것을 선택한다.
실습에서는 us-east-2a와 us-east-2b를 사용하였다.
(3) IPv4 CIDR 블록 설정
서브넷의 IP 대역을 지정한다. 네트워크를 10.1.0.0/16 으로 지정하였기 때문에 네트워크보단 더 작은 단위로 지정해야한다.
또한 같은 네트워크가 아니면 서브넷으로 사용될 수 없으므로 정확히 입력한다.
실습에서는 퍼블릭은 10.1.1.0/24, 10.1.2.0/24 프라이빗은 10.1.11.0/24, 10.1.12.0/24 를 입력하였다.
입력이 끝나면 서브넷 생성 버튼을 눌러 서브넷을 만든다.
아래 이미지는 설명으로 어려운 사람들을 위해 나머지 서브넷의 설정 정보이다.
인터넷 게이트웨이 생성
사이드바에서 인터넷 게이트웨이를 선택하여 게이트웨이 생성을 진행한다.
게이트 웨이 생성 시에는 이름 외에 별다른 설정이 없으므로 입력 후 인터넷 게이트웨이 생성 버튼을 누른다.
그 다음 생성한 게이트웨이의 상세정보에 들어와 VPC에 연결한다.
라우팅 테이블 설정
사이드바에서 라우팅 테이블을 선택한다.
라우팅 테이블은 vpc 생성시 자동으로 1개가 생성된다.
우리는 기본 생성된 테이블을 Public으로 사용하고 하나를 추가로 생성해서 Private로 사용할 것이다.
Public 라우팅 테이블
기존 생성된 라우팅 테이블의 이름부분을 눌러 public으로 바꾸고 ID를 눌러 상세 페이지로 들어간다.
라우팅 편집 버튼을 눌러 라우팅 테이블을 수정한다.
(1) 대상 IP 입력
라우팅 대상이 될 IP를 입력한다. 0.0.0.0/0을 입력하여 불특정 네트워크(인터넷)의 접속을 추가한다.
(2) 대상 리소스 입력
라우팅할 대상을 선택한다. 방금 생성한 인터넷 게이트웨이를 입력하여 인터넷과의 연결을 허용한다.
이제 라우팅 테이블을 사용할 서브넷을 추가한다. 상세페이지에서 서브넷 연결을 클릭한다.
퍼블릭 라우팅 테이블이기 때문에 퍼블릭 서브넷만 선택해서 저장한다.
Private 라우팅 테이블
이제 프라이빗 라우팅 테이블을 생성할 것이다. 라우팅 테이블 생성 버튼을 클릭한다.
이름은 private로 하고 방금 만든 VPC를 설정하여 생성한다.
마찬가지로 서브넷 연결 편집을 들어가 프라이빗 서브넷만을 선택하여 연결 저장을 클릭한다.
프라이빗 서브넷은 인터넷 연결이 되면 안되므로 인터넷 게이트웨이를 설정하는 과정이 없다.
위와 같이 구성되었으면 성공적으로 수행된 것이다.
이로써 기본적인 VPC 구성을 끝마쳤다.
우리는 AWS VPC를 이용하여 가용영역이 2개 각 서브넷 2개씩으로 구성된 가상 네트워크를 구현하였다.
후에 이를 이용하여 EC2 및 다양한 요소들을 연결하고 이용해 볼 것이다.
'보안 이론 > 클라우드 보안' 카테고리의 다른 글
AWS - RDS 활용 3-Tier 구축 (0) | 2022.10.19 |
---|---|
AWS - Amazon Linux로 WordPress 웹 서버 구축 (0) | 2022.10.19 |
AWS - S3(Simple Storage Service) (0) | 2022.10.15 |
클라우드 컴퓨팅이란 (0) | 2022.10.03 |
AWS - EC2를 이용해 IIS 서버 구축 (0) | 2022.09.28 |