

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
<a name="tgw-getting-started-cli"></a>

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
<a name="prerequisites"></a>

Sebelum Anda mulai, 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](https://docs.aws.amazon.com/vpc/latest/userguide/create-vpc.html) di Panduan Pengguna Amazon *VPC*.
+ Satu instans EC2 di setiap VPC. Untuk langkah-langkah meluncurkan instans EC2 ke dalam VPC, [lihat Meluncurkan instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html#ec2-launch-instance) di Panduan Pengguna *Amazon EC2*. 
+ 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](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-security-groups.html) 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 Gateway AWS Transit dalam](https://docs.aws.amazon.com/vpc/latest/tgw/transit-gateway-authentication-access-control.html) Panduan.AWS Transit Gateway * 

**Topics**
+ [Prasyarat](#prerequisites)
+ [Langkah 1: Buat transit gateway](#create-transit-gateway)
+ [Langkah 2: Verifikasi status ketersediaan gateway transit](#verify-state)
+ [Langkah 3: Lampirkan VPCs ke gateway transit Anda](#attach-vpcs)
+ [Langkah 4: Verifikasi bahwa lampiran gateway transit tersedia](#configure-routes)
+ [Langkah 5: Tambahkan rute antara gateway transit Anda dan VPCs](#create-routes)
+ [Langkah 6: Uji gateway transit](#test-connectivity)
+ [Langkah 7: Hapus lampiran gateway transit dan gateway transit](#cleanup)
+ [Kesimpulan](#conclusion)

## Langkah 1: Buat transit gateway
<a name="create-transit-gateway"></a>

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](https://docs.aws.amazon.com/cli/latest/reference/ec2/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
<a name="verify-state"></a>

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. `filters`Opsi 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](https://docs.aws.amazon.com/cli/latest/reference/ec2/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 menjadi`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"
                }
            ]
        }
    ]
}
```

## Langkah 3: Lampirkan VPCs ke gateway transit Anda
<a name="attach-vpcs"></a>

Setelah gateway transit Anda tersedia, buat lampiran untuk setiap VPC menggunakan. `create-transit-gateway-vpc-attachment` Anda harus memasukkan`transit-gateway-id`,`vpc-id`, dan`subnet-ids`.

Untuk informasi selengkapnya tentang `create-transit-vpc attachment` perintah, lihat [create-transit-gateway-vpc-attachment](https://docs.aws.amazon.com/cli/latest/reference/ec2/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
<a name="configure-routes"></a>

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 dengan`transit-gateway-id`, untuk memeriksa`State`. Untuk informasi selengkapnya tentang `describe-transit-gateways` perintah, lihat [describe-transit-gateways](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-route).

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
<a name="create-routes"></a>

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 termasuk`route-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](https://docs.aws.amazon.com/cli/latest/reference/ec2/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
<a name="test-connectivity"></a>

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

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

1. Ping alamat IP pribadi instans EC2 di VPC kedua:

   ```
   ping 10.2.0.50
   ```
**catatan**  
Ganti `10.2.0.50` dengan alamat IP pribadi sebenarnya dari instans EC2 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
<a name="cleanup"></a>

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](https://docs.aws.amazon.com/cli/latest/reference/ec2/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"
       }
   }
   ```

1. Lampiran berada dalam `deleting` keadaan sampai dihapus. Setelah dihapus, Anda kemudian dapat menghapus gateway transit. Gunakan `delete-transit-gateway` perintah bersama dengan`transit-gateway-id`. Untuk informasi selengkapnya tentang `delete-transit-gateway` perintah, lihat [delete-transit-gateway](https://docs.aws.amazon.com/cli/latest/reference/ec2/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
<a name="conclusion"></a>

Anda telah berhasil membuat gateway transit, melampirkan dua VPCs padanya, mengonfigurasi perutean di antara mereka, dan konektivitas terverifikasi. Contoh sederhana ini menunjukkan fungsionalitas dasar AWS Transit Gateways. Untuk skenario yang lebih kompleks, seperti menghubungkan ke jaringan lokal atau menerapkan konfigurasi perutean yang lebih maju, lihat Panduan Gateway [https://docs.aws.amazon.com/vpc/latest/tgw/what-is-transit-gateway.html](https://docs.aws.amazon.com/vpc/latest/tgw/what-is-transit-gateway.html).