Wie kann ich den Fehler „cNameAlreadyExists“ beheben, wenn ich einen Edge-optimierten benutzerdefinierten Domainnamen für meine API Gateway-API erstelle?

Lesedauer: 3 Minute
0

Ich erhalte die Fehlermeldung „cNameAlreadyExists“, wenn ich versuche, einen Edge-optimierten benutzerdefinierten Domainnamen für meine Amazon API Gateway-API zu erstellen. Wie kann ich das lösen?

Kurzbeschreibung

Der Fehler „CNAMEAlreadyExists“ tritt auf, wenn:

  • Der CNAME-Eintragstyp für Ihren benutzerdefinierten Domainnamen ist bereits vorhanden und verweist auf eine Amazon CloudFront-Distribution.
  • Es gibt eine CloudFront-Distribution, die mit einem alternativen Domainnamen oder CNAME konfiguriert ist, der Ihrem benutzerdefinierten Domainnamen entspricht.

**Hinweis:**Es ist nicht ungewöhnlich, dass Sie die Fehlermeldung „Zu viele Anfragen“ erhalten, wenn Sie in kurzer Zeit mehrere benutzerdefinierte Domainnamen-Aktualisierungen vornehmen. Diese Fehler treten aufgrund eines niedrigen Kontingents für die CreateDomainName-API auf (eine Anfrage alle 30 Sekunden pro Konto). Weitere Informationen finden Sie unter API Gateway-Kontingente für die Erstellung, Bereitstellung und Verwaltung einer API.

**Wichtig:**Sie können denselben CNAME-Eintrag nicht für mehr als eine CloudFront-Distribution verwenden. Wenn Sie denselben CNAME-Eintrag verwenden, wird der folgende Fehler zurückgegeben:

One or more of the CNAMEs you provided are already associated with a different resource. (Service: AmazonCloudFront; Status Code: 409; Error Code: CNAMEAlreadyExists; Request ID: a123456b-c78d-90e1-23f4-gh5i67890jkl*

Um diese Fehler zu beheben und einen Edge-optimierten benutzerdefinierten Domainnamen zu erstellen, müssen Sie zunächst den vorhandenen CNAME-Datensatz löschen, der auf eine CloudFront-Distribution verweist.

Behebung

Bestätigen Sie, ob der benutzerdefinierte Domainname bereits vorhanden war

1.FSP Zu überprüfen, ob der benutzerdefinierte Domainname zuvor existierte, führen Sie einen DNS-Suchbefehl für den Domainnamen aus.

Auf Linux-, Unix- oder macOS-Systemen:

dig abc.example.com +all

Unter Windows:

nslookup abc.example.com

**Hinweis:**Ersetzen Sie abc.example.com durch Ihren Domainnamen.

2.FSP Wenn der benutzerdefinierte Domainname schon einmal existierte und der DNS-Eintrag immer noch da ist, verwenden Sie dig, um den CNAME-Eintrag in der Ausgabe abzurufen:

abc.example.comcom. 0        IN    CNAME    d27am47dhauq2.cloudfront.net.

Wichtig:

Sie müssen diesen Datensatz löschen, bevor Sie den benutzerdefinierten Domainnamen erstellen können.

  • Es hat sich bewährt, die DNS-Einstellungen zuerst in einer Entwicklungs- oder Testumgebung zu ändern. Das manuelle Ändern der Produktions-DNS-Einstellungen kann zu Ausfallzeiten führen.
  • Wenn die Ausgabe einen A-Datensatz (IPv4-Adresse) anstelle eines CNAME-Datensatzes anzeigt, müssen Sie den Datensatz aktualisieren. Der aktualisierte Datensatz muss den benutzerdefinierten Domainnamen (A-Alias) auf die CloudFront-Distribution verweisen.

Wenn für den Domainnamen eine Ausgrabung oder eine NS-Suche durchgeführt wurde und es sich bei dem Datensatz um einen A-Alias handelt, überprüfen Sie die CloudFront-Verteilung. Stellen Sie sicher, dass die CloudFront-Distribution nicht mit einem alternativen Domainnamen konfiguriert ist. Weitere Informationen finden Sie unter Vergleich von Alias- und CNAME-Datensätzen.

Löschen Sie den CNAME-Eintrag oder aktualisieren Sie Ihre CloudFront-Distribution

Führen Sie je nach Konfiguration einen oder beide der folgenden Schritte aus:

Wenn Sie einen externen DNS-Dienstanbieter haben, folgen Sie dem Prozess Ihres Anbieters, um den CNAME-Eintrag zu löschen, der auf Ihre CloudFront-Distribution verweist.

Wenn Sie Amazon Route 53 verwenden, löschen Sie den Datensatz in Route 53, der auf CloudFront verweist.

Nachdem Sie die Konfigurationsänderungen vorgenommen haben, warten Sie einige Minuten, bis die DNS-Änderungen übernommen werden. Versuchen Sie dann erneut, den benutzerdefinierten Domainnamen zu erstellen.

**Hinweis:**Wenn Sie „cNameAlreadyExists“ -Fehler erhalten, finden Sie weitere Informationen unter Wie behebe ich den Fehler cNameAlreadyExists, wenn ich einen CNAME-Alias für meine Amazon CloudFront-Distribution einrichte?


Ähnliche Informationen

Wie kann ich einen benutzerdefinierten Domainnamen für meine API Gateway-API einrichten?

Aufbau einer serverlosen Anwendung für mehrere Regionen mit Amazon API Gateway und AWS Lambda

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 2 Jahren