자습서: 명령줄을 사용하여 AWSAWS Transit Gateway 생성 - Amazon VPC

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

자습서: 명령줄을 사용하여 AWSAWS Transit Gateway 생성

이 자습서에서는를 사용하여 전송 게이트웨이 AWS CLI 를 생성하고 두 개의 VPCs 연결하는 방법을 알아봅니다. 전송 게이트웨이를 생성하고 두 VPCs 모두 연결한 다음 전송 게이트웨이와 VPCs 간의 통신을 활성화하는 데 필요한 경로를 구성합니다.

사전 조건

시작하기 전에 다음이 있는지 확인합니다.

1단계: Transit Gateway 생성

전송 게이트웨이를 생성할 때는 기본 전송 게이트웨이 라우팅 테이블을AWS 생성하고 이를 기본 연결 라우팅 테이블 및 기본 전파 라우팅 테이블로 사용합니다. 다음은 us-west-2 리전의 create-transit-gateway 요청 예제입니다. 요청에 추가가 전달options되었습니다. 요청에서 전달할 수 있는 옵션 목록을 포함하여 create-transit-gateway 명령에 대한 자세한 내용은 create-transit-gateway를 참조하세요.

aws ec2 create-transit-gateway \ --description "My Transit Gateway" \ --region us-west-2

그런 다음 응답은 전송 게이트웨이가 생성되었음을 보여줍니다. 응답에서 반환Options되는는 모두 기본값입니다.

{ "TransitGateway": { "TransitGatewayId": "tgw-1234567890abcdef0", "TransitGatewayArn": "arn:aws:ec2:us-west-2:123456789012:transit-gateway/tgw-1234567890abcdef0", "State": "pending", "OwnerId": "123456789012", "Description": "My Transit Gateway", "CreationTime": "2025-06-23T17:39:33+00:00", "Options": { "AmazonSideAsn": 64512, "AutoAcceptSharedAttachments": "disable", "DefaultRouteTableAssociation": "enable", "AssociationDefaultRouteTableId": "tgw-rtb-abcdef1234567890a", "DefaultRouteTablePropagation": "enable", "PropagationDefaultRouteTableId": "tgw-rtb-abcdef1234567890a", "VpnEcmpSupport": "enable", "DnsSupport": "enable", "SecurityGroupReferencingSupport": "disable", "MulticastSupport": "disable" } } }
참고

이 명령은 ID를 포함하여 새 전송 게이트웨이에 대한 정보를 반환합니다. 전송 게이트웨이 ID(tgw-1234567890abcdef0)는 후속 단계에서 필요하므로 기록해 둡니다.

2단계: 전송 게이트웨이 가용성 상태 확인

전송 게이트웨이를 생성하면 pending 상태가 됩니다. 상태는 보류 중에서 자동으로 사용 가능으로 변경되지만, 상태가 변경될 때까지 VPCs를 연결할 수 없습니다. 상태를 확인하려면 필터 옵션과 함께 새로 생성된 전송 게이트웨이 ID를 사용하여 describe-transit-gatweways 명령을 실행합니다. filters 옵션은 Name=stateValues=available 페어를 사용합니다. 그런 다음 명령은를 검색하여 전송 게이트웨이의 상태가 사용 가능한 상태인지 확인합니다. 그렇다면 응답에가 표시됩니다"State": "available". 다른 상태인 경우 아직 사용할 수 없습니다. 명령을 실행하기 전에 몇 분 정도 기다립니다.

describe-transit-gateways 명령에 대한 자세한 내용은 describe-transit-gateways를 참조하세요.

aws ec2 describe-transit-gateways \ --transit-gateway-ids tgw-1234567890abcdef0 \ --filters Name=state,Values=available

전송 게이트웨이 상태가에서 pending 로 변경될 때까지 기다렸다가 available 계속 진행합니다. 다음 응답에서 State가 로 변경되었습니다available.

{ "TransitGateways": [ { "TransitGatewayId": "tgw-1234567890abcdef0", "TransitGatewayArn": "arn:aws:ec2:us-west-2:123456789012:transit-gateway/tgw-1234567890abcdef0", "State": "available", "OwnerId": "123456789012", "Description": "My Transit Gateway", "CreationTime": "2022-04-20T19:58:25+00:00", "Options": { "AmazonSideAsn": 64512, "AutoAcceptSharedAttachments": "disable", "DefaultRouteTableAssociation": "enable", "AssociationDefaultRouteTableId": "tgw-rtb-abcdef1234567890a", "DefaultRouteTablePropagation": "enable", "PropagationDefaultRouteTableId": "tgw-rtb-abcdef1234567890a", "VpnEcmpSupport": "enable", "DnsSupport": "enable", "SecurityGroupReferencingSupport": "disable", "MulticastSupport": "disable" }, "Tags": [ { "Key": "Name", "Value": "example-transit-gateway" } ] } ] }

3단계: VPCs 전송 게이트웨이에 연결

전송 게이트웨이를 사용할 수 있게 되면를 사용하여 각 VPC에 대한 연결을 생성합니다create-transit-gateway-vpc-attachment. transit-gateway-id, vpc-id및를 포함해야 합니다subnet-ids.

create-transit-vpc attachment 명령에 대한 자세한 내용은 create-transit-gateway-vpc-attachment를 참조하세요.

다음 예제에서 명령은 각 VPC에 대해 한 번씩 두 번 실행됩니다.

첫 번째 VPC의 경우 첫 번째 vpc_id 및를 사용하여 subnet-ids다음을 실행합니다.

aws ec2 create-transit-gateway-vpc-attachment \ --transit-gateway-id tgw-1234567890abcdef0 \ --vpc-id vpc-1234567890abcdef0 \ --subnet-ids subnet-1234567890abcdef0

응답에는 성공한 연결이 표시됩니다. 연결은 pending 상태로 생성됩니다. 자동으로 상태로 변경되므로이 available 상태를 변경할 필요가 없습니다. 몇 분 정도 걸릴 수 있습니다.

{ "TransitGatewayVpcAttachment": { "TransitGatewayAttachmentId": "tgw-attach-1234567890abcdef0", "TransitGatewayId": "tgw-1234567890abcdef0", "VpcId": "vpc-1234567890abcdef0", "VpcOwnerId": "123456789012", "State": "pending", "SubnetIds": [ "subnet-1234567890abcdef0", "subnet-abcdef1234567890" ], "CreationTime": "2025-06-23T18:35:11+00:00", "Options": { "DnsSupport": "enable", "SecurityGroupReferencingSupport": "enable", "Ipv6Support": "disable", "ApplianceModeSupport": "disable" } } }

두 번째 VPC의 경우 두 번째 vpc_id 및를 사용하여 위와 동일한 명령을 실행합니다subnet-ids.

aws ec2 create-transit-gateway-vpc-attachment \ --transit-gateway-id tgw-1234567890abcdef0 \ --vpc-id vpc-abcdef1234567890 \ --subnet-ids subnet-abcdef01234567890

이 명령에 대한 응답에는 연결 성공도 표시되며 연결은 현재 pending 상태입니다.

{ { "TransitGatewayVpcAttachment": { "TransitGatewayAttachmentId": "tgw-attach-abcdef1234567890", "TransitGatewayId": "tgw-1234567890abcdef0", "VpcId": "vpc-abcdef1234567890", "VpcOwnerId": "123456789012", "State": "pending", "SubnetIds": [ "subnet-fedcba0987654321", "subnet-0987654321fedcba" ], "CreationTime": "2025-06-23T18:42:56+00:00", "Options": { "DnsSupport": "enable", "SecurityGroupReferencingSupport": "enable", "Ipv6Support": "disable", "ApplianceModeSupport": "disable" } } }

4단계: 전송 게이트웨이 연결을 사용할 수 있는지 확인

전송 게이트웨이 연결은 초기 pending 상태로 생성됩니다. 상태가 로 변경될 때까지 경로에서 이러한 연결을 사용할 수 없습니다available. 이는 자동으로 발생합니다. 와 함께 describe-transit-gateways 명령을 사용하여를 transit-gateway-id확인합니다State. describe-transit-gateways 명령에 대한 자세한 내용은 describe-transit-gateways를 참조하세요.

다음 명령을 실행하여 상태를 확인합니다. 이 예제에서는 선택적 NameValues 필터 필드가 요청에 전달됩니다.

aws ec2 describe-transit-gateway-vpc-attachments \ --filters Name=transit-gateway-id,Values=tgw-1234567890abcdef0

다음 응답은 두 연결 모두 available 상태임을 보여줍니다.

{ "TransitGatewayVpcAttachments": [ { "TransitGatewayAttachmentId": "tgw-attach-1234567890abcdef0", "TransitGatewayId": "tgw-1234567890abcdef0", "VpcId": "vpc-1234567890abcdef0", "VpcOwnerId": "123456789012", "State": "available", "SubnetIds": [ "subnet-1234567890abcdef0", "subnet-abcdef1234567890" ], "CreationTime": "2025-06-23T18:35:11+00:00", "Options": { "DnsSupport": "enable", "SecurityGroupReferencingSupport": "enable", "Ipv6Support": "disable", "ApplianceModeSupport": "disable" }, "Tags": [] }, { "TransitGatewayAttachmentId": "tgw-attach-abcdef1234567890", "TransitGatewayId": "tgw-1234567890abcdef0", "VpcId": "vpc-abcdef1234567890", "VpcOwnerId": "123456789012", "State": "available", "SubnetIds": [ "subnet-fedcba0987654321", "subnet-0987654321fedcba" ], "CreationTime": "2025-06-23T18:42:56+00:00", "Options": { "DnsSupport": "enable", "SecurityGroupReferencingSupport": "enable", "Ipv6Support": "disable", "ApplianceModeSupport": "disable" }, "Tags": [] } ] }

5단계: 전송 게이트웨이와 VPCs 간의 경로 추가

각 VPC 라우팅 테이블에 transit-gateway-id 대한와 함께 create-route 명령을 사용하여 전송 게이트웨이를 통해 트래픽을 다른 VPC로 보내도록 각 VPC의 라우팅 테이블에서 경로를 구성합니다. 다음 예제에서 명령은 각 라우팅 테이블에 대해 한 번씩 두 번 실행됩니다. 요청에는 생성 중인 각 VPC 경로에 transit-gateway-id 대한 route-table-iddestination-cidr-block, 및가 포함됩니다.

create-route 명령에 대한 자세한 내용은 create-route를 참조하세요.

첫 번째 VPC의 라우팅 테이블에 대해 다음 명령을 실행합니다.

aws ec2 create-route \ --route-table-id rtb-1234567890abcdef0 \ --destination-cidr-block 10.2.0.0/16 \ --transit-gateway-id tgw-1234567890abcdef0

두 번째 VPC의 라우팅 테이블에 대해 다음 명령을 실행합니다. 이 경로는 첫 번째 VPC와 destination-cidr-block 다른 route-table-id 및를 사용합니다. 그러나 단일 전송 게이트웨이만 사용하므로 동일한 transit-gateway-id가 사용됩니다.

aws ec2 create-route \ --route-table-id rtb-abcdef1234567890 \ --destination-cidr-block 10.1.0.0/16 \ --transit-gateway-id tgw-1234567890abcdef0

각 경로에 true 대한 응답이 반환되어 경로가 생성되었음을 나타냅니다.

{ "Return": true }
참고

대상 CIDR 블록을 VPCs.

6단계: 전송 게이트웨이 테스트

한 VPC의 EC2 인스턴스에 연결하고 다른 VPC의 인스턴스를 ping한 다음 ping 명령을 실행하여 전송 게이트웨이가 성공적으로 생성되었는지 확인할 수 있습니다.

  1. SSH 또는 EC2 Instance Connect를 사용하여 첫 번째 VPC의 EC2 인스턴스에 연결

  2. 두 번째 VPC에서 EC2 인스턴스의 프라이빗 IP 주소 ping:

    ping 10.2.0.50
    참고

    를 두 번째 VPC에 10.2.0.50 있는 EC2 인스턴스의 실제 프라이빗 IP 주소로 바꿉니다.

ping이 성공하면 전송 게이트웨이가 올바르게 구성되고 VPCs.

7단계: 전송 게이트웨이 연결 및 전송 게이트웨이 삭제

전송 게이트웨이가 더 이상 필요하지 않으면 삭제할 수 있습니다. 먼저 모든 첨부 파일을 삭제해야 합니다. 각 연결에 transit-gateway-attachment-id 대해를 사용하여 delete-transit-gateway-vpc-attachment 명령을 실행합니다. 명령을 실행한 후 delete-transit-gateway를 사용하여 전송 게이트웨이를 삭제합니다. 다음에서는 이전 단계에서 생성된 두 개의 VPC 연결과 단일 전송 게이트웨이를 삭제합니다.

중요

전송 게이트웨이 연결을 모두 삭제하면 요금 발생이 중지됩니다.

  1. delete-transit-gateway-vpc-attachment 명령을 사용하여 VPC 연결을 삭제합니다. delete-transit-gateway-vpc-attachment 명령에 대한 자세한 내용은 delete-transit-gateway-vpc-attachment를 참조하세요.

    첫 번째 연결의 경우 다음 명령을 실행합니다.

    aws ec2 delete-transit-gateway-vpc-attachment \ --transit-gateway-attachment-id tgw-attach-1234567890abcdef0

    첫 번째 VPC 연결에 대한 삭제 응답은 다음을 반환합니다.

    { "TransitGatewayVpcAttachment": { "TransitGatewayAttachmentId": "tgw-attach-1234567890abcdef0", "TransitGatewayId": "tgw-1234567890abcdef0", "VpcId": "vpc-abcdef1234567890", "VpcOwnerId": "123456789012", "State": "deleting", "CreationTime": "2025-06-23T18:42:56+00:00" } }

    두 번째 연결에 대해 delete-transit-gateway-vpc-attachment 명령을 실행합니다.

    aws ec2 delete-transit-gateway-vpc-attachment \ --transit-gateway-attachment-id tgw-attach-abcdef1234567890

    두 번째 VPC 연결에 대한 삭제 응답은 다음을 반환합니다.

    The response returns: { "TransitGatewayVpcAttachment": { "TransitGatewayAttachmentId": "tgw-attach-abcdef1234567890", "TransitGatewayId": "tgw-1234567890abcdef0", "VpcId": "vpc-abcdef1234567890", "VpcOwnerId": "123456789012", "State": "deleting", "CreationTime": "2025-06-23T18:42:56+00:00" } }
  2. 첨부 파일은 삭제될 때까지 deleting 상태입니다. 삭제한 후에는 전송 게이트웨이를 삭제할 수 있습니다. 와 함께 delete-transit-gateway 명령을 사용합니다transit-gateway-id. delete-transit-gateway 명령에 대한 자세한 내용은 delete-transit-gateway를 참조하세요.

    다음 예제에서는 위의 첫 번째 단계에서 생성한 My Transit Gateway를 삭제합니다.

    aws ec2 delete-transit-gateway \ --transit-gateway-id tgw-1234567890abcdef0

    다음은 전송 게이트웨이가 생성될 때 전송 게이트웨이에 대해 설정된 원래 옵션과 함께 삭제된 전송 게이트웨이 ID 및 이름이 포함된 요청에 대한 응답을 보여줍니다.

    { "TransitGateway": { "TransitGatewayId": "tgw-1234567890abcdef0", "TransitGatewayArn": "arn:aws:ec2:us-west-2:123456789012:transit-gateway/tgw-1234567890abcdef0", "State": "deleting", "OwnerId": "123456789012", "Description": "My Transit Gateway", "CreationTime": "2025-06-23T17:39:33+00:00", "Options": { "AmazonSideAsn": 64512, "AutoAcceptSharedAttachments": "disable", "DefaultRouteTableAssociation": "enable", "AssociationDefaultRouteTableId": "tgw-rtb-abcdef1234567890a", "DefaultRouteTablePropagation": "enable", "PropagationDefaultRouteTableId": "tgw-rtb-abcdef1234567890a", "VpnEcmpSupport": "enable", "DnsSupport": "enable", "SecurityGroupReferencingSupport": "disable", "MulticastSupport": "disable" }, "Tags": [ { "Key": "Name", "Value": "example-transit-gateway" } ] } }

결론

전송 게이트웨이를 성공적으로 생성하고, 두 개의 VPCs 연결하고, 두 VPC 간에 라우팅을 구성하고, 연결을 확인했습니다. 이 간단한 예제에서는 Amazon VPC Transit Gateway의 기본 기능을 보여줍니다. 온프레미스 네트워크에 연결하거나 고급 라우팅 구성을 구현하는 등 더 복잡한 시나리오는 Amazon VPC Transit Gateways 사용 설명서를 참조하세요.