1) 구성도
해당 시나리오에서는 2개의 VPC를 생성하고, Transit Gateway를 통해 연결하는 예제를 다룹니다. 자세한 내용은 다음과 같습니다.
1) 연결할 VPC 2개를 생성합니다. 시나리오에서 각 VPC는 1개의 AZ을 사용하며, 기본 생성되는 Public Subnet을 이용
2) Transit Gateway를 생성합니다. 그 다음 Transit Gateway에 VPC 2개를 Attachment로 추가
3) Transit Gateway에 Static Route를 설정합니다. 특정 VPC의 CIDR를 목적지로 하는 패킷을 해당 VPC로 라우팅하는 정책을 추가
4) Subnet의 Route 정책을 설정합니다. 이 시나리오에서는 기본 생성된 Public Subnet을 사용합니다. 해당 Subnet에서 다른 VPC를 목적지로 하는 패킷을 Transit Gateway로 라우팅하는 정책을 추가합니다. Transit Gateway를 통해 목적지 VPC와 연결 가능
5) 각 Subnet에 VM 인스턴스를 생성합니다. ping 명령어를 사용하여 패킷이 다른 VPC의 인스턴스로 제대로 전달되는지 확인
2) VPC 및 네트워크 생성
1) 카카오클라우드 콘솔 > VPC에 접속한 뒤 [VPC 생성] 버튼을 이용하여 새로운 VPC를 생성합니다.
2) 다음을 참조하여 연결을 진행할 vpc-a와 vpc-b를 생성합니다. VPC IP CIDR 의 값은 사용 중인 환경에 따라 수정이 필요할 수 있습니다. 수정한 경우, 시나리오 진행에서 사용하는 모든 해당 값에 대해서도 변경이 필요합니다.
항목 | 세부항목 | 값 |
VPC 정보 | VPC 이름 | handson-vpc-a |
VPC IP CIDR 블록 | 10.1.0.0/16 | |
Availability Zone | AZ 개수 | 1 |
첫 번째 AZ | kr-central-2-a | |
서브넷 설정 | AZ당 Public Subnet 개수 | 1 |
AZ당 Private Subnet 개수 | 0 |
항목 | 세부항목 | 값 |
VPC 정보 | VPC 이름 | handson-vpc-b |
VPC IP CIDR 블록 | 10.2.0.0/16 | |
Availability Zone | AZ 개수 | 1 |
첫 번째 AZ | kr-central-2-b | |
서브넷 설정 | AZ당 Public Subnet 개수 | 1 |
AZ당 Private Subnet 개수 | 0 |
3)Transit Gateway 생성 및 설정
Transit Gateway는 VPC 수가 많아질수록 복잡해지는 VPC Peering 구성의 한계를 넘어서 중앙 집중식 형태로 VPC 간 또는 VPC-온프레미스간 트래픽들을 보다 쉽게 관리할 수 있습니다. 자세한 내용은 Transit Gateway를 통해 확인하세요.
1) Transit Gateway 생성
1) 카카오클라우드 콘솔> Transit Gateway에 접속 후, [Transit Gateway 만들기] 버튼을 이용하여 새로운 Transit Gateway를 생성할 수 있습니다.
2) 예제는 아래 표 및 이미지를 확인하여 생성할 Transit Gateway의 정보를 입력합니다.
항목 | 설명 |
Transit Gateway 이름 | handson-transit-gateway |
기본 연결 (Association) | 연결 |
2) Attachment 생성
1) 생성된 Transit Gateway의 상세 설정을 통해 Attachment 생성 작업을 진행합니다.
2) 생성한 예제 handson-vpc-a 를 Transit Gateway의 Attachment로 추가합니다.
3) 생성한 VPC handson-vpc-b 를 Transit Gateway의 Attachment로 추가합니다.
3) Transit Gateway 라우트 설정
1) Transit Gateway의 라우트 설정을 위해 Transit Gateway 에 연결된 Route Table의 상세 페이지에 접속합니다.
2) 카카오클라우드 콘솔 > Transit Gateway > Transit Gateway 목록 테이블을 통해 접속 또는 카카오클라우드 콘솔 > Transit Gateway > Route Table 탭을 통해 접속합니다.
3) Route 탭에서 Static Route를 확인할 수 있습니다. [Static Route 추가] 버튼을 클릭하여 Static Route를 추가합니다.
4) 다음을 참고하여 Static Route를 추가합니다. 해당 설정을 통해 Transit Gateway로 들어오는 목적지 10.1.0.0/16인 트래픽을 handson-vpc-a로 라우트하는 규칙을 추가합니다.
5) 다음을 참고하여 Static Route를 추가합니다. 해당 설정을 통해 Transit Gateway로 들어오는 목적지 10.2.0.0/16인 트래픽을 handson-vpc-b로 라우트하는 규칙을 추가합니다.
4) Subnet 라우트 정책 설정
1) 카카오클라우드 콘솔 > VPC > Route Table 탭에 접속하여 Route Table 목록을 확인합니다.
handson-vpc-a의 main Subnet, handson-vpc-b의 main Subnet에 연결된 각각의 Route Table 상세 페이지에 접속하여 Route 정보를 수정합니다.
2) handson-vpc-a의 main Subnet에 연결된 Route Table 상세 페이지에 접속합니다. 그 다음 [Route 추가] 버튼을 클릭하여 새로운 Route를 추가합니다.
3) handson-vpc-b의 CIDR가 목적지인 경우, handson-transit-gateway를 타겟으로 설정하는 Route를 추가합니다.
생성된 Route 정보를 확인합니다.
4) handson-vpc-b의 main Subnet에 연결된 Route Table 상세 페이지에 접속합니다. 그 다음 [Route 추가] 버튼을 클릭하여 새로운 Route를 추가합니다.
5) handson-vpc-a의 CIDR가 목적지인 경우, handson-transit-gateway를 타겟으로 설정하는 Route를 추가합니다.
생성된 Route 정보를 확인합니다.
5) 인스턴스 생성 및 연결 확인
1) 카카오클라우드 콘솔 > Virtual Machine > Instance 탭에서 [Instance 추가] 버튼을 클릭하여 Instance를 생성합니다. 아래 표를 확인하여 생성한 VPC에 Instance를 1개씩 생성합니다.
항목 | 세부항목 | Instance1 | Instance2 |
기본 정보 | 이름 | handson-instance-a | handson-instance-b |
개수 | 1 | 1 | |
Image | Ubuntu 20.04 | Ubuntu 20.04 | |
Instance 타입 | m2a.large | m2a.large | |
Volume | Root Volume, 20GB, SSD | Root Volume, 20GB, SSD | |
Key Pair | 사용자 키페어 | 사용자 키페어 | |
Network | VPC | handson-vpc-a | handson-vpc-b |
main | handson-vpc-b | ||
Security Group | 아래 참고 |
2) 통신을 확인하기 위해서는 사용할 포트에 대한 보안 정책을 확인해야합니다.
아래를 확인하여 해당 시나리오를 위한 보안 정책을 추가합니다.
정책 | 인바운드 | 인바운드 | 아웃바운드 |
프로토콜 | ICMP | TCP | ALL |
패킷 출발지 (Source) | 10.0.0.0/8 | {사용자 공인 IP}/32 | 0.0.0.0/0 |
포트 번호 | - | 22 | - |
정책 설명 | ping | ssh | all |
3) 인스턴스에 공인 IP를 할당하고 ssh 접속을 진행합니다.
ssh ubuntu@{INSTANCE_PUBLIC_IP} -i {KEY_PAIR}
4) 접속한 후, 다른 VPC에 생성한 Instance에 ping 명령어를 통해 통신을 확인합니다. 아래 이미지는 vpc-a에 위치한 instance-a에서 vpc-b에 위치한 instance-b로 ping 명령어를 사용한 결과입니다.
ping {INSTANCE_PRIVATE_IP}
'카카오클라우드' 카테고리의 다른 글
카카오클라우드 Terraform으로 카카오클라우드 VM 생성 (0) | 2024.07.07 |
---|---|
카카오클라우드 Windows 인스턴스에 RDP연결 (0) | 2024.06.21 |
카카오클라우드 컨테이너 레지스트리를 이용한 이미지 저장 및 사용 (0) | 2024.05.21 |
카카오클라우드 VM을 이용한 MongoDB Replicaset 프로비저닝 (0) | 2024.05.15 |
카카오클라우드 VM 인스턴스에 마운트하기 (0) | 2024.03.31 |