Tutorial: Buat Gateway AWS Transit menggunakan baris AWS perintah - Amazon VPC

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Tutorial: Buat Gateway AWS Transit menggunakan baris AWS perintah

Dalam tutorial ini, Anda akan belajar bagaimana menggunakan AWS CLI untuk membuat gateway transit dan menghubungkan dua VPCs untuk itu. Anda akan membuat gateway transit, melampirkan keduanya VPCs, dan kemudian mengonfigurasi rute yang diperlukan untuk mengaktifkan komunikasi antara gateway transit dan rute Anda VPCs.

Prasyarat

Sebelum memulai, pastikan Anda memiliki:

  • AWS CLI diinstal dan dikonfigurasi dengan izin yang sesuai. Jika Anda belum AWS CLI menginstal, lihat Dokumentasi Antarmuka Baris AWS Perintah.

  • Tidak VPCs bisa identik atau tumpang tindih CIDRs. Untuk informasi selengkapnya, lihat Membuat VPC di Panduan Pengguna Amazon VPC.

  • Satu EC2 contoh di setiap VPC. Untuk langkah-langkah meluncurkan EC2 instance ke VPC, lihat Meluncurkan instance di EC2 Panduan Pengguna Amazon.

  • Grup keamanan dikonfigurasi untuk memungkinkan lalu lintas ICMP antar instance. Untuk langkah-langkah mengontrol lalu lintas menggunakan grup keamanan, lihat Mengontrol lalu lintas ke AWS sumber daya Anda menggunakan grup keamanan di Panduan Pengguna Amazon VPC.

  • Izin IAM yang sesuai untuk bekerja dengan gateway transit. Untuk memeriksa izin IAM gateway transit, lihat Identitas dan manajemen akses di Amazon VPC Transit Gateways dalam Panduan.AWS Transit Gateway

Langkah 1: Buat transit gateway

Saat Anda membuat gateway transit,AWS buat tabel rute gateway transit default dan menggunakannya sebagai tabel rute asosiasi default dan tabel rute propagasi default. Berikut ini menunjukkan contoh create-transit-gateway permintaan di us-west-2 Wilayah. Tambahan options diteruskan dalam permintaan. Untuk informasi selengkapnya tentang create-transit-gateway perintah, termasuk daftar opsi yang dapat Anda berikan dalam permintaan, lihat create-transit-gateway.

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

Respons kemudian menunjukkan bahwa gateway transit telah dibuat. Sebagai tanggapan, Options yang dikembalikan adalah semua nilai default.

{ "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" } } }
catatan

Perintah ini mengembalikan informasi tentang gateway transit baru Anda, termasuk ID-nya. Catat ID gateway transit (tgw-1234567890abcdef0) karena Anda akan membutuhkannya di langkah selanjutnya.

Langkah 2: Verifikasi status ketersediaan gateway transit

Saat Anda membuat gateway transit, itu ditempatkan dalam pending keadaan. Status akan berubah dari pending menjadi tersedia secara otomatis, tetapi sampai itu terjadi Anda tidak dapat melampirkan apa pun VPCs hingga status berubah. Untuk memverifikasi status, jalankan describe-transit-gatweways perintah menggunakan ID gateway transit yang baru dibuat bersama dengan opsi filter. filtersOpsi menggunakan Name=state dan Values=available berpasangan. Perintah kemudian mencari untuk memverifikasi apakah status gateway transit Anda dalam keadaan tersedia. Jika ya, responsnya menunjukkan"State": "available". Jika dalam keadaan lain maka itu belum tersedia untuk digunakan. Tunggu beberapa menit sebelum menjalankan perintah.

Untuk informasi selengkapnya tentang describe-transit-gateways perintah, lihat describe-transit-gateways.

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

Tunggu hingga status gateway transit berubah dari pending ke available sebelum melanjutkan. Dalam tanggapan berikut, State telah berubah menjadiavailable.

{ "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" } ] } ] }

Langkah 3: Lampirkan VPCs ke gateway transit Anda

Setelah gateway transit Anda tersedia, buat lampiran untuk setiap VPC menggunakan. create-transit-gateway-vpc-attachment Anda harus memasukkantransit-gateway-id,vpc-id, dansubnet-ids.

Untuk informasi selengkapnya tentang create-transit-vpc attachment perintah, lihat create-transit-gateway-vpc-attachment.

Dalam contoh berikut, perintah dijalankan dua kali, sekali untuk setiap VPC.

Untuk VPC pertama jalankan yang berikut ini menggunakan yang pertama vpc_id dan: subnet-ids

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

Tanggapan menunjukkan keterikatan yang berhasil. Lampiran dibuat dalam pending keadaan. Tidak perlu mengubah status ini karena berubah menjadi available status secara otomatis. Ini mungkin memakan waktu beberapa menit.

{ "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" } } }

Untuk VPC kedua, jalankan perintah yang sama seperti di atas menggunakan yang kedua vpc_id dan: subnet-ids

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

Respons untuk perintah ini juga menunjukkan lampiran yang berhasil, dengan lampiran saat ini dalam pending keadaan.

{ { "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" } } }

Langkah 4: Verifikasi bahwa lampiran gateway transit tersedia

Lampiran gateway transit dibuat dalam pending keadaan awal. Anda tidak akan dapat menggunakan lampiran ini di rute Anda sampai status berubah. available Ini terjadi secara otomatis. Gunakan describe-transit-gateways perintah, bersama dengantransit-gateway-id, untuk memeriksaState. Untuk informasi selengkapnya tentang describe-transit-gateways perintah, lihat describe-transit-gateways.

Jalankan perintah berikut untuk memeriksa status. Dalam contoh ini, bidang opsional Name dan Values filter diteruskan dalam permintaan:

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

Tanggapan berikut menunjukkan bahwa kedua lampiran dalam suatu available keadaan:

{ "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": [] } ] }

Langkah 5: Tambahkan rute antara gateway transit Anda dan VPCs

Konfigurasikan rute di setiap tabel rute VPC untuk mengarahkan lalu lintas ke VPC lain melalui gateway transit menggunakan create-route perintah bersama dengan untuk transit-gateway-id setiap tabel rute VPC. Dalam contoh berikut, perintah dijalankan dua kali, sekali untuk setiap tabel rute. Permintaan termasukroute-table-id,destination-cidr-block, dan transit-gateway-id untuk setiap rute VPC yang Anda buat.

Untuk informasi selengkapnya tentang create-route perintah, lihat create-route.

Untuk tabel rute VPC pertama jalankan perintah berikut:

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

Untuk tabel rute VPC kedua jalankan perintah berikut. Rute ini menggunakan route-table-id dan destination-cidr-block berbeda dari VPC pertama. Namun, karena Anda hanya menggunakan satu gateway transit, hal yang sama transit-gateway-id digunakan.

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

Respons kembali true untuk setiap rute, menunjukkan rute telah dibuat.

{ "Return": true }
catatan

Ganti blok CIDR tujuan dengan blok CIDR Anda yang sebenarnya. VPCs

Langkah 6: Uji gateway transit

Anda dapat mengonfirmasi bahwa gateway transit berhasil dibuat dengan menghubungkan ke EC2 instance di satu VPC dan melakukan ping instance di VPC lainnya, lalu menjalankan perintah. ping

  1. Connect ke EC2 instans Anda di VPC pertama menggunakan SSH atau Instance Connect EC2

  2. Ping alamat IP pribadi EC2 instance di VPC kedua:

    ping 10.2.0.50
    catatan

    Ganti 10.2.0.50 dengan alamat IP pribadi sebenarnya dari EC2 instans Anda di VPC kedua.

Jika ping berhasil, gateway transit Anda dikonfigurasi dengan benar dan merutekan lalu lintas di antara Anda VPCs.

Langkah 7: Hapus lampiran gateway transit dan gateway transit

Ketika Anda tidak lagi membutuhkan gateway transit, Anda dapat menghapusnya. Pertama, Anda harus menghapus semua lampiran. Jalankan delete-transit-gateway-vpc-attachment perintah, menggunakan transit-gateway-attachment-id untuk setiap lampiran. Setelah menjalankan perintah, gunakan delete-transit-gateway untuk menghapus gateway transit. Untuk hal berikut, hapus dua lampiran VPC dan gateway transit tunggal yang dibuat pada langkah sebelumnya.

penting

Anda akan berhenti mengeluarkan biaya setelah menghapus semua lampiran gateway transit.

  1. Hapus lampiran VPC menggunakan perintah. delete-transit-gateway-vpc-attachment Untuk informasi selengkapnya tentang delete-transit-gateway-vpc-attachment perintah, lihat delete-transit-gateway-vpc-attachment.

    Untuk lampiran pertama, jalankan perintah berikut:

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

    Tanggapan hapus untuk lampiran VPC pertama mengembalikan yang berikut:

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

    Jalankan delete-transit-gateway-vpc-attachment perintah untuk lampiran kedua:

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

    Tanggapan hapus untuk lampiran VPC kedua mengembalikan yang berikut:

    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. Lampiran berada dalam deleting keadaan sampai dihapus. Setelah dihapus, Anda kemudian dapat menghapus gateway transit. Gunakan delete-transit-gateway perintah bersama dengantransit-gateway-id. Untuk informasi selengkapnya tentang delete-transit-gateway perintah, lihat delete-transit-gateway.

    Contoh berikut menghapus My Transit Gateway yang Anda buat pada langkah pertama di atas:

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

    Berikut ini menunjukkan respons terhadap permintaan, yang mencakup ID dan nama gateway transit yang dihapus, bersama dengan opsi asli yang ditetapkan untuk gateway transit saat dibuat.

    { "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" } ] } }

Kesimpulan

Anda telah berhasil membuat gateway transit, melampirkan dua VPCs padanya, mengonfigurasi perutean di antara mereka, dan konektivitas terverifikasi. Contoh sederhana ini menunjukkan fungsionalitas dasar Amazon VPC Transit Gateways. Untuk skenario yang lebih kompleks, seperti menghubungkan ke jaringan lokal atau menerapkan konfigurasi perutean lanjutan, lihat Panduan Pengguna Gateway Transit VPC Amazon.