본문 바로가기
Infra, Cloud/AWS

[AWS] Transit Gateway 사용하기

by J4J 2023. 7. 22.
300x250
반응형

안녕하세요. J4J입니다.

 

이번 포스팅은 Transit Gateway 사용하는 방법에 대해 적어보는 시간을 가져보려고 합니다.

 

 

 

이전 글

 

[AWS] VPC 피어링 연결하기

 

 

반응형

 

 

Transit Gateway란?

 

Transit Gateway는 네트워크 중앙 Hub 관리형 서비스로 VPC와 온프레스미 네트워크를 서로 연결하는데 도움을 줍니다.

 

VPC 피어링에 대해 알고 계신 분들은 Transit Gateway의 역할이 유사하다는 것을 느끼실 겁니다.

 

결론부터 말하면 Transit Gateway는 VPC 피어링의 단점을 보완하는데 도움을 줍니다.

 

 

 

VPC 피어링의 단점은 1:1 연결만 가능하기 때문에 n개의 VPC들의 피어링이 서로 필요한 경우 n(n-1)/2개 만큼의 피어링 연결을 해줘야 합니다.

 

Transit Gateway는 VPC 피어링의 이런 단점을 해결해줍니다.

 

통신이 필요한 여러 VPC들을 Transit Gateway 라우팅 테이블에 서로 묶어놓으면 VPC 피어링이 동작되는 것과 동일한 결과를 만듭니다.

 

그러므로 VPC가 별로 존재하지 않을 땐 크게 체감할 수 없지만 VPC의 개수가 점점 늘어날수록 Transit Gateway의 필요성을 점점 느낄 수 있습니다.

 

 

 

 

Transit Gateway 연결 방법

 

VPC 피어링 연결을 하기 전 준비물로 서로 다른 VPC 내부에 있는 Private Subnet에 EC2 인스턴스를 하나씩 가지고 있도록 설정이 필요합니다.

 

저는 다음과 같이 VPC, Private Subnet, 인스턴스가 구성되어 있습니다.

 

VPC 구성

 

Private Subnet 구성

 

인스턴스 구성

 

vpc-01-instance 구성

 

vpc-02-instance 구성

 

모든 준비가 완료되었다면 먼저 서로의 인스턴스가 접근이 가능한지 확인해 줍니다.

 

vpc-02-instance에 접속하여 vpc-01-instance 접근이 가능한지 ping을 날려보면 다음과 같이 접근이 불가능한 것을 확인할 수 있습니다.

 

transit gateway 설정 전 ping 접속

 

 

 

여기까지 모두 완료되었다면 다음 순서를 통해 Transit Gateway 설정을 진행해 보겠습니다.

 

 

 

 

[ 1. VPC 접속 ]

 

VPC 접속

 

 

 

[ 2. Transit Gateway 생성 ]

 

왼쪽에 Transite Gateway 메뉴를 선택한 뒤 오른쪽에 있는 Transit Gateway 생성 버튼을 클릭합니다.

 

Transit Gateway 생성

 

 

 

Transit Gateway 생성을 위한 정보들을 다음과 같이 필요한 것에 맞춰 입력해 주시면 됩니다.

 

저는 다음과 같이 설정했고 없는 부분은 따로 건들지 않았습니다.

 

Transit Gateway 정보 입력

 

 

 

[ 3. Transit Gateway 연결 생성 ]

 

다음은 Transit Gateway 연결 생성입니다.

 

왼쪽에 있는 Transit Gateway 연결 메뉴를 선택한 뒤 오른쪽에 있는 Transit Gateway Attachment 생성 버튼을 클릭합니다.

 

Transit Gateway 연결 생성

 

 

 

Transit Gateway 연결에서는 Transit Gateway를 사용할 VPC들을 다음과 같이 등록해 주시면 됩니다.

 

저는 총 2개의 VPC를 사용하기 때문에 총 2번 등록을 해줬습니다.

 

vpc-01 transit gateway attachment

 

vpc-02 transit gateway attachment

 

 

 

 

[ 4. Transit Gateway 라우팅 테이블 생성 ]

 

이번엔 라우팅 테이블을 생성하여 서로 통신이 이루어질 VPC들을 등록해 주겠습니다.

 

라우팅 테이블을 설정하는 이유는 위에서 Transit Gateway에 연결할 VPC들을 등록해 줬다고 해도 라우팅 테이블에 함께 있는 VPC끼리만 통신이 가능합니다.

 

즉, 동일한 Transit Gateway로 서로 통신이 원하는 VPC끼리만 통신이 가능하도록 설정이 가능합니다.

 

 

 

왼쪽에 있는 Transit Gateway 라우팅 테이블 메뉴를 선택한 뒤 오른쪽에 있는 Transit Gateway 라우팅 테이블 생성 버튼을 클릭합니다.

 

Transit Gateway 라우팅 테이블 생성

 

 

 

다음과 같이 정보를 입력한 뒤 최종 생성을 해주시면 됩니다.

 

Transit Gateway 라우팅 테이블 정보 입력

 

 

 

[ 5. Transit Gateway 라우팅 테이블 연결 설정 ]

 

라우팅 테이블이 생성되었다면 해당 라우팅 테이블을 통해 서로 통신이 이루어질 VPC 설정을 하겠습니다.

 

먼저 생성된 라우팅 테이블의 "연결" 탭을 선택하여 연결을 생성해 줍니다.

 

transit gateway 라우팅 테이블 연결 생성

 

 

 

총 2개의 VPC가 통신이 돼야 하기 때문에 다음과 같이 2번 등록해 줍니다.

 

vpc-01 transit gateway 라우팅 테이블 연결

 

vpc-02 transit gateway 라우팅 테이블 연결

 

 

 

[ 6. Transit Gateway 라우팅 테이블 전파 설정 ]

 

이번엔 전파 설정입니다.

 

"전파" 탭을  선택하여 전파를 생성해 줍니다.

 

transit gateway 라우팅 테이블 전파 생성

 

 

 

이번에도 연결과 동일하게 2번 등록해 줍니다.

 

vpc-01 transit gateway 라우팅 테이블 전파

 

vpc-02 transit gateway 라우팅 테이블 전파

 

 

 

 

[ 7. Subnet 라우팅 테이블 설정 ]

 

Transit Gateway 라우팅 테이블 설정을 끝냈다면 Subnet에도 라우팅 테이블 설정을 추가적으로 해줘야 합니다.

 

서로의 Subnet에 요청을 보낼 경우 Transit Gateway로 보내도록 다음과 같이 설정을 해주면 됩니다.

 

이 또한 총 2번의 설정을 해줍니다.

 

vpc-01 subnet routing table 설정

 

vpc-02 subnet routing table 설정

 

 

 

[ 8. 보안 그룹 설정 ]

 

마지막으로 EC2 인스턴스들의 보안 그룹 설정을 해줘야 합니다.

 

Transit Gateway와 Subnet 설정을 했더라도 보안 그룹 설정이 이루어지지 않으면 통신이 불가능합니다.

 

먼저 저는 다음과 같이 기본적인 보안 그룹 설정을 해놨습니다.

 

기본 보안 그룹 설정

 

 

 

해당 보안 그룹들에 다음과 같이 "서로 다른 VPC들의 CIDR" 값을 다음과 같이 인바운드로 추가해 주겠습니다.

 

vpc-01 인스턴스 보안 그룹 설정

 

vpc-02 인스턴스 보안 그룹 설정

 

 

 

 

테스트

 

모든 설정이 완료되었다면 다시 vpc-02-instance에 접속하여 vpc-01-instance에 접속 가능한지 ping을 날려보겠습니다.

 

transit gateway 설정 후 ping 접속

 

 

 

이전과 달리 ping이 전달되어 통신이 이루어지는 것을 확인할 수 있습니다.

 

 

 

 

 

 

 

 

이상으로 Transit Gateway 사용하는 방법에 대해 간단하게 알아보는 시간이었습니다.

 

읽어주셔서 감사합니다.

 

 

 

728x90
반응형

댓글