Einrichten eines regionalen benutzerdefinierten Domänennamens in API Gateway - 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.

Einrichten eines regionalen benutzerdefinierten Domänennamens in API Gateway

Sie können einen benutzerdefinierten Domänennamen für einen regionalen API-Endpunkt (für eine AWS-Region) erstellen. Um einen benutzerdefinierten Domänennamen zu erstellen, müssen Sie ein regionsspezifisches ACM-Zertifikat bereitstellen. Weitere Informationen zum Erstellen oder Hochladen eines benutzerdefinierten Domänennamen-Zertifikats finden Sie unter Vorbereiten von Zertifikaten in AWS Certificate Manager.

Wichtig

Bei einem regionalen benutzerdefinierten API Gateway-Domänennamen müssen Sie das Zertifikat in derselben Region wie Ihre API anfordern oder importieren.

Wenn Sie einen regionalen benutzerdefinierten Domänennamen mit einem ACM-Zertifikat erstellen (oder migrieren), erstellt API Gateway eine serviceverknüpfte Rolle in Ihrem Konto, wenn die Rolle nicht bereits vorhanden ist. Die serviceverknüpfte Rolle ist erforderlich, um Ihr ACM-Zertifikat Ihrem regionalen Endpunkt anzuhängen. Die Rolle trägt den Namen AWSServiceRoleForAPIGateway und hat die APIGatewayServiceRolePolicy-verwaltete Richtlinie zugewiesen. Weitere Informationen zur Verwendung von serviceverknüpften Rollen finden Sie unter Verwenden serviceverknüpfter Rollen.

Wichtig

Sie müssen einen DNS-Datensatz so erstellen, dass der benutzerdefinierte Domänenname auf den regionalen Domänennamen verweist. Auf diese Weise kann der Datenverkehr, der an den benutzerdefinierten Domänennamen gebunden ist, an den regionalen Hostnamen der API weitergeleitet werden. Der DNS-Datensatz kann der Typ CNAME oder "A" sein.

Einrichten eines regionalen benutzerdefinierten Domänennamens mit einem ACM-Zertifikat über die API Gateway-Konsole

Im folgenden Verfahren wird beschrieben, wie Sie einen regionalen benutzerdefinierten Domänennamen mit der API Gateway-Konsole einrichten.

So richten Sie einen regionalen benutzerdefinierten Domänennamen mit der API Gateway-Konsole ein
  1. Melden Sie sich bei der API-Gateway-Konsole unter https://console.aws.amazon.com/apigateway an.

  2. Wählen Sie Benutzerdefinierten Domänennamen im Hauptnavigationsbereich aus.

  3. Wählen Sie Create (Erstellen) aus.

  4. Geben Sie für Domänenname einen Domänennamen ein.

  5. Wählen Sie unter Konfiguration die Option Regional aus.

  6. Wählen Sie eine minimale TLS-Version aus.

  7. Wählen Sie ein ACM-Zertifikat aus. Das Zertifikat muss sich in derselben Region wie die API befinden.

  8. Wählen Sie Create (Erstellen) aus.

  9. Befolgen Sie die Route 53-Dokumentation für die Konfiguration von Route 53 zur Weiterleitung von Datenverkehr an API Gateway.

Das folgende Verfahren richtet API-Mappings ein, um Pfade aus Ihrem benutzerdefinierten Domänennamen Ihren API-Stufen zuzuordnen.

So erstellen Sie den Namen des API-Mappings mithilfe der API Gateway-Konsole
  1. Melden Sie sich bei der API-Gateway-Konsole unter https://console.aws.amazon.com/apigateway an.

  2. Wählen Sie einen benutzerdefinierten Domänennamen aus.

  3. Wählen Sie API-Mappings konfigurieren aus.

  4. Wählen Sie Neues Mapping hinzufügen aus.

  5. Geben Sie die API, die Stufe und den Pfad für das Mapping an.

  6. Wählen Sie Save (Speichern) aus.

Weitere Informationen zum Festlegen von Basispfad-Mappings für die benutzerdefinierte Domäne finden Sie unter Konfigurieren eines Basispfad-Mappings einer API mit einem benutzerdefinierten Domänennamen als Hostname.

Einrichten eines regionalen benutzerdefinierten Domänennamens mit einem ACM-Zertifikat über die AWS CLI

Im folgenden Verfahren wird beschrieben, wie Sie einen benutzerdefinierten Domänennamen für eine regionale API mit der AWS CLI einrichten.

  1. Rufen Sie create-domain-name auf, was einen benutzerdefinierten Domänennamen und den ARN eines regionalen Zertifikats angibt.

    aws apigatewayv2 create-domain-name \ --domain-name 'regional.example.com' \ --domain-name-configurations CertificateArn=arn:aws:acm:us-west-2:123456789012:certificate/123456789012-1234-1234-1234-12345678

    Beachten Sie, dass das angegebene Zertifikat aus der Region us-west-2 stammt und für dieses Beispiel nehmen wir an, dass die zugrunde liegende API von der gleichen Region stammt.

    Ist der Aufruf erfolgreich, wird ein Ergebnis zurückgegeben, das wie folgt aussehen sollte:

    { "ApiMappingSelectionExpression": "$request.basepath", "DomainName": "regional.example.com", "DomainNameConfigurations": [ { "ApiGatewayDomainName": "d-id.execute-api.us-west-2.amazonaws.com", "CertificateArn": "arn:aws:acm:us-west-2:123456789012:certificate/id", "DomainNameStatus": "AVAILABLE", "EndpointType": "REGIONAL", "HostedZoneId": "id", "SecurityPolicy": "TLS_1_2" } ] }

    Der DomainNameConfigurations-Eigenschaftswert gibt den Hostnamen der regionalen API zurück. Sie müssen einen DNS-Datensatz so erstellen, dass Ihr benutzerdefinierter Domänenname auf diesen regionalen Domänennamen verweist. Auf diese Weise kann der Datenverkehr, der an den benutzerdefinierten Domänennamen gebunden ist, an diesen Hostnamen der regionalen API weitergeleitet werden.

  2. Erstellen Sie einen DNS-Datensatz, um den benutzerdefinierten Domänennamen und den regionalen Domänennamen zu verknüpfen. Auf diese Weise können Anforderungen, die an den benutzerdefinierten Domänennamen gebunden sind, an den regionalen Hostnamen der API weitergeleitet werden.

  3. Fügen Sie ein Basispfad-Mapping hinzu, um die angegebene API (z. B. 0qzs2sy7bh) in einer Bereitstellungsphase (z. B. test) unter dem angegebenen benutzerdefinierten Domänennamen (z. B. regional.example.com) bereitzustellen.

    aws apigatewayv2 create-api-mapping \ --domain-name 'regional.example.com' \ --api-mapping-key 'myApi' \ --api-id 0qzs2sy7bh \ --stage 'test'

    Dies hat zur Folge, dass das Basis-URL mithilfe des benutzerdefinierten Domänennamens für die API, die in der Stufe bereitgestellt wird, zu wir https://regional.example.com/myAPI.

  4. Konfigurieren Sie Ihre DNS-Datensätze so, dass der regionale benutzerdefinierte Domänenname seinem Hostnamen in der ID der gehosteten Zone zugewiesen wird. Erstellen Sie zunächst eine JSON-Datei, die die Konfiguration für die Einrichtung eines DNS-Datensatzes für den regionalen Domänennamen enthält. Das folgende Beispiel zeigt, wie Sie einen DNS-A-Datensatz erstellen, um einen regionalen benutzerdefinierten Domänennamen (regional.example.com) seinem regionalen Hostnamen zuzuweisen (d-numh1z56v6.execute-api.us-west-2.amazonaws.com), der als Teil der benutzerdefinierten Domänenname-Erstellung bereitgestellt wurde. Die Eigenschaften DNSName und HostedZoneId von AliasTarget können die Werte regionalDomainName und regionalHostedZoneId des benutzerdefinierten Domänennamens entsprechend annehmen. Sie können die regionalen IDs der gehosteten Route 53-Zone auch in Amazon API Gateway-Endpunkte und -Kontingente abrufen.

    { "Changes": [ { "Action": "CREATE", "ResourceRecordSet": { "Name": "regional.example.com", "Type": "A", "AliasTarget": { "DNSName": "d-numh1z56v6.execute-api.us-west-2.amazonaws.com", "HostedZoneId": "Z2OJLYMUO9EFXC", "EvaluateTargetHealth": false } } } ] }
  5. Führen Sie den folgenden CLI-Befehl aus:

    aws route53 change-resource-record-sets \ --hosted-zone-id {your-hosted-zone-id} \ --change-batch file://path/to/your/setup-dns-record.json

    Wobei {your-hosted-zone-id} die ID der gehosteten Route-53-Zone des DNS-Datensatzes ist, der in Ihrem Konto festgelegt wurde. Der change-batch-Parameterwert verweist auf eine JSON-Datei (setup-dns-record.json) in einem Ordner (path/to/your).