본문 바로가기

aws/VPC

vpc - vpc간의 연결 Transit Gateway

Transit Gateway를 사용하는 이유는 다음과 같습니다. 

1. 두개 이상의 VPC를 연결하여 동일한 네트워크 대역대인 것 처럼 사용하고 싶을 경우

(peering의 경우 여러개를 연결 했을 때 구성이 복잡해질 수 있다.)

2. 두개 이상의 VPC를 연결하여 사용하지만 Internet 망을 거치고 싶지 않은 경우

 

VPC는 아시다시피 Vertual Private Cloud의 약자로 클라우드가 아닌 

IDC에서 사용하던 private한 환경과 같이 구성할 수 있는 가상의 클라우드 환경입니다. 

 

지난번 VPC 구성에서는 하나의 VPC 안에서 외부 접근으로 부터 보호되어야하는 

was 서버나 database가 들어가는 private 구역과 외부에서 접근이 가능하게 할 수 있는

web 서버를 가지고 있는 public 구역을 나누고 bastion서버를 통해 private 구역에 접근하였습니다. 

 

여기서 조금 더 보안적인 요소를 고려해볼 수 있습니다. 

서비스가 돌아가는 VPC와 접근을 할 때 필요한 VPC를 나누는 것입니다. 

 

그림으로 표현하면 다음과 같습니다. 

 

 

즉 지난번까지 설계했던 모델과는 달리 Bastion server가 또 다른 VPC로 구성되어 있고 

VPC간 연결을 Transit Gateway를 통해 해여 실제 접근은 Bastion server를 가지고 있는 VPC를 

통해서만 이루어지게 되는 것입니다. 

 

VPC를 구성하게 되면 CIDR 블록을 지정하여 IP 대역대가 분리되게 됩니다. 

위의 그림에서 보면 알 수 있듯이 두개의 VPC는 서로 다른 IP 대역대를 가지고 있습니다. 

 

서버가 동작하는 VPC는 10.0.0.0/16 CIDR 블록을 가지고 있고 

Bastion server가 있는 VPC는 172.168.0.0/16 CIDR 블록을 가지고 있습니다. 

 

web 나 was 서버를 포함하고 있는 subnet이 Internet Gateway로 라우팅 되지 않으면 

외부에서 접근이 되지 않는 것은 잘 아실 것입니다. 

이 부분을 Transit Gateway를 통해 연결해보겠습니다. 

 

이번 포스팅에서는 기본 VPC가 구성이 되어있다는 전제 하에 진행해 보겠습니다. 

vpc - 개발, 운영환경 세팅 Bastion, NAT(3)

 

포스팅을 위해서 기본 구성은 위와 같이 해놓은 상태 입니다. 

다만 보라색으로 표시해 놓은 영역의 resources 들은 이제 만들어가야 합니다. 

 

일단 처음 VPC 콘솔로 이동합니다. 

 

 

VPC 콘솔에서 좌측에 스크롤을 조금만 내려보면 Transit Gateway라는 항목이 보입니다. 

가장 첫번째에 있는 "Transit Gateway"를 선택하고 우측에 보여지는 화면에서 "Create Transit Gateway"를 

선택합니다. 

 

 

기본 설정만 하게 된다면 위에 사진에 보이는 두가지만 입력해주면 됩니다. 

입력이 끝났다면 우측 하단에 "Create Transit Gateway" 버튼을 클릭합니다. 

 

이번 단계까지는 단순히 Gateway를 생성한 것입니다. 

이제 다음 단계는 방금 생성한 Gateway로 통신을 하게 될 두개의 VPC를 붙여주면 끝입니다. 

 

 

생성한 Transit Gateway에 두개의 VPC를 붙이기 위해 VPC 콘솔창에서

"Transit Gateway 첨부파일(Transit Gateway Attachment)"를 클릭하고

우측 화면에서 "Create Transit Gateway Attachment"를 클릭합니다. 

 

 

이번에는 설정해야 할 것이 몇가지 있습니다. 

1. Transit Gateway ID: 생성한 Transit Gateway를 선택합니다. 

2. Attachment name tag: 생성하는 attachment의 이름을 생성합니다. 

3. VPC ID: 연결할 VPC를 선택합니다. 

4. Subnet IDs: 선택한 VPC안의 subnet을 선택합니다. 

 

이렇게 한개의 VPC를 Transit Gateway에 연결하였습니다. 

같은 방식으로 연결하고자 하는 다른 VPC를 설정해주면 연결이 완료됩니다. 

 

마지막으로 설정을 해줘야 할 일이있습니다. 

연결하고자 하는 두개의 서브넷이 사용하는 routing table의 타겟을 지정해주어야 합니다. 

 

VPC 콘솔로 이동하여 routing table 화면으로 이동합니다. 

 

 

위와같은 방식으로 대상으로 지정해주어야합니다. 

연결을 할 다른 VPC의 CIDR블록과 tgw를 지정해주어야 합니다. 

 

마지막으로 Bastion server로 접속하여 telnet으로 was 서버에 접속해보도록 하겠습니다. 

ec2를 접근하는 방법에 대해서는 이전 포스팅을 참조 하시기 바랍니다. 

ec2 - aws ec2 만들기 "putty 접속"(2)

 

ec2 - aws ec2 만들기 "putty 접속"(2)

이전 포스팅에서는 aws ec2를 생성하는 방법을 알아보았습니다. 사실 아무런 설정을 하지 않고도 기본적인 서버를 생성하여 사용할 수 있기 때문에 쉽게 서버를 구축할 수 있습니다. 단, 요금이 ��

nerd-mix.tistory.com

 

Bastion server(172.168.1.10)에서 telnet으로 was server(10.0.2.10)로 요청을 보냈을 때 

요청이 잘 가는 것을 확인할 수 있습니다.