Gunakan Wilayah AWS - AWS SDK for Java 2.x

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Gunakan Wilayah AWS

Wilayah AWS memungkinkan klien layanan untuk mengakses Layanan AWS yang secara fisik berada di wilayah geografis tertentu.

Konfigurasikan secara eksplisit Wilayah AWS

Untuk secara eksplisit menetapkan Region, kami sarankan Anda menggunakan konstanta yang didefinisikan dalam kelas Region. Ini adalah enumerasi dari semua wilayah yang tersedia untuk umum.

Untuk membuat klien dengan Region yang disebutkan dari kelas, gunakan metode pembuat klien. region

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

Jika Region yang ingin Anda gunakan bukan salah satu enumerasi di Region kelas, Anda dapat membuat Region baru dengan menggunakan metode statis. of Metode ini memungkinkan Anda mengakses Wilayah baru tanpa memutakhirkan SDK.

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

Setelah Anda membangun klien dengan pembangun, itu tidak dapat diubah dan Wilayah AWS tidak dapat diubah. Jika Anda perlu bekerja dengan beberapa Wilayah AWS untuk layanan yang sama, Anda harus membuat beberapa klien—satu per Wilayah.

Biarkan SDK secara otomatis menentukan Wilayah dari lingkungan

Ketika kode Anda berjalan pada Amazon EC2 atau AWS Lambda, Anda mungkin ingin mengkonfigurasi klien untuk menggunakan Wilayah AWS yang sama dengan kode Anda berjalan. Ini memisahkan kode Anda dari lingkungan tempat ia berjalan dan membuatnya lebih mudah untuk menerapkan aplikasi Anda ke beberapa Wilayah AWS untuk latensi atau redundansi yang lebih rendah.

Untuk menggunakan rantai penyedia kredensial/wilayah default untuk menentukan Wilayah dari lingkungan, gunakan metode pembuat klien. create

Ec2Client ec2 = Ec2Client.create();

Jika Anda tidak menyetel secara eksplisit menggunakan region metode ini, SDK akan berkonsultasi Wilayah AWS dengan rantai penyedia wilayah default untuk menentukan Wilayah yang akan digunakan.

Memahami rantai penyedia wilayah default

SDK mengambil langkah-langkah berikut untuk mencari: Wilayah AWS

  1. Setiap Wilayah eksplisit yang disetel dengan menggunakan region pada pembuat itu sendiri lebih diutamakan daripada yang lainnya.

  2. Variabel AWS_REGION lingkungan diperiksa. Jika disetel, Wilayah itu digunakan untuk mengkonfigurasi klien.

    catatan

    Lambda Wadah menetapkan variabel lingkungan ini.

  3. SDK memeriksa file konfigurasi AWS bersama dan file kredensial bersama (biasanya terletak di ~/.aws/config dan). ~/.aws/credentials Jika region properti ada, SDK menggunakannya.

    • Jika SDK menemukan region properti di kedua file untuk profil yang sama (termasuk default profil), SDK akan menggunakan nilai dalam file kredensial bersama.

    • Variabel AWS_CONFIG_FILE lingkungan dapat digunakan untuk menyesuaikan lokasi file konfigurasi bersama.

    • Variabel AWS_PROFILE lingkungan atau properti aws.profile sistem dapat digunakan untuk menentukan profil yang dimuat SDK.

  4. SDK mencoba menggunakan layanan metadata Amazon EC2 instance (IMDS) untuk menentukan Wilayah instance yang sedang berjalan. Amazon EC2

    • Untuk keamanan yang lebih besar, Anda harus menonaktifkan SDK dari mencoba menggunakan IMDS versi 1. Anda menggunakan pengaturan yang sama untuk menonaktifkan versi 1 yang dijelaskan di Dapatkan kredensi peran IAM dengan aman bagian.

  5. Jika SDK masih belum menemukan Wilayah pada titik ini, pembuatan klien gagal dengan pengecualian.

Saat mengembangkan AWS aplikasi, pendekatan umum adalah dengan menggunakan file konfigurasi bersama (dijelaskan dalam urutan pengambilan Kredenal) untuk mengatur Wilayah untuk pengembangan lokal, dan mengandalkan rantai penyedia wilayah default untuk menentukan Wilayah saat aplikasi berjalan pada AWS infrastruktur. Ini sangat menyederhanakan pembuatan klien dan membuat aplikasi Anda portabel.

Periksa ketersediaan layanan di suatu Wilayah

Untuk melihat apakah tertentu Layanan AWS tersedia di Wilayah, gunakan region metode serviceMetadata dan pada klien layanan.

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

Lihat dokumentasi kelas Region untuk Wilayah AWS Anda dapat menentukan, dan menggunakan awalan endpoint dari layanan untuk query.

Pilih titik akhir tertentu

Dalam situasi tertentu—seperti untuk menguji fitur pratinjau layanan sebelum fitur lulus ke ketersediaan umum—Anda mungkin perlu menentukan titik akhir tertentu di Wilayah. Dalam situasi ini, klien layanan dapat dikonfigurasi dengan memanggil endpointOverride metode.

Misalnya, untuk mengonfigurasi Amazon EC2 klien agar menggunakan Wilayah Eropa (Irlandia) dengan titik akhir tertentu, gunakan kode berikut.

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

Lihat Wilayah dan Titik Akhir untuk daftar wilayah saat ini dan titik akhir yang sesuai untuk semua AWS layanan.