티스토리 뷰

AWS VPC 환경 구축하기

이번에 Elasticbeanstalk를 도입하면서 고가용성(High Availability) 설정을 위해 VPC와 Subnet, Outbound 라우팅에 대한 고정 IP가 필요하여 NAT Gateway까지의 VPC 구성 과정들을 정리해보았다.

1.  VPC 환경 구축 계획

VPC(Virtual Private Cloud)를 통해 가상의 클라우드 네트워크 환경을 구성 할 수 있다.
아래와 같은  네트워크 환경을 구축을 계획하였다. 구성요소들은 목록과 같다.


   - VPC

   - Public Subnet 2 Set (Internet GW), 

   - Private Subnet 2 Set (NAT GW)

2.  VPC 마법사를 통한 생성

[서비스] -> [VPC] -> [VPC 대시보드] -> [VPC 마법사 시작] 메뉴를 통해 VPC를 생성한다.

VPC 마법사 시작
Public Private Subnet 생성메뉴 선택

2단계에서 Public, Private IP CIDR(Classless Inter-Domain Routing) 설정하여 IP 할당 범위를 지정한 뒤, Outbound traffic이 NAT를 통해 나갈 수 있도록 EIP(Elastic IP)를 생성하여 NAT Gateway에 생성한 EIP를 할당한다.

Public Private IP CIDR 및 NAT GW에 EIP 지정

3.  Public/Private Subnet 추가생성

위 과정을 거치면 Public Subnet1, Private Subnet 각 1개씩 생성이 되는데, 서브넷 메뉴에서 Public, Private 각 1셋트씩을 서로 교차하는 가용영역을 선택하여 추가로 생성해주도록 하자. 이유는 고가용성을 극대화 하기 위한 목적이다. 아래와 같이 총 4개의 Subnet이 생성되었을 것이다.

 

4.  Routing Table 설정

Routing Table 설정은 단순하다. Public Subnet은 local을 제외한 모든 Outbound IP를 Internet Gateway로, Private은 NAT Gateway로 설정해주면 끝난다.

Public Subnet의 라우팅 테이블
Private Subnet의 라우팅 테이블

5. ElasticBeanstalk VPC구성

위와같이 VPC환경 구성이 완료되었다면 ELB(Elastic LoadBalancer)그룹에 Public, Instance그룹에 Private Subnet을 할당 해 주도록 한다. 

ElasticBeanstalk VPC 네트워크 설정

위 구성이 완료되면 아래와 같이 Private Subnet으로 인스턴스가 생성되는것을 확인 할 수 있다.

References :

https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Scenario2.html

 

VPC with public and private subnets (NAT) - Amazon Virtual Private Cloud

These recommendations include both SSH and RDP access, and both Microsoft SQL Server and MySQL access. For your situation, you might only need rules for Linux (SSH and MySQL) or Windows (RDP and Microsoft SQL Server).

docs.aws.amazon.com

https://docs.aws.amazon.com/ko_kr/elasticbeanstalk/latest/dg/using-features.managing.vpc.html

 

Elastic Beanstalk를 사용한 Amazon Virtual Private Cloud(Amazon VPC) 구성 - AWS Elastic Beanstalk

Elastic Beanstalk를 사용한 Amazon Virtual Private Cloud(Amazon VPC) 구성 Amazon Virtual Private Cloud(Amazon VPC)는 Elastic Beanstalk에서 애플리케이션을 실행하는 EC2 인스턴스에 트래픽을 안전하게 라우팅하는 네트워킹

docs.aws.amazon.com

'Developer' 카테고리의 다른 글

MongoDB with SpringData  (0) 2021.01.08
[OpenJDK] How to install OpenJDK  (0) 2020.10.20
How to use ElasticBeanstalk  (0) 2020.08.12
[Scrapy] How to use Crawler in Python  (0) 2020.07.03
How to setup beatiful iterm2 with zsh on OSX.  (0) 2019.12.05
댓글