Transit Gateway (TGW) 를 이용해서 서울 리전의 인스턴스 -> 오하이오 리전 인스턴스 내부 IP로 SSH로 접속하는 실습을 해보았다.
0. 준비
실습을 위해 설정한 리전별 VPC와 Subnet의 대역은 다음과 같이 임의로 설정해봤다.
(실제 실습과 차이가 있다.)
[Seoul Region]
- VPC : 10.0.0.0/16
- Subnet : 10.0.10.0/24
[Ohio Region]
- VPC : 192.168.0.0/16
- Subnet : 192.168.10.0/24
IP 대역이 겹치지 않도록, 각 리전에 VPC 환경 구성 및 EC2를 생성한다.
또한, Session Manager(SSM) 연결이 가능하도록 미리 설정해두면 AWS 콘솔 내에서 바로 인스턴스에 접속할 수 있다.
1. 시작
1. Transit Gateway 생성하기
순서 : [VPC] - [TGW] - [TGW 생성]
디폴트 상태로 TGW의 이름만 지정하여 생성했다.
* pending 시간이 조금 걸린다.
** 두 리전에 모두 생성해준다. 두 리전 왔다갔다거리면 헷갈리니까 네이밍에 유의.
2. TGW Attachments (TGW 연결) 생성하기
리전마다 2개의 Attachments가 필요하다.
- 각 리전의 TGW끼리 연결
- 리전 내의 TGW와 VPC를 연결
먼저 리전별 TGW를 연결해본다.
두 리전 어디서 연결을 생성하든 상관없다.
한 리전에서 연결을 생성하면, 다른 리전에서는 수락만 하면 된다.
TGW - TGW 연결을 위해서는 연결 유형의 [Peering Connection] 을 선택.
다음은 연결할 대상을 선택한다.
아래와 같이 내 계정, 다른 계정 모두 가능하다.
다른 계정의 경우, 그 계정의 Account ID를 지정해주면 된다.
연결 생성 후, 연결 대상 리전의 [TGW 연결] 탭에 가보면 아래와 같이 생성되어 있고, 연결 수락을 눌러주면 된다.
* pending 시간이 오래 걸린다. 그동안 VPC 연결을 생성해본다.
위와 동일하게 연결 생성을 해주는데, 연결 유형만 VPC로 해주면 됨.
상태, 연결 상태가 초록초록하게 빛나면 된 것이다.
3. 라우팅 설정
리전별로 두 곳에서 라우팅 설정을 해줘야 한다.
- VPC 내의 라우팅 테이블 설정
- TGW 라우팅 테이블 설정
먼저, VPC 내의 라우팅 테이블에
오하이오 리전에서는 서울 리전로 가는 IP가 TGW로 향할 수 있도록 경로를 설정해준다.
[오하이오 리전 라우팅 테이블]
Destination : 10.0.10.0/24 (서울 리전 인스턴스가 있는 서브넷 대역)
Target : tgw-aaaaaaaaaaaaaa
- 그 다음 TGW의 라우팅 테이블을 설정해준다.
순서 : [TGW] - [TGW 라우팅 테이블] - [Route]
이미지와 같이 통신할 서버의 IP 대역과 TGW - TGW Attachments ID 를 선택하여 경로를 생성한다.
4. 보안 그룹 설정
- ping 테스트를 위한 ICMP 인바운드 허용
- SSH 접속을 위한 인바운드 허용
* TGW로 연결되었으므로, 서로의 내부 IP를 허용한다. (공인 IP X)
2. 테스트
* pem 키 없이 SSH 접속이 가능하도록 미리 설정을 바꿔놓았다.
두 서버 모두에 pem 키없이 SSH 접속이 가능하도록 설정해놓는다면, 서울 -> 오하이오, 오하이오 -> 서울 모두 접속이 가능해진다.
위와 같이 서로의 내부 IP로 ping 테스트가 가능하며, SSH 접속 또한 내부 IP로 접근이 가능한 것을 확인했다.
TGW는 비싸므로, 실습이 완료된 것을 확인했으니 리소스들을 빠르게 지운다.
'AWS' 카테고리의 다른 글
[AWS] Application Migration Service(MGN) 으로 다른 리전에 마이그레이션 해보기 (0) | 2022.02.24 |
---|---|
[AWS] 로컬에서 Session Manager (SSM) RDP 접속하기 (0) | 2021.12.23 |