Mengatur mode routing untuk nama domain kustom Anda - Amazon API Gateway

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

Mengatur mode routing untuk nama domain kustom Anda

Anda dapat memilih mode perutean yang digunakan API Gateway untuk merutekan lalu lintas ke Anda APIs. Untuk informasi selengkapnya, lihat Kirim lalu lintas ke Anda APIs melalui nama domain kustom Anda di API Gateway. Bagian ini membahas mode routing untuk nama domain kustom. Anda harus mengatur mode routing untuk nama domain kustom Anda untuk mengarahkan lalu lintas ke Anda APIs. Mode perutean berikut didukung:

  • ROUTING_RULE_THEN_ API_MAPPING — Gunakan mode ini untuk mengirim lalu lintas ke Anda APIs dengan aturan perutean dan pemetaan API. Dalam mode ini, semua aturan perutean diprioritaskan daripada pemetaan API apa pun. Untuk contoh mode ini, lihatContoh 2: Aturan perutean dan pemetaan API.

  • ROUTING_RULE_ONLY — Gunakan mode ini untuk hanya mengizinkan aturan routing untuk mengirim lalu lintas ke Anda. APIs Ketika nama domain kustom Anda menggunakan mode ini, Anda tidak dapat membuat pemetaan API, tetapi Anda dapat menggunakan get-api-mappingsperintah untuk melihatnya. Pemanggil API tidak dapat menggunakan pemetaan API untuk mengakses nama domain ini.

  • API_MAPPING_ONLY — Gunakan mode ini untuk hanya mengizinkan pemetaan API untuk mengirim lalu lintas ke Anda. APIs Saat nama domain kustom Anda menggunakan mode ini, Anda tidak dapat membuat aturan perutean, tetapi Anda dapat menggunakan list-routing-rules perintah untuk melihatnya. Pemanggil API tidak dapat menggunakan aturan perutean untuk mengakses nama domain ini.

    Ini adalah mode routing default untuk semua nama domain yang ada, dan nama domain baru yang Anda buat.

Ketika Anda membuat nama domain kustom menggunakanapigateway, API_MAPPING_ONLY dipanggil BASE_PATH_MAPPING_ONLY dan ROUTING_RULE_THEN_API_MAPPING dipanggilROUTING_RULE_THEN_BASE_PATH_MAPPING. Perilaku ini hanya ada untuk AWS CLI, AWS CloudFormation, atau apa pun SDKs, tidak di AWS Management Console.

Prosedur berikut menunjukkan cara mengubah mode routing untuk nama domain kustom yang ada. Saat Anda mengubah mode perutean nama domain kustom Anda, pemanggil API tidak dapat mengakses nama domain Anda menggunakan mode perutean yang tidak didukung.

AWS Management Console
  1. Masuk ke konsol API Gateway di https://console.aws.amazon.com/apigateway.

  2. Pilih Nama domain khusus dari panel navigasi utama.

  3. Pilih nama domain khusus.

  4. Untuk detail Domain, pilih Edit.

  5. Untuk mode Routing, pilih API_MAPPINGROUTING_RULE_THEN_.

  6. Pilih Simpan.

Jika Anda mengubah mode perutean ke ROUTING_RULE_ONLY atauAPI_MAPPING_ONLY, pemetaan API atau aturan perutean apa pun yang Anda buat akan dihapus dari halaman detail nama domain konsol. Jika Anda mengubah mode perutean untuk mendukung aturan perutean atau pemetaan API, sumber daya ini akan kembali.

AWS CLI - apigatewayv2

update-domain-namePerintah berikut memperbarui nama domain untuk menggunakan mode ROUTING_RULE_THEN_API_MAPPING routing:

aws apigatewayv2 update-domain-name \ --domain-name 'api.example.com' \ --routing-mode "ROUTING_RULE_THEN_API_MAPPING"

Outputnya akan terlihat seperti berikut:

{ "ApiMappingSelectionExpression": "$request.basepath", "DomainName": "api.example.com", "DomainNameArn": "arn:aws:apigateway:us-west-2::/domainnames/api.example.com", "DomainNameConfigurations": [ { "ApiGatewayDomainName": "d-abcdefg.execute-api.us-west-2.amazonaws.com", "CertificateArn": "arn:aws:acm:us-west-2:111122223333:certificate/abcdefg-123456-abcdefg", "DomainNameStatus": "AVAILABLE", "EndpointType": "REGIONAL", "HostedZoneId": "Z2OJLYMUO9EFXC", "SecurityPolicy": "TLS_1_2" } ], "RoutingMode": "ROUTING_RULE_THEN_API_MAPPING", "Tags": {} }
AWS CLI - apigateway

update-domain-namePerintah berikut memperbarui nama domain kustom pribadi untuk menggunakan mode ROUTING_RULE_THEN_BASE_PATH_MAPPING perutean:

aws apigateway update-domain-name \ --domain-name 'private.example.com' \ --patch-operations "op='replace',path='/routingMode',value='ROUTING_RULE_THEN_BASE_PATH_MAPPING'"

Outputnya akan terlihat seperti berikut:

JSON
JSON
{ "domainName": "private.example.com", "domainNameId": "abcd1234", "domainNameArn": "arn:aws:apigateway:us-west-2:111122223333:/domainnames/private.example.com+abcd1234", "certificateArn": "arn:aws:acm:us-west-2:111122223333:certificate/a1b2c3d4-5678-90ab-cdef", "certificateUploadDate": "2024-09-10T10:31:20-07:00", "endpointConfiguration": { "types": [ "PRIVATE" ], "ipAddressType": "dualstack" }, "domainNameStatus": "AVAILABLE", "securityPolicy": "TLS_1_2", "policy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":\"*\",\"Action\":\"execute-api:Invoke\",\"Resource\":\"execute-api:\/*\"},{\"Effect\":\"Deny\",\"Principal\":\"*\",\"Action\":\"execute-api:Invoke\",\"Resource\":\""execute-api:\/*\",\"Condition\":{\"StringNotEquals\":{\"aws:SourceVpce\":\"vpce-abcd1234efg\"}}}]}", "routingMode" : "ROUTING_RULE_THEN_BASE_PATH_MAPPING" }