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
-
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"
}