Rute Gateway - AWS App Mesh

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

Rute Gateway

Rute gateway dilampirkan ke gateway virtual dan merutekan lalu lintas ke layanan virtual yang ada. Jika rute cocok dengan permintaan, ia dapat mendistribusikan lalu lintas ke layanan virtual target. Topik ini membantu Anda bekerja dengan rute gateway di mesh layanan.

Membuat rute gateway

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

  2. Pilih mesh tempat Anda ingin membuat rute gateway. 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 kaitkan dengan rute gateway baru. Jika tidak ada yang terdaftar, Anda harus membuat gateway. Anda hanya dapat membuat rute gateway untuk gateway virtual yang akun Anda terdaftar sebagai pemilik Sumber Daya.

  5. Di tabel rute Gateway, pilih Buat rute gateway.

  6. Untuk nama rute Gateway, tentukan nama yang akan digunakan untuk rute gateway Anda.

  7. Untuk Gateway jenis rute pilih http, http2, atau grpc.

  8. Pilih nama layanan Virtual yang ada. Jika tidak ada yang terdaftar, Anda harus membuat layanan virtual terlebih dahulu.

  9. Pilih port yang sesuai dengan target untuk port penyedia layanan Virtual. Port penyedia layanan virtual diperlukan ketika penyedia (router atau node) dari layanan virtual yang dipilih memiliki beberapa pendengar.

  10. (Opsional) Untuk Prioritas, tentukan prioritas untuk rute gateway ini.

  11. Untuk konfigurasi Match, tentukan:

    • Jika http/http2 adalah tipe yang dipilih:

      • (Opsional) Metode - Menentukan header metode yang akan dicocokkan dalam permintaan http /http2 yang masuk.

      • (Opsional) Pencocokan port - Cocokkan port untuk lalu lintas masuk. Pencocokan port diperlukan jika gateway virtual ini memiliki beberapa pendengar.

      • (Opsional) Nama host Tepat/Akhiran - Menentukan nama host yang harus dicocokkan pada permintaan masuk untuk merutekan ke layanan virtual target.

      • (Opsional) Awalan/Tepat/Regex path - Metode pencocokan jalur URL.

        • Pencocokan awalan - Permintaan yang cocok dengan rute gateway ditulis ulang ke nama layanan virtual target dan awalan yang cocok ditulis ulang ke/, secara default. Tergantung pada bagaimana Anda mengkonfigurasi layanan virtual Anda, itu bisa menggunakan router virtual untuk merutekan permintaan ke node virtual yang berbeda, berdasarkan awalan atau header tertentu.

          penting
          • Anda tidak dapat menentukan salah satu/aws-appmesh* atau/aws-app-mesh* untuk pencocokan Awalan. Awalan ini dicadangkan untuk penggunaan internal App Mesh di future.

          • Jika beberapa rute gateway didefinisikan, maka permintaan dicocokkan ke rute dengan awalan terpanjang. Misalnya, jika dua rute gateway ada, dengan satu memiliki awalan/chapter dan satu memiliki awalan/, maka permintaan untukwww.example.com/chapter/ akan dicocokkan ke rute gateway dengan/chapter awalan.

          catatan

          Jika Anda mengaktifkan pencocokan berbasis Path/Prefix, App Mesh memungkinkan normalisasi jalur (normalize_path dan merge_slashes) untuk meminimalkan kemungkinan kerentanan kebingungan jalur.

          Kerentanan kebingungan jalur terjadi ketika pihak yang berpartisipasi dalam permintaan menggunakan representasi jalur yang berbeda.

        • Pencocokan persis - Parameter yang tepat menonaktifkan pencocokan sebagian untuk rute dan memastikan bahwa itu hanya mengembalikan rute jika jalur adalah pencocokan TEPAT ke URL saat ini.

        • Regex match - Digunakan untuk menggambarkan pola di mana beberapa URL dapat benar-benar mengidentifikasi satu halaman di situs web.

      • (Opsional) Parameter kueri - Bidang ini memungkinkan Anda untuk mencocokkan parameter kueri.

      • (Opsional) Header - Menentukan header untuk http dan http2. Ini harus sesuai dengan permintaan yang masuk untuk merutekan ke layanan virtual target..

    • Jika grpc adalah tipe yang dipilih:

      • Jenis pencocokan nama host dan (opsional) Pencocokan tepat/Akhiran - Menentukan nama host yang harus dicocokkan pada permintaan masuk untuk merutekan ke layanan virtual target.

      • nama layanan grpc - Layanan grpc bertindak sebagai API untuk aplikasi Anda dan didefinisikan dengan ProtoBuf.

        penting

        Anda tidak dapat menentukan/aws.app-mesh* atauaws.appmesh untuk nama Layanan. Nama layanan ini dicadangkan untuk penggunaan internal App Mesh di future.

      • (Opsional) Metadata - Menentukan metadata untuk grpc. Ini harus sesuai dengan permintaan yang masuk ke rute ke layanan virtual target.

  12. (Opsional) Untuk konfigurasi Rewrite:

    • Jika http/http2 adalah tipe yang dipilih:

      • Jika Awalan adalah jenis kecocokan yang dipilih:

        • Ganti penulisan ulang otomatis nama host - Secara default nama host ditulis ulang ke nama layanan virtual target.

        • Ganti penulisan ulang otomatis awalan - Saat diaktifkan, penulisan ulang Awalan menentukan nilai awalan yang ditulis ulang.

      • Jika Exact Path adalah tipe kecocokan yang dipilih:

        • Ganti penulisan ulang otomatis nama host - secara default nama host ditulis ulang ke nama layanan virtual target.

        • Path menulis ulang - Menentukan nilai jalur yang ditulis ulang. Tidak ada jalur default.

      • Jika Regex Path adalah jenis kecocokan yang dipilih:

        • Ganti penulisan ulang otomatis nama host - secara default nama host ditulis ulang ke nama layanan virtual target.

        • Path menulis ulang - Menentukan nilai jalur yang ditulis ulang. Tidak ada jalur default.

    • Jika grpc adalah tipe yang dipilih:

      • Ganti penulisan ulang otomatis nama host - Secara default nama host ditulis ulang ke nama layanan virtual target.

  13. Pilih Buat rute gateway untuk menyelesaikan.

AWS CLI

Untuk membuat rute gateway menggunakanAWS CLI.

Buat rute gateway 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 \ --gateway-route-name gatewayRouteName \ --cli-input-json file://create-gateway-route.json
  2. Isi contoh create-gateway-route .json:

    { "spec": { "httpRoute" : { "match" : { "prefix" : "/" }, "action" : { "target" : { "virtualService": { "virtualServiceName": "serviceA.svc.cluster.local" } } } } } }
  3. Contoh keluaran:

    { "gatewayRoute": { "gatewayRouteName": "gatewayRouteName", "meshName": "meshName", "metadata": { "arn": "arn:aws:appmesh:us-west-2:210987654321:mesh/meshName/virtualGateway/virtualGatewayName/gatewayRoute/gatewayRouteName", "createdAt": "2022-04-06T11:05:32.100000-05:00", "lastUpdatedAt": "2022-04-06T11:05:32.100000-05:00", "meshOwner": "123456789012", "resourceOwner": "210987654321", "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "version": 1 }, "spec": { "httpRoute": { "action": { "target": { "virtualService": { "virtualServiceName": "serviceA.svc.cluster.local" } } }, "match": { "prefix": "/" } } }, "status": { "status": "ACTIVE" }, "virtualGatewayName": "gatewayName" } }

Untuk informasi selengkapnya tentang cara membuat rute gateway denganAWS CLI for App Mesh, lihat create-gateway-routeperintah diAWS CLI referensi.

Menghapus rute gateway

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

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

  3. Pilih Gateway virtual di navigasi kiri.

  4. Pilih gateway virtual dari mana Anda ingin menghapus rute gateway.

  5. Di tabel rute Gateway, pilih rute gateway yang ingin Anda hapus dan pilih Hapus. Anda hanya dapat menghapus rute gateway jika akun Anda terdaftar sebagai pemilik Sumber Daya.

  6. Di kotak konfirmasi, ketikdelete dan kemudian klik Hapus.

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

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

    { "gatewayRoute": { "gatewayRouteName": "gatewayRouteName", "meshName": "meshName", "metadata": { "arn": "arn:aws:appmesh:us-west-2:210987654321:mesh/meshName/virtualGateway/virtualGatewayName/gatewayRoute/gatewayRouteName", "createdAt": "2022-04-06T11:05:32.100000-05:00", "lastUpdatedAt": "2022-04-07T10:36:33.191000-05:00", "meshOwner": "123456789012", "resourceOwner": "210987654321", "uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE", "version": 2 }, "spec": { "httpRoute": { "action": { "target": { "virtualService": { "virtualServiceName": "serviceA.svc.cluster.local" } } }, "match": { "prefix": "/" } } }, "status": { "status": "DELETED" }, "virtualGatewayName": "virtualGatewayName" } }

Untuk informasi selengkapnya tentang menghapus rute gateway denganAWS CLI for App Mesh, lihat delete-gateway-routeperintah diAWS CLI referensi.