

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

# Gerbang virtual
<a name="virtual_gateways"></a>

**penting**  
Pemberitahuan akhir dukungan: Pada 30 September 2026, AWS akan menghentikan dukungan untuk. AWS App Mesh Setelah 30 September 2026, Anda tidak akan lagi dapat mengakses AWS App Mesh konsol atau AWS App Mesh sumber daya. Untuk informasi lebih lanjut, kunjungi posting blog ini [Migrasi dari AWS App Mesh ke Amazon ECS Service Connect](https://aws.amazon.com/blogs/containers/migrating-from-aws-app-mesh-to-amazon-ecs-service-connect). 

Gateway virtual memungkinkan sumber daya yang berada di luar mesh Anda untuk berkomunikasi dengan sumber daya yang ada di dalam mesh Anda. Gateway virtual mewakili proxy Envoy yang berjalan di layanan Amazon ECS, di layanan Kubernetes, atau di instans Amazon. EC2 Tidak seperti node virtual, yang mewakili Utusan yang berjalan dengan aplikasi, gateway virtual mewakili Utusan yang digunakan dengan sendirinya. 

Sumber daya eksternal harus dapat menyelesaikan nama DNS ke alamat IP yang ditetapkan ke layanan atau instance yang menjalankan Envoy. Envoy kemudian dapat mengakses semua konfigurasi App Mesh untuk sumber daya yang ada di dalam mesh. Konfigurasi untuk menangani permintaan masuk di Virtual Gateway ditentukan menggunakan [Rute Gateway](https://docs.aws.amazon.com/app-mesh/latest/userguide/gateway-routes.html).

**penting**  
Gateway virtual dengan HTTP atau HTTP2 listener menulis ulang nama host permintaan masuk ke nama Layanan Virtual target Gateway Route, dan awalan yang cocok dari Rute Gateway ditulis ulang, secara default. `/` Misalnya, jika Anda telah mengonfigurasi awalan pencocokan rute Gateway ke`/chapter`, dan, jika permintaan masuk`/chapter/1`, permintaan akan ditulis ulang. `/1` Untuk mengonfigurasi penulisan ulang, lihat bagian [Membuat rute gateway](https://docs.aws.amazon.com/app-mesh/latest/userguide/gateway-routes.html#create-gateway-route) dari Rute Gateway.  
Saat membuat gateway virtual, `proxyConfiguration` dan tidak `user` harus dikonfigurasi.

Untuk menyelesaikan end-to-end penelusuran, lihat [Mengonfigurasi](https://github.com/aws/aws-app-mesh-examples/tree/main/walkthroughs/howto-ingress-gateway) Gateway Masuk.

## Membuat gateway virtual
<a name="create-virtual-gateway"></a>

**catatan**  
Saat membuat Gateway Virtual, Anda harus menambahkan pemilih namespace dengan label untuk mengidentifikasi daftar ruang nama yang dapat digunakan untuk mengaitkan Rute Gateway ke Gateway Virtual yang dibuat.

------
#### [ Konsol Manajemen AWS ]

**Untuk membuat gateway virtual menggunakan Konsol Manajemen AWS**

1. Buka konsol App Mesh di [https://console.aws.amazon.com/appmesh/](https://console.aws.amazon.com/appmesh/). 

1. Pilih mesh di mana Anda ingin membuat gateway virtual. Semua jerat yang Anda miliki dan yang telah [dibagikan](sharing.md) dengan Anda terdaftar.

1. Pilih **gateway Virtual** di navigasi kiri.

1. Pilih **Buat gateway virtual**.

1. Untuk **nama gateway Virtual**, masukkan nama untuk gateway virtual Anda.

1. (Opsional, tetapi disarankan) Konfigurasikan **default kebijakan Klien**.

   1. (Opsional) Pilih **Terapkan TLS** jika Anda ingin gateway hanya berkomunikasi dengan layanan virtual menggunakan Transport Layer Security (TLS).

   1. (Opsional) Untuk **Port**, tentukan satu atau beberapa port tempat Anda ingin menerapkan komunikasi TLS dengan layanan virtual.

   1. Untuk **metode Validasi**, pilih salah satu opsi berikut. Sertifikat yang Anda tentukan harus sudah ada dan memenuhi persyaratan khusus. Untuk informasi selengkapnya, lihat [Persyaratan sertifikat](tls.md#virtual-node-tls-prerequisites).
      + **AWS Private Certificate Authority**hosting — Pilih satu atau lebih **Sertifikat** yang ada.
      + Hosting **Envoy Secret Discovery Service (SDS)** - Masukkan nama rahasia yang diambil Utusan menggunakan Secret Discovery Service.
      + **Hosting file lokal** - Tentukan jalur ke file **rantai Sertifikat** pada sistem file tempat Utusan digunakan.

   1. (Opsional) Masukkan **Nama Alternatif Subjek**. Untuk menambahkan tambahan SANs, pilih **Tambahkan SAN**. SANs harus diformat FQDN atau URI.

   1. (Opsional) Pilih **Berikan sertifikat klien** dan salah satu opsi di bawah ini untuk memberikan sertifikat klien saat server memintanya dan mengaktifkan otentikasi TLS bersama. Untuk mempelajari selengkapnya tentang TLS timbal balik, lihat dokumen [Otentikasi TLS Mutual](https://docs.aws.amazon.com/app-mesh/latest/userguide/mutual-tls.html) App Mesh.
      + Hosting **Envoy Secret Discovery Service (SDS)** - Masukkan nama rahasia yang diambil Utusan menggunakan Secret Discovery Service.
      + **Hosting file lokal** - Tentukan jalur ke file **rantai Sertifikat**, serta **kunci Pribadi**, pada sistem file tempat Utusan digunakan. Untuk mengetahui selengkapnya tentang penerapan mesh dengan aplikasi sampel menggunakan enkripsi dengan file lokal, lihat [Mengonfigurasi TLS dengan Sertifikat TLS yang Disediakan File](https://github.com/aws/aws-app-mesh-examples/tree/main/walkthroughs/howto-tls-file-provided) pada. end-to-end GitHub

1. (Opsional) Untuk mengkonfigurasi logging, pilih **Logging**. Masukkan **jalur log akses HTTP** yang ingin digunakan oleh Envoy. Kami merekomendasikan `/dev/stdout` jalur sehingga Anda dapat menggunakan driver log Docker untuk mengekspor log Utusan Anda ke layanan seperti Amazon Logs. CloudWatch 
**catatan**  
Log masih harus dicerna oleh agen dalam aplikasi Anda dan dikirim ke tujuan. Jalur file ini hanya menginstruksikan Utusan ke mana harus mengirim log. 

1. Konfigurasikan **Listener**.

   1. Pilih **Protokol** dan tentukan **Port** tempat Utusan mendengarkan lalu lintas. Pendengar **http** mengizinkan transisi koneksi ke soket web. Anda dapat mengklik **Add Listener** untuk menambahkan beberapa pendengar. Tombol **Hapus** akan menghapus pendengar itu.

   1. (Opsional) **Aktifkan kumpulan koneksi** 

      Penggabungan koneksi membatasi jumlah koneksi yang dapat dibuat oleh Utusan Gateway Virtual secara bersamaan. Hal ini dimaksudkan untuk melindungi instans Utusan Anda dari kewalahan dengan koneksi dan memungkinkan Anda menyesuaikan pembentukan lalu lintas untuk kebutuhan aplikasi Anda.

      Anda dapat mengonfigurasi pengaturan kumpulan koneksi sisi tujuan untuk pendengar gateway virtual. App Mesh menetapkan pengaturan kumpulan koneksi sisi klien ke tak terbatas secara default, menyederhanakan konfigurasi mesh.
**catatan**  
Protokol `connectionPool` dan `connectionPool` PortMapping harus sama. Jika protokol pendengar Anda adalah `grpc` atau`http2`, tentukan `maxRequests` saja. Jika protokol pendengar Anda`http`, Anda dapat menentukan keduanya `maxConnections` dan`maxPendingRequests`. 
      + Untuk **Koneksi maksimum**, tentukan jumlah maksimum koneksi keluar.
      + Untuk **permintaan Maksimum**, tentukan jumlah maksimum permintaan paralel yang dapat dibuat dengan Virtual Gateway Envoy.
      + (Opsional) Untuk **permintaan tertunda maksimum**, tentukan jumlah permintaan yang meluap setelah **Koneksi maksimum** yang antrian oleh Utusan. Nilai default-nya adalah `2147483647`.

   1. (Opsional) Jika Anda ingin mengonfigurasi pemeriksaan kesehatan untuk pendengar Anda, pilih **Aktifkan pemeriksaan kesehatan**.

      Kebijakan pemeriksaan kesehatan bersifat opsional, tetapi jika Anda menentukan nilai apa pun untuk kebijakan kesehatan, maka Anda harus menentukan nilai untuk **ambang batas Sehat**, **Interval pemeriksaan Kesehatan**, **Protokol pemeriksaan Kesehatan**, **Periode waktu tunggu**, dan **ambang tidak sehat**.
      + Untuk **protokol pemeriksaan Kesehatan**, pilih protokol. Jika Anda memilih **grpc**, maka layanan Anda harus sesuai dengan Protokol Pemeriksaan [Kesehatan GRPC](https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
      + Untuk **port pemeriksaan Kesehatan**, tentukan port tempat pemeriksaan kesehatan harus dijalankan.
      + Untuk **ambang sehat**, tentukan jumlah pemeriksaan kesehatan yang berhasil berturut-turut yang harus dilakukan sebelum menyatakan pendengar sehat.
      + Untuk **interval pemeriksaan Kesehatan**, tentukan periode waktu dalam milidetik antara setiap eksekusi pemeriksaan kesehatan.
      + Untuk **Path**, tentukan jalur tujuan untuk permintaan pemeriksaan kesehatan. Nilai ini hanya digunakan jika **protokol pemeriksaan Kesehatan** adalah `http` atau`http2`. Nilai diabaikan untuk protokol lain.
      + Untuk **periode Timeout**, tentukan jumlah waktu untuk menunggu saat menerima respons dari pemeriksaan kesehatan dalam milidetik.
      + Untuk **ambang tidak sehat**, tentukan jumlah pemeriksaan kesehatan gagal berturut-turut yang harus dilakukan sebelum menyatakan pendengar tidak sehat.

   1. (Opsional) Jika Anda ingin menentukan apakah klien berkomunikasi dengan gateway virtual ini menggunakan TLS, lalu pilih **Aktifkan penghentian TLS**.
      + Untuk **Mode**, pilih mode yang Anda inginkan untuk dikonfigurasi TLS pada pendengar.
      + Untuk **metode Sertifikat**, pilih salah satu opsi berikut. Sertifikat harus memenuhi persyaratan khusus. Untuk informasi selengkapnya, lihat [Persyaratan sertifikat](tls.md#virtual-node-tls-prerequisites).
        + **AWS Certificate Manager hosting** — Pilih **Sertifikat** yang ada.
        + Hosting **Envoy Secret Discovery Service (SDS)** - Masukkan nama rahasia yang diambil Utusan menggunakan Secret Discovery Service.
        + **Hosting file lokal** - Tentukan jalur ke **rantai Sertifikat** dan file **kunci pribadi** pada sistem file tempat Utusan digunakan.
      + (Opsional) Pilih **Memerlukan sertifikat klien** dan salah satu opsi di bawah ini untuk mengaktifkan otentikasi TLS timbal balik jika klien memberikan sertifikat. Untuk mempelajari selengkapnya tentang TLS timbal balik, lihat dokumen [Otentikasi TLS Mutual](https://docs.aws.amazon.com/app-mesh/latest/userguide/mutual-tls.html) App Mesh.
        + Hosting **Envoy Secret Discovery Service (SDS)** - Masukkan nama rahasia yang diambil Utusan menggunakan Secret Discovery Service.
        + **Hosting file lokal** - Tentukan jalur ke file **rantai Sertifikat** pada sistem file tempat Utusan digunakan.
      + (Opsional) Masukkan **Nama Alternatif Subjek**. Untuk menambahkan tambahan SANs, pilih **Tambahkan SAN**. SANs harus diformat FQDN atau URI.

1. Pilih **Buat gateway virtual** untuk menyelesaikan.

------
#### [ AWS CLI ]

**Untuk membuat gateway virtual menggunakan file AWS CLI.**

Buat gateway virtual menggunakan perintah berikut dan masukan JSON (ganti *red* nilai dengan milik Anda sendiri):

1. 

   ```
   aws appmesh create-virtual-gateway \ 
   --mesh-name meshName \ 
   --virtual-gateway-name virtualGatewayName \ 
   --cli-input-json file://create-virtual-gateway.json
   ```

1. Isi **contoh** create-virtual-gateway .json:

   ```
   {
       "spec": {
         "listeners": [
           {
             "portMapping": {
               "port": 9080,
               "protocol": "http"
             }
           }
         ]
       }
   }
   ```

1. Contoh output:

   ```
   {
       "virtualGateway": {
           "meshName": "meshName",
           "metadata": {
               "arn": "arn:aws:appmesh:us-west-2:123456789012:mesh/meshName/virtualGateway/virtualGatewayName",
               "createdAt": "2022-04-06T10:42:42.015000-05:00",
               "lastUpdatedAt": "2022-04-06T10:42:42.015000-05:00",
               "meshOwner": "123456789012",
               "resourceOwner": "123456789012",
               "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE",
               "version": 1
           },
           "spec": {
               "listeners": [
                   {
                       "portMapping": {
                           "port": 9080,
                           "protocol": "http"
                       }
                   }
               ]
           },
           "status": {
               "status": "ACTIVE"
           },
           "virtualGatewayName": "virtualGatewayName"
       }
   }
   ```

Untuk informasi selengkapnya tentang membuat gateway virtual dengan AWS CLI for App Mesh, lihat [create-virtual-gateway](https://docs.aws.amazon.com/cli/latest/reference/appmesh/create-virtual-gateway.html)perintah di AWS CLI referensi.

------

## Menyebarkan gateway virtual
<a name="deploy-virtual-gateway"></a>

[Menerapkan layanan Amazon ECS atau Kubernetes yang hanya berisi container Envoy.](envoy.md) Anda juga dapat menerapkan container Envoy di instans Amazon. EC2 Untuk informasi selengkapnya, lihat [Memulai App Mesh dan Amazon EC2](https://docs.aws.amazon.com/app-mesh/latest/userguide/getting-started-ec2.html). Untuk informasi selengkapnya tentang cara menerapkan di Amazon ECS, lihat [Memulai App Mesh dan Amazon ECS atau Memulai App Mesh AWS](https://docs.aws.amazon.com/app-mesh/latest/userguide/getting-started-ecs.html) [dan Kubernetes untuk diterapkan ke Kubernetes](https://docs.aws.amazon.com/app-mesh/latest/userguide/getting-started-kubernetes.html). Anda perlu mengatur variabel `APPMESH_RESOURCE_ARN` lingkungan ke `mesh/mesh-name/virtualGateway/virtual-gateway-name` dan Anda tidak boleh menentukan konfigurasi proxy sehingga lalu lintas proxy tidak diarahkan ke dirinya sendiri. Secara default, App Mesh menggunakan nama sumber daya yang Anda tentukan `APPMESH_RESOURCE_ARN` saat Envoy merujuk dirinya sendiri dalam metrik dan jejak. Anda dapat menimpa perilaku ini dengan mengatur variabel lingkungan `APPMESH_RESOURCE_CLUSTER ` dengan nama Anda sendiri.

Kami menyarankan Anda menerapkan beberapa instance kontainer dan menyiapkan Network Load Balancer untuk memuat lalu lintas keseimbangan ke instans. Nama penemuan layanan penyeimbang beban adalah nama yang Anda inginkan untuk digunakan layanan eksternal untuk mengakses sumber daya yang ada di mesh, seperti*myapp.example.com*. Untuk informasi selengkapnya lihat [Membuat Network Load Balancer](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/create-network-load-balancer.html) (Amazon ECS), [Membuat Load Balancer Eksternal](https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/) (Kubernetes), atau [Tutorial: Meningkatkan ketersediaan aplikasi Anda di](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-increase-availability.html) Amazon. EC2 Anda juga dapat menemukan lebih banyak contoh dan penelusuran di contoh [App](https://docs.aws.amazon.com/app-mesh/latest/userguide/examples.html) Mesh kami.

Aktifkan otorisasi proxy untuk Utusan. Untuk informasi selengkapnya, lihat [Otorisasi Proxy Utusan](proxy-authorization.md).

## Menghapus gateway virtual
<a name="delete-virtual-gateway"></a>

------
#### [ Konsol Manajemen AWS ]

**Untuk menghapus gateway virtual menggunakan Konsol Manajemen AWS**

1. Buka konsol App Mesh di [https://console.aws.amazon.com/appmesh/](https://console.aws.amazon.com/appmesh/). 

1. Pilih mesh dari mana Anda ingin menghapus gateway virtual. Semua jerat yang Anda miliki dan yang telah [dibagikan](sharing.md) dengan Anda terdaftar.

1. Pilih **gateway Virtual** di navigasi kiri.

1. Pilih gateway virtual yang ingin Anda hapus dan pilih **Hapus**. Anda tidak dapat menghapus gateway virtual jika memiliki rute gateway terkait. Anda harus menghapus rute gateway terkait terlebih dahulu. Anda hanya dapat menghapus gateway virtual di mana akun Anda terdaftar sebagai **pemilik Sumber Daya**.

1. Di kotak konfirmasi, ketik **delete** lalu pilih **Hapus**.

------
#### [ AWS CLI ]

**Untuk menghapus gateway virtual menggunakan AWS CLI**

1. Gunakan perintah berikut untuk menghapus gateway virtual Anda (ganti *red* nilainya dengan milik Anda sendiri):

   ```
   aws appmesh delete-virtual-gateway \
        --mesh-name meshName \
        --virtual-gateway-name virtualGatewayName
   ```

1. Contoh output:

   ```
   {
       "virtualGateway": {
           "meshName": "meshName",
           "metadata": {
               "arn": "arn:aws:appmesh:us-west-2:123456789012:mesh/meshName/virtualGateway/virtualGatewayName",
               "createdAt": "2022-04-06T10:42:42.015000-05:00",
               "lastUpdatedAt": "2022-04-07T10:57:22.638000-05:00",
               "meshOwner": "123456789012",
               "resourceOwner": "123456789012",
               "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE",
               "version": 2
           },
           "spec": {
               "listeners": [
                   {
                       "portMapping": {
                           "port": 9080,
                           "protocol": "http"
                       }
                   }
               ]
           },
           "status": {
               "status": "DELETED"
           },
           "virtualGatewayName": "virtualGatewayName"
       }
   }
   ```

Untuk informasi selengkapnya tentang menghapus gateway virtual dengan AWS CLI for App Mesh, lihat [delete-virtual-gateway](https://docs.aws.amazon.com/cli/latest/reference/appmesh/delete-virtual-gateway.html)perintah di AWS CLI referensi.

------