Wie erstelle ich Alias-Ressourcendatensätze in Route 53 mit der AWS CLI?

Lesedauer: 4 Minute
0

Wie erstelle ich Alias-Ressourcendatensätze in Amazon Route 53 mithilfe der AWS Command Line Interface (AWS CLI)?

Kurzbeschreibung

Sie können einen Alias-Datensatz in Route 53 verwenden, um auf eine AWS-Ressource oder einen Amazon Simple Storage Service (Amazon S3)-Bucket zu verweisen. Sie können einen Alias-Datensatz über die Route 53-Konsole oder über die AWS-CLI erstellen.

Lösung

Hinweis: Wenn Sie beim Ausführen von AWS Command Line Interface (AWS CLI)-Befehlen Fehler erhalten, stellen Sie sicher, dass Sie die neueste AWS CLI-Version verwenden.

Bevor Sie Alias-Ressourcendatensätze erstellen, erstellen Sie eine gehostete Zone, die die Datensätze für die Weiterleitung des Datenverkehrs an Ihre Domain enthält. Die gehostete Zone und Ihre Domain müssen den gleichen Namen haben. Abhängig von Ihrem Anwendungsfall gibt es zwei Möglichkeiten. Sie können eine öffentliche gehostete Zone für das Routing des Internetverkehrs erstellen. Alternativ können Sie eine private gehostete Zone für das Routing von Datenverkehr innerhalb einer Amazon Virtual Private Cloud (Amazon VPC) erstellen.

Erstellen Sie Ihren Alias-Ressourcendatensatz

Ändern Sie die folgende JSON-Beispielsyntax, um Ihren eigenen Alias-Ressourcendatensatz zu erstellen, und geben Sie dann Ihre eigenen Werte für die Aliasdatensätze an. Speichern Sie die Datei (z. B. sample.json).

Warnung: Stellen Sie sicher, dass Sie in Ihrer Konfiguration die ID der gehosteten Zone Ihrer AWS-Ressourcen und nicht Ihren Domainnamen verwenden. In der JSON-Datei wird dieser Wert im Schlüsselwertpaar HostedZoneId festgelegt. Bevor Sie fortfahren, suchen Sie die HostedZoneId für Elastic Load Balancing-, AWS Elastic Beanstalk-, Amazon S3- und Amazon CloudFront-Elastic für die einzelnen Regionen.

In diesem Beispiel wird der Alias-Ressourcendatensatz für eine Domain (elb.example.com) so erstellt, dass er auf einen Load Balancer-Endpunkt (ALB-xxxxxxxx.us-west-2.elb.amazonaws.com verweist. Der Anforderungstext enthält eine Liste von Änderungselementen, die als Änderungsstapel bezeichnet werden. Änderungselemente sind in einem ChangeResourceRecordSetsRequest-Element enthalten.

{
  "Comment": "Creating Alias resource record sets in Route 53",
  "Changes": [
    {
      "Action": "CREATE",
      "ResourceRecordSet": {
        "Name": "elb.example.com",
        "Type": "A",
        "AliasTarget": {
          "HostedZoneId": "Z1H1FL5HABSF5",
          "DNSName": "ALB-xxxxxxxx.us-west-2.elb.amazonaws.com",
          "EvaluateTargetHealth": false
        }
      }
    }
  ]
}

Verwenden Sie als Nächstes einen change-resource-record-sets-Befehl, um Ihren Ressourcendatensatz in einer gehosteten Zone zu erstellen. Die Werte für die Datensatzerstellung sind in der JSON-Konfigurationsdatei festgelegt, die Sie zuvor erstellt haben.

Ändern Sie den folgenden Befehl für Ihre Konfiguration. Geben Sie für**--hosted-zone-id** Ihre gehostete Zonen-ID für den Domänennamen an:

$ aws route53 change-resource-record-sets --hosted-zone-id ZXXXXXXXXXX --change-batch file://sample.json

Elastic Load Balancing-Einstellungen

Wenn Sie auf einen Load Balancer verweisen, fügen Sie immer dualstack in den Wert für das DNSName-Schlüsselwertpaar der JSON-Datei ein. Wenn der von Amazon bereitgestellte DNS-Name Ihres Load Balancers beispielsweise ALB-xxxxxxxx.us-west-2.elb.amazonaws.com lautet, verwenden Sie:

"DNSName": "dualstack.ALB-xxxxxxxx.us-west-2.elb.amazonaws.com"

CloudFront-Distributionseinstellungen

Wenn Sie auf eine CloudFront-Distribution verweisen, geben Sie den von Amazon bereitgestellten Domainnamen für die CloudFront-Distribution im DNSName-Schlüsselwertpaar der JSON-Datei an. Wenn der von Amazon bereitgestellte Domainname Ihrer CloudFront-Distribution beispielsweise d111111abcdef8.cloudfront.net lautet, verwenden Sie:

"DNSName": "d111111abcdef8.cloudfront.net"

Warnung: Sie müssen einen alternativen Domainnamen angeben, der anstelle des von CloudFront zugewiesenen Domainnamens verwendet werden soll. Der alternative Domainname muss mit der Domain übereinstimmen, für die Sie den Alias-Ressourcendatensatz erstellt haben. Wenn Sie beispielsweise über die Domain example.com auf Ihre CloudFront-Distribution zugreifen möchten, fügen Sie die Domain zu den alternativen Domainnamen für die Distribution hinzu.

Amazon S3-Bucket-Einstellungen

Wenn Sie auf einen S3-Bucket verweisen, geben Sie den Domainnamen des Webseiten-Endpunkts des Buckets für das DNSName-Schlüsselwertpaar in der JSON-Datei an. Verwenden Sie für diesen Wert nicht den S3-Endpunkt, der im statischen Website-Hosting von Ihrer S3-Managementkonsole aus angezeigt wird. Der Domainname, für den Sie den Ressourcendatensatz erstellen, muss mit dem Namen Ihres Amazon S3-Buckets übereinstimmen.

Sie müssen zudem die Region angeben, in der der Bucket gehostet wird (z. B. us-east-1).

s3-website-us-east-1.amazonaws.com

Im Folgenden finden Sie ein Beispiel für eine JSON-Syntax für den Verweis auf einen S3-Bucket:

{
  "Comment": "Alias record for S3 bucket",
  "Changes": [
    {
      "Action": "CREATE",
      "ResourceRecordSet": {
        "Name": "new.example.com",
        "Type": "A",
        "AliasTarget": {
          "HostedZoneId": "Z3BJ6K6RIION7M",
          "DNSName": "s3-website-us-west-2.amazonaws.com",
          "EvaluateTargetHealth": false
        }
      }
    }
  ]
}

Hinweis: Zusätzlich zur Erstellung von Alias-Datensätzen, die auf AWS-Ressourcen wie CloudFront, Amazon S3 oder ELB verweisen, können Sie einen Alias-Ressourcendatensatz erstellen. Der Alias-Ressourcendatensatz verweist auf einen anderen Datensatz in derselben gehosteten Zone, in der Sie den Alias-Datensatz erstellen. Der Aliasdatensatz muss den gleichen Typ haben wie der Datensatz, an den Sie weiterleiten.


Ähnliche Informationen

Wie behebe ich Fehler beim Erstellen von Amazon Route 53-Ressourcendatensätzen mithilfe der AWS CLI?

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 2 Jahren