Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Connect ke sesi Athena Spark menggunakan antarmuka VPC endpoint
Untuk workgroup yang menggunakan Apache Spark versi 3.5, Anda dapat terhubung langsung ke sesi Athena Spark menggunakan antarmuka VPC endpoint () di Virtual AWS PrivateLink Private Cloud (VPC) Anda alih-alih terhubung melalui internet. Saat Anda menggunakan titik akhir VPC antarmuka, komunikasi antara titik akhir sesi VPC dan Athena Spark dilakukan sepenuhnya di dalam jaringan. AWS
Setiap titik akhir VPC diwakili oleh satu atau lebih Elastic Network Interfaces (ENIs) dengan alamat IP pribadi di subnet VPC Anda. ENIs Di VPC Anda tidak memerlukan alamat IP publik untuk berkomunikasi dengan titik akhir sesi Athena Spark.
Untuk menggunakan titik akhir sesi Athena Spark melalui VPC Anda, Anda harus terhubung dari instance yang ada di dalam VPC atau menghubungkan jaringan pribadi Anda ke VPC menggunakan () atau.Site-to-Site VPN AWS Direct Connect
Titik akhir yang didukung
Titik akhir sesi Athena Spark berikut mendukung akses pribadi melalui: AWS PrivateLink
| Titik akhir | Deskripsi | Nama layanan |
|---|---|---|
| Spark Connect | Endpoint gRPC untuk eksekusi beban kerja Spark jarak jauh | com.amazonaws. |
| UI Langsung | Pemantauan tugas Spark real-time berbasis browser | com.amazonaws. |
| UI persisten | Spark History Server untuk sesi yang telah selesai | com.amazonaws. |
Pertimbangan-pertimbangan
-
Untuk memastikan bahwa titik akhir URLs sesi hanya dapat diakses dari dalam VPC Anda, Anda harus
GetSessionEndpointmemanggil (Spark Connect)GetResourceDashboardatau (UI Langsung dan UI Persisten) melalui titik akhir VPC Athena API. Athena menyematkan VPC asal dalam token akses dan memberlakukan bahwa titik akhir diakses dari VPC yang sama. -
URL endpoint sesi yang dihasilkan dari dalam VPC dapat diakses dari VPC yang sama atau dari internet publik, tetapi tidak dari VPC yang berbeda. Ini mendukung alur kerja umum di mana token dihasilkan secara terprogram dari dalam VPC dan URL dasbor yang dihasilkan dibuka di browser lokal.
-
URL endpoint sesi yang dihasilkan dari internet publik tidak dapat diakses dari dalam VPC.
-
Kebijakan titik akhir VPC tidak didukung di Athena Spark Connect, UI Langsung, atau titik akhir UI Persisten.
-
Kebijakan titik akhir VPC didukung pada titik akhir API Athena. Untuk mengontrol prinsip IAM mana yang dapat memanggil titik akhir Athena API, terapkan kebijakan titik akhir VPC VPC ke titik akhir VPC Athena API () Anda.
com.amazonaws.region.athena
Buat titik akhir VPC untuk titik akhir sesi Athena Spark
Anda dapat membuat antarmuka VPC endpoint menggunakan atau file. Konsol Manajemen AWS AWS CLI
Untuk membuat titik akhir menggunakan: AWS CLI
aws ec2 create-vpc-endpoint \ --vpc-id <your-vpc-id> \ --service-name com.amazonaws.<region>.athena.sessions \ --vpc-endpoint-type Interface \ --subnet-ids <subnet-id> \ --security-group-ids <security-group-id> \ --private-dns-enabled
Setelah Anda membuat titik akhir dan mengaktifkan DNS pribadi, URL sesi Spark Connect secara otomatis menyelesaikan titik akhir VPC Anda — tidak ada perubahan yang diperlukan dalam konfigurasi klien Anda. SparkConnect Untuk informasi selengkapnya, lihat Membuat titik akhir antarmuka dalam AWS PrivateLink dokumentasi.
Buat kebijakan titik akhir VPC untuk titik akhir sesi Athena Spark
Kebijakan titik akhir VPC tidak didukung di Athena Spark Connect, UI Langsung, atau titik akhir UI Persisten.
Untuk mengontrol akses, lampirkan kebijakan titik akhir VPC ke titik akhir API Athena (). com.amazonaws. Karena titik akhir sesi URLs terikat pada VPC dari mana mereka dihasilkan, mengontrol siapa yang dapat region.athenaGetSessionEndpoint memanggil GetResourceDashboard atau melalui titik akhir API secara efektif mengontrol akses ke titik akhir sesi yang sesuai.
Untuk informasi selengkapnya, lihat Mengendalikan akses ke layanan dengan VPC endpoint.
Contoh berikut hanya mengizinkan peran IAM tertentu untuk menghasilkan titik akhir URLs sesi:
{ "Statement": [ { "Action": [ "athena:GetSessionEndpoint", "athena:GetResourceDashboard" ], "Effect": "Allow", "Resource": "*", "Principal": { "AWS": "arn:aws:iam::<account-id>:role/<role-name>" } } ] }