Verwenden von AWS-Regionen - AWS SDK for Java 2.x

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.

Verwenden von AWS-Regionen

AWS-Regionen ermöglichen es Service-Clients, auf zuzugreifen AWS-Services , die sich physisch in einem bestimmten geografischen Gebiet befinden.

Explizite Konfiguration eines AWS-Region

Um eine Region explizit festzulegen, empfehlen wir Ihnen, die in der Region sklassedefinierten Konstanten zu verwenden. Dabei handelt es sich um eine Aufzählung aller öffentlich verfügbaren Regionen.

Um einen Client mit einer aufgezählten Region aus der Klasse zu erstellen, verwenden Sie die region Methode des Client Builders.

Ec2Client ec2 = Ec2Client.builder() .region(Region.US_WEST_2) .build();

Wenn die Region, die Sie verwenden möchten, keine der Aufzählungen in der Klasse istRegion, können Sie mithilfe der statischen of Methode eine neue Region erstellen. Diese Methode ermöglicht Ihnen den Zugriff auf neue Regionen, ohne das SDK zu aktualisieren.

Region newRegion = Region.of("us-east-42"); Ec2Client ec2 = Ec2Client.builder() .region(newRegion) .build();
Anmerkung

Nachdem Sie einen Client mit dem Builder erstellt haben, ist er unveränderlich und kann AWS-Region nicht mehr geändert werden. Wenn Sie mit mehreren AWS-Regionen für denselben Service arbeiten müssen, sollten Sie mehrere Clients erstellen – einen pro Region.

Lassen Sie das SDK die Region automatisch aus der Umgebung ermitteln

Wenn Ihr Code auf Amazon EC2 oder ausgeführt wird AWS Lambda, sollten Sie Clients so konfigurieren, dass sie dieselbe verwenden AWS-Region , auf der Ihr Code ausgeführt wird. Dies entkoppelt Ihren Code von der Umgebung, in der er ausgeführt wird, und erleichtert die Bereitstellung Ihrer Anwendung in mehreren AWS-Regionen für eine geringere Latenz oder Redundanz.

Um die standardmäßige Kette von Anmeldeinformationen/Regionsanbietern zu verwenden, um die Region aus der Umgebung zu bestimmen, verwenden Sie die create Methode des Client-Builders.

Ec2Client ec2 = Ec2Client.create();

Wenn Sie ein nicht explizit AWS-Region mithilfe der -regionMethode festlegen, konsultiert das SDK die standardmäßige Regionsanbieterkette, um die zu verwendende Region zu bestimmen.

Verstehen der standardmäßigen Regionsanbieterkette

Das SDK führt die folgenden Schritte aus, um nach einem AWS-Region zu suchen:

  1. Jede explizite Region, die mithilfe von region auf dem Builder selbst festgelegt wird, hat Vorrang vor allem anderen.

  2. Die Umgebungsvariable AWS_REGION wird geprüft. Wenn sie festgelegt ist, wird diese Region zur Konfiguration des Clients verwendet.

    Anmerkung

    Der Lambda Container legt diese Umgebungsvariable fest.

  3. Das SDK überprüft die AWS freigegebene Konfigurationsdatei und die freigegebene Anmeldeinformationsdatei (in der Regel unter ~/.aws/config und ~/.aws/credentials). Wenn die region Eigenschaft vorhanden ist, verwendet das SDK sie.

    • Wenn das SDK die -regionEigenschaft in beiden Dateien für dasselbe Profil (einschließlich des -defaultProfils) findet, verwendet das SDK den Wert in der Datei mit den gemeinsam genutzten Anmeldeinformationen.

    • Die Umgebungsvariable AWS_CONFIG_FILE kann verwendet werden, um den Speicherort der gemeinsam genutzten Konfigurationsdatei anzupassen.

    • Die AWS_PROFILE Umgebungsvariable oder die aws.profile Systemeigenschaft kann verwendet werden, um das Profil anzugeben, das das SDK lädt.

  4. Das SDK versucht, den Amazon EC2 Instance Metadata Service (IMDS) zu verwenden, um die Region der aktuell Amazon EC2 ausgeführten Instance zu bestimmen.

  5. Wenn das SDK zu diesem Zeitpunkt noch keine Region gefunden hat, schlägt die Client-Erstellung mit einer Ausnahme fehl.

Bei der Entwicklung von AWS Anwendungen besteht ein häufiger Ansatz darin, die gemeinsame Konfigurationsdatei (in der Reihenfolge des Abrufs von Anmeldeinformationen beschrieben) zu verwenden, um die Region für die lokale Entwicklung festzulegen, und sich auf die standardmäßige Regionsanbieterkette zu verlassen, um die Region zu bestimmen, wenn die Anwendung auf der AWS Infrastruktur ausgeführt wird. Dies vereinfacht die Client-Erstellung stark und sorgt dafür, dass Ihre Anwendung portabel bleibt.

Überprüfen der Serviceverfügbarkeit in einer Region

Um festzustellen, ob ein bestimmter in einer Region verfügbar AWS-Service ist, verwenden Sie die region Methode serviceMetadata und auf dem Service-Client.

DynamoDbClient.serviceMetadata().regions().forEach(System.out::println);

Weitere Informationen finden Sie in der Dokumentation zur Region sklassefür die , die AWS-Regionen Sie angeben können, und verwenden Sie das Endpunktpräfix des abzufragenden Services.

Auswählen eines bestimmten Endpunkts

In bestimmten Situationen, z. B. um Vorschaufunktionen eines Services zu testen, bevor die Funktionen die allgemeine Verfügbarkeit erreichen, müssen Sie möglicherweise einen bestimmten Endpunkt in einer Region angeben. In diesen Situationen können Service-Clients durch Aufrufen der -endpointOverrideMethode konfiguriert werden.

Um beispielsweise einen - Amazon EC2 Client für die Verwendung der Region Europa (Irland) mit einem bestimmten Endpunkt zu konfigurieren, verwenden Sie den folgenden Code.

Ec2Client ec2 = Ec2Client.builder() .region(Region.EU_WEST_1) .endpointOverride(URI.create("https://ec2.eu-west-1.amazonaws.com")) .build();

Die aktuelle Liste der Regionen und ihrer entsprechenden Endpunkte für alle AWS Services finden Sie unter Regionen und Endpunkte.