Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengatur AWS Region untuk AWS SDK for Java 2.x
Klien SDK terhubung ke Layanan AWS dalam spesifik AWS Region yang Anda tentukan saat Anda membuat klien. Konfigurasi ini memungkinkan aplikasi Anda berinteraksi dengan AWS sumber daya di wilayah geografis tersebut. Saat Anda membuat klien layanan tanpa menyetel Region secara eksplisit, SDK menggunakan Region default dari konfigurasi eksternal Anda.
Konfigurasikan secara eksplisit AWS Region
Untuk secara eksplisit menetapkan Region, kami sarankan Anda menggunakan konstanta yang didefinisikan dalam kelas Region.
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 AWS Region tidak dapat diubah. Jika Anda perlu bekerja dengan beberapa AWS Region untuk layanan yang sama, Anda harus membuat beberapa klien—satu per Wilayah.
Biarkan SDK secara otomatis menentukan default AWS Region dari lingkungan
Ketika kode Anda berjalan pada Amazon EC2 atau AWS Lambda, Anda mungkin ingin mengonfigurasi klien untuk menggunakan kode AWS Region yang sama dengan yang dijalankan kode Anda. Ini memisahkan kode Anda dari lingkungan tempat ia berjalan dan membuatnya lebih mudah untuk menerapkan aplikasi Anda ke beberapa AWS Region untuk latensi atau redundansi yang lebih rendah.
Untuk menggunakan rantai AWS Region penyedia default untuk menentukan Wilayah dari lingkungan, gunakan create
metode pembuat klien.
Ec2Client ec2 = Ec2Client.create();
Anda juga dapat mengkonfigurasi klien dengan cara lain, tetapi tidak mengatur Wilayah. SDK mengambil AWS Region dengan menggunakan rantai penyedia wilayah default:
Ec2Client ec2Client = Ec2Client.builder() .credentialsProvider(ProfileCredentialsProvider.builder() .profileName("my-profile") .build()) .build();
Jika Anda tidak menyetel secara eksplisit menggunakan region
metode ini, SDK akan berkonsultasi AWS Region dengan rantai penyedia wilayah default untuk menentukan Wilayah yang akan digunakan.
Memahami rantai AWS Region penyedia default
SDK mengambil langkah-langkah berikut untuk mencari: AWS Region
-
Setiap Region eksplisit yang disetel dengan menggunakan
region
metode pada builder itu sendiri lebih diutamakan daripada yang lainnya. -
SDK mencari properti sistem JVM
aws.region
dan menggunakan nilainya jika ditemukan. -
Variabel
AWS_REGION
lingkungan diperiksa. Jika disetel, Wilayah itu digunakan untuk mengkonfigurasi klien.catatan
Lambda Wadah menetapkan variabel lingkungan ini.
-
SDK memeriksa profil aktif di file konfigurasi dan kredensial AWS bersama. Jika
region
properti ada, SDK menggunakannya.default
Profil adalah profil aktif kecuali diganti oleh variabelAWS_PROFILE
lingkungan atau properti sistemaws.profile
JVM. Jika SDK menemukanregion
properti di kedua file untuk profil yang sama (termasukdefault
profil), SDK akan menggunakan nilai dalam file kredensial bersama. -
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.
-
-
Jika SDK masih belum menemukan Wilayah pada titik ini, pembuatan klien gagal dengan pengecualian.
Saat mengembangkan AWS aplikasi, pendekatan umum adalah menggunakan file konfigurasi bersama 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 tetap portabel.
Periksa untuk melihat apakah layanan tersedia di suatu Wilayah
Untuk melihat apakah tertentu Layanan AWS tersedia di Wilayah, gunakan serviceMetadata
metode statis pada klien layanan:
DynamoDbClient.serviceMetadata().regions().forEach(System.out::println);
Cuplikan sebelumnya mencetak daftar panjang AWS Region kode yang memiliki layanan DynamoDB:
af-south-1 ap-east-1 ap-northeast-1 ap-northeast-2 ap-northeast-3 ap-south-1 ap-south-2 ap-southeast-1 ...
Anda dapat menggunakan kode untuk mencari enumerasi kelas Region
Misalnya, jika Anda ingin bekerja dengan DynamoDB di Wilayah dengan ap-northeast-2
kode, buat klien DynamoDB Anda dengan setidaknya konfigurasi berikut:
DynamoDbClient ddb = DynamoDbClient.builder() .region(Region.AP_NORTHEAST_2) .build();
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.