Festlegen des Routing-Modus für Ihren benutzerdefinierten Domainnamen - Amazon API Gateway

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Festlegen des Routing-Modus für Ihren benutzerdefinierten Domainnamen

Sie können wählen, welchen Routing-Modus API Gateway verwendet, um den Datenverkehr an Ihren weiterzuleiten APIs. Weitere Informationen finden Sie unter Senden Sie Traffic APIs über Ihren benutzerdefinierten Domainnamen in API Gateway an Sie. In diesem Abschnitt werden Routing-Modi für benutzerdefinierte Domainnamen beschrieben. Sie müssen einen Routing-Modus für Ihren benutzerdefinierten Domainnamen festlegen, um den Datenverkehr an Ihren weiterzuleiten APIs. Folgende Routing-Modi werden unterstützt:

  • ROUTING_RULE_THEN_ API_MAPPING — Verwenden Sie diesen Modus, um Traffic APIs mit Routing-Regeln und API-Zuordnungen an Ihren zu senden. In diesem Modus haben alle Routing-Regeln Vorrang vor API-Zuweisungen. Ein Beispiel für diesen Modus finden Sie unter Beispiel 2: Routing-Regeln und API-Zuweisungen.

  • ROUTING_RULE_ONLY — Verwenden Sie diesen Modus, um nur zu erlauben, dass Routing-Regeln Traffic an Ihren senden. APIs Wenn Ihr benutzerdefinierter Domainname diesen Modus verwendet, können Sie keine API-Zuordnung erstellen, aber Sie können den Befehl verwenden, um sie anzuzeigen. get-api-mappings API-Aufrufer können mit diesem Domainnamen keine API-Zuweisungen verwenden.

  • API_MAPPING_ONLY — Verwenden Sie diesen Modus, um nur API-Zuordnungen zuzulassen, um Traffic an Ihren zu senden. APIs Wenn Ihr benutzerdefinierter Domainname diesen Modus verwendet, können Sie keine Routing-Regel erstellen, aber Sie können den Befehl list-routing-rules nutzen, um sie anzuzeigen. API-Aufrufer können mit diesem Domainnamen keine Routing-Regeln verwenden.

    Dies ist der Standard-Routing-Modus für all vorhandenen Domainnamen und alle neuen Domainnamen, die Sie erstellen.

Wenn Sie einen benutzerdefinierten Domainnamen mit apigateway erstellen, wird API_MAPPING_ONLY als BASE_PATH_MAPPING_ONLY und ROUTING_RULE_THEN_API_MAPPING als ROUTING_RULE_THEN_BASE_PATH_MAPPING bezeichnet. Dieses Verhalten ist nur für, oder für alle vorhanden AWS CLI CloudFormation SDKs, nicht für. AWS-Managementkonsole

Das folgende Verfahren zeigt, wie Sie den Routing-Modus für einen vorhandenen benutzerdefinierten Domainnamen ändern. Wenn Sie den Routing-Modus ändern, können API-Aufrufer nicht über nicht unterstützte Routing-Modi auf Ihren Domainnamen zugreifen.

AWS-Managementkonsole
  1. Melden Sie sich bei der API Gateway Gateway-Konsole unter https://console.aws.amazon.com/apigatewayan.

  2. Wählen Sie Benutzerdefinierte Domainnamen im Hauptnavigationsbereich aus.

  3. Wählen Sie einen benutzerdefinierten Domainnamen aus.

  4. Wählen Sie unter Domänendetails die Option Bearbeiten aus.

  5. Wählen Sie für den Routing-Modus ROUTING_RULE_THEN_. API_MAPPING

  6. Wählen Sie Speichern.

Wenn Sie den Routing-Modus in ROUTING_RULE_ONLY oder API_MAPPING_ONLY ändern, werden alle erstellten API-Zuweisungen oder Routing-Regeln von der Detailseite des Domainnamens in der Konsole entfernt. Wenn Sie den Routing-Modus so ändern, dass er entweder Routing-Regeln oder API-Zuweisungen unterstützt, werden diese Ressourcen wieder angezeigt.

AWS CLI - apigatewayv2

Mit dem folgenden update-domain-nameBefehl wird ein Domainname aktualisiert, sodass er den Routing-Modus verwendet: ROUTING_RULE_THEN_API_MAPPING

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

Die Ausgabe sieht wie folgt aus:

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

Mit dem folgenden update-domain-nameBefehl wird ein privater benutzerdefinierter Domainname aktualisiert, sodass er den Routing-Modus verwendetROUTING_RULE_THEN_BASE_PATH_MAPPING:

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

Die Ausgabe sieht wie folgt aus:

{ "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": "...", "routingMode" : "ROUTING_RULE_THEN_BASE_PATH_MAPPING" }