Imposta la modalità di routing per il tuo nome di dominio personalizzato - Amazon API Gateway

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Imposta la modalità di routing per il tuo nome di dominio personalizzato

Puoi scegliere la modalità di routing utilizzata da API Gateway per indirizzare il traffico verso il tuo APIs. Per ulteriori informazioni, consulta Invia traffico al tuo APIs tramite il tuo nome di dominio personalizzato in API Gateway. Questa sezione illustra le modalità di routing per i nomi di dominio personalizzati. Devi impostare una modalità di routing per il tuo nome di dominio personalizzato per indirizzare il traffico verso il tuo. APIs Sono supportate le seguenti modalità di routing:

  • ROUTING_RULE_THEN_ API_MAPPING — Utilizzate questa modalità per inviare traffico al vostro utente APIs con regole di routing e mappature API. In questa modalità, tutte le regole di routing hanno la priorità su qualsiasi mappatura delle API. Per un esempio di questa modalità, vedi. Esempio 2: regole di routing e mappature delle API

  • ROUTING_RULE_ONLY: utilizzate questa modalità per consentire solo alle regole di routing di inviare traffico al vostro. APIs Quando il nome di dominio personalizzato utilizza questa modalità, non è possibile creare una mappatura delle API, ma è possibile utilizzare il comando per visualizzarla. get-api-mappings I chiamanti API non possono utilizzare le mappature API per accedere a questo nome di dominio.

  • API_MAPPING_ONLY: utilizza questa modalità per consentire solo alle mappature delle API di inviare traffico al tuo. APIs Quando il nome di dominio personalizzato utilizza questa modalità, non è possibile creare una regola di routing, ma è possibile utilizzare il list-routing-rules comando per visualizzarla. I chiamanti API non possono utilizzare le regole di routing per accedere a questo nome di dominio.

    Questa è la modalità di routing predefinita per tutti i nomi di dominio esistenti e per tutti i nuovi nomi di dominio che crei.

Quando si crea un nome di dominio personalizzato utilizzandoapigateway, API_MAPPING_ONLY viene chiamato BASE_PATH_MAPPING_ONLY e ROUTING_RULE_THEN_API_MAPPING viene chiamatoROUTING_RULE_THEN_BASE_PATH_MAPPING. Questo comportamento è presente solo per AWS CLI AWS CloudFormation, o qualsiasi SDKs, non in AWS Management Console.

La procedura seguente mostra come modificare la modalità di routing per un nome di dominio personalizzato esistente. Quando si modifica la modalità di routing del nome di dominio personalizzato, i chiamanti API non possono accedere al nome di dominio utilizzando modalità di routing non supportate.

AWS Management Console
  1. Accedi alla console API Gateway all'indirizzo https://console.aws.amazon.com/apigateway.

  2. Scegliere Custom Domain Names (Nomi di dominio personalizzati) nel riquadro di navigazione principale.

  3. Scegliere un nome di dominio personalizzato.

  4. Per i dettagli del dominio, scegli Modifica.

  5. Per la modalità Routing, scegli API_MAPPINGROUTING_RULE_THEN_.

  6. Scegli Save (Salva).

Se modifichi la modalità di routing in ROUTING_RULE_ONLY oAPI_MAPPING_ONLY, tutte le mappature API o le regole di routing che hai creato vengono rimosse dalla pagina dei dettagli del nome di dominio della console. Se modifichi la modalità di routing per supportare regole di routing o mappature API, queste risorse verranno ripristinate.

AWS CLI - apigatewayv2

Il update-domain-namecomando seguente aggiorna un nome di dominio per utilizzare la modalità di routing: ROUTING_RULE_THEN_API_MAPPING

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

L'output sarà simile al seguente:

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

Il update-domain-namecomando seguente aggiorna un nome di dominio personalizzato privato per utilizzare la modalità di routing: ROUTING_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'"

L'output sarà simile al seguente:

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