Gateway virtual - AWS App Mesh

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

Gateway virtual

Gateway virtual mengizinkan sumber daya yang berada di luar mesh Anda untuk berkomunikasi dengan sumber daya yang berada di dalam mesh Anda. Gateway virtual mewakili proksi Envoy yang berjalan di layanan Amazon ECS, di layanan Kubernetes, atau pada instans Amazon EC2. Tidak seperti simpul virtual, yang mewakili Envoy yang berjalan dengan aplikasi, gateway virtual mewakili Envoy yang di-deploy sendiri.

Sumber daya eksternal harus dapat menyelesaikan nama DNS ke alamat IP yang ditetapkan ke layanan atau instance yang menjalankan Utusan. Utusan 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.

penting

Gateway virtual dengan pendengar HTTP atau HTTP2 menulis ulang nama host permintaan masuk ke nama Layanan Virtual target Gateway Route, dan awalan yang cocok dari Gateway Route ditulis ulang ke/, secara default. Misalnya, jika Anda telah mengonfigurasi awalan pencocokan rute Gateway ke/chapter, dan, jika permintaan yang masuk/chapter/1, permintaan akan ditulis ulang/1. Untuk mengonfigurasi penulisan ulang, lihat bagian Creating a gateway route dari Gateway Routes.

Saat membuat gateway virtual,proxyConfiguration dan tidakuser boleh dikonfigurasi.

Untuk menyelesaikan end-to-end panduan, lihat Mengonfigurasi Inbound Gateway.

Membuat gateway virtual

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.

AWS Management Console
Untuk membuat gateway virtual menggunakanAWS Management Console
  1. Buka konsol App Mesh di https://console.aws.amazon.com/appmesh/.

  2. Pilih mesh tempat Anda ingin membuat gateway virtual. Semua jerat yang Anda miliki dan yang telah dibagikan dengan Anda terdaftar.

  3. Pilih Gateway virtual di navigasi kiri.

  4. Pilih Buat gateway virtual.

  5. Untuk nama gateway virtual, masukkan nama untuk gateway virtual Anda.

  6. (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).

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

    3. Untuk metode validasi, pilih salah satu opsi berikut. Sertifikat yang Anda tentukan harus sudah ada dan memenuhi persyaratan tertentu. Untuk informasi selengkapnya, lihat Persyaratan sertifikat.

      • AWS Private Certificate Authorityhosting - Pilih satu atau lebih Sertifikat yang ada.

      • Hosting Utusan 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.

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

    5. (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 lebih lanjut tentang TLS timbal balik, lihat dokumen App Mesh Mutual TLS Authentication.

      • Hosting Utusan 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 menyelesaikan, end-to-end berjalan melalui penerapan mesh dengan aplikasi sampel menggunakan enkripsi dengan file lokal, lihat Mengonfigurasi TLS dengan File Disediakan Sertifikat TLS pada GitHub.

  7. (Opsional) Untuk mengkonfigurasi logging, dipilih Logging. Masukkan jalur log akses HTTP yang ingin Anda gunakan Utusan. Kami merekomendasikan/dev/stdout jalur agar Anda dapat menggunakan driver log Docker untuk mengekspor log Utusan Anda ke layanan seperti Amazon CloudWatch Logs.

    catatan

    Log masih harus dicerna oleh agen dalam aplikasi Anda dan dikirim ke tujuan. Path file ini hanya menginstruksikan Utusan mana untuk mengirim log.

  8. Konfigurasikan Listener.

    1. Pilih Protokol dan tentukan Port tempat Utusan mendengarkan lalu lintas. Pendengar http memungkinkan transisi koneksi ke websockets. Anda dapat mengklik Tambah Pendengar untuk menambahkan beberapa pendengar. Tombol Hapus akan menghapus pendengar itu.

    2. (Opsional) Aktifkan kolam koneksi

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

      Anda dapat mengonfigurasi pengaturan kolam koneksi sisi tujuan untuk pendengar gateway virtual. App Mesh menetapkan pengaturan kolam koneksi sisi klien ke tak terbatas secara default, menyederhanakan konfigurasi mesh.

      catatan

      ProtokolconnectionPool danconnectionPool PortMapping harus sama. Jika protokol listener Anda adalahgrpc atauhttp2, tentukanmaxRequests saja. Jika protokol listener Andahttp, Anda dapat menentukan keduanyamaxConnections danmaxPendingRequests.

      • Untuk Koneksi maksimum, tentukan jumlah maksimum koneksi keluar.

      • Untuk Permintaan maksimum, tentukan jumlah maksimum permintaan parallel yang dapat dibuat dengan Utusan Gateway Virtual.

      • (Opsional) Untuk Permintaan tertunda maksimum, tentukan jumlah permintaan yang meluap setelah Koneksi maksimum yang antrian Utusan. Nilai default-nya adalah 2147483647.

    3. (Opsional) Jika Anda ingin mengonfigurasi pemeriksaan kesehatan untuk pendengar, lalu pilih Aktifkan pemeriksaan kesehatan.

      Kebijakan pemeriksaan Health bersifat opsional, tetapi jika Anda menentukan nilai apa pun untuk kebijakan Health, maka Anda harus menentukan nilai untuk ambang sehat, Interval pemeriksaan kesehatan, protokol pemeriksaan kesehatan, Periode waktu habis, dan ambang tidak sehat.

      • Untuk protokol pemeriksaan Health, pilih protokol. Jika Anda memilih grpc, maka layanan Anda harus sesuai dengan GRPC Protokol Pemeriksaan Health.

      • Untuk port pemeriksaan Health, tentukan port tempat pemeriksaan kesehatan harus dijalankan.

      • Untuk ambang sehat, tentukan jumlah pemeriksaan kesehatan berhasil berturut-turut yang harus terjadi sebelum menyatakan pendengar sehat.

      • Untuk interval pemeriksaan Health, tentukan periode waktu dalam milidetik antara setiap pelaksanaan pemeriksaan kondisi.

      • Untuk Jalur, tentukan jalur tujuan untuk permintaan pemeriksaan kesehatan. Nilai ini hanya digunakan jika protokol pemeriksaan Health adalahhttp atauhttp2. 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 yang gagal berturut-turut yang harus terjadi sebelum menyatakan pendengar tidak sehat.

    4. (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 di listener.

      • Untuk metode Sertifikat, pilih salah satu opsi berikut. Sertifikat harus memenuhi persyaratan tertentu. Untuk informasi selengkapnya, lihat Persyaratan sertifikat.

        • AWS Certificate Managerhosting - Pilih Sertifikat yang ada.

        • Hosting Utusan 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 bersama jika klien memberikan sertifikat. Untuk mempelajari lebih lanjut tentang TLS timbal balik, lihat dokumen App Mesh Mutual TLS Authentication.

        • Hosting Utusan 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 SAN tambahan, pilih Add SAN. SANs harus FQDN atau URI diformat.

  9. Pilih Buat gateway virtual untuk menyelesaikan.

AWS CLI

Untuk membuat gateway virtual menggunakanAWS CLI.

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

  1. aws appmesh create-virtual-gateway \ --mesh-name meshName \ --virtual-gateway-name virtualGatewayName \ --cli-input-json file://create-virtual-gateway.json
  2. Isi contoh create-virtual-gateway .json:

    { "spec": { "listeners": [ { "portMapping": { "port": 9080, "protocol": "http" } } ] } }
  3. Contoh keluaran:

    { "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 cara membuat gateway virtual denganAWS CLI for App Mesh, lihat create-virtual-gatewayperintah diAWS CLI referensi.

Menyebarkan gateway virtual

Menyebarkan layanan Amazon ECS atau Kubernetes yang hanya berisi container Envoy. Anda juga dapat men-deploy kontainer Envoy pada instans Amazon EC2. Untuk informasi selengkapnya, lihat Memulai dengan App Mesh dan Amazon EC2. Untuk informasi selengkapnya tentang cara men-deploy di Amazon ECS, lihat Memulai App Mesh dan Amazon ECS atau MemulaiAWS App Mesh dan Kubernetes untuk diterapkan ke Kubernetes. Anda perlu mengatur variabelAPPMESH_RESOURCE_ARN lingkunganmesh/mesh-name/virtualGateway/virtual-gateway-name dan Anda tidak harus menentukan konfigurasi proxy sehingga lalu lintas proxy tidak bisa diarahkan ke dirinya sendiri. Secara default, App Mesh menggunakan nama sumber daya yang Anda tentukanAPPMESH_RESOURCE_ARN saat Envoy mengacu pada 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 container dan menyiapkan Network Load Balancer untuk memuat lalu lintas keseimbangan ke instans. Nama penemuan layanan load balancer 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 (Amazon ECS), Membuat External Load Balancer (Kubernetes), atau Tutorial: Meningkatkan ketersediaan aplikasi Anda di Amazon EC2. Anda juga dapat menemukan lebih banyak contoh dan panduan dalam contoh App Mesh kami.

Aktifkan otorisasi proxy untuk Utusan. Untuk informasi selengkapnya, lihat Otorisasi.

Menghapus gateway virtual

AWS Management Console
Untuk menghapus gateway virtual menggunakanAWS Management Console
  1. Buka konsol App Mesh di https://console.aws.amazon.com/appmesh/.

  2. Pilih mesh tempat Anda ingin menghapus gateway virtual. Semua jerat yang Anda miliki dan yang telah dibagikan dengan Anda terdaftar.

  3. Pilih Gateway virtual di navigasi kiri.

  4. 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 tempat akun Anda terdaftar sebagai pemilik Sumber Daya.

  5. Di kotak konfirmasi, ketikdelete dan kemudian pilih Hapus.

AWS CLI
Untuk menghapus gateway virtual menggunakanAWS CLI
  1. Gunakan perintah berikut untuk menghapus gateway virtual Anda (ganti nilai merah dengan milik Anda sendiri):

    aws appmesh delete-virtual-gateway \ --mesh-name meshName \ --virtual-gateway-name virtualGatewayName
  2. Contoh keluaran:

    { "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 denganAWS CLI for App Mesh, lihat delete-virtual-gatewayperintah diAWS CLI referensi.