Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Akses internet untuk alur VPC-connected kerja
Saat Anda menghubungkan AWS HealthOmics run ke VPC, run hanya dapat mengakses sumber daya yang tersedia dalam VPC tersebut. Untuk memberikan akses run Anda ke internet publik atau AWS layanan di luar VPC, Anda harus mengonfigurasi VPC Anda dengan sumber daya jaringan yang sesuai.
Topik ini menjelaskan cara mengatur VPC Anda untuk menyediakan akses internet dan konektivitas yang efisien ke AWS layanan untuk proses Anda VPC-connected . Untuk informasi tentang menghubungkan run ke VPC, lihatMenghubungkan HealthOmics alur kerja ke VPC.
penting
Menghubungkan run ke subnet publik tidak memberinya akses internet atau alamat IP publik. Selalu gunakan subnet pribadi dengan rute NAT Gateway untuk menjalankan yang membutuhkan konektivitas internet.
Topik
Menyiapkan VPC dengan akses internet
Untuk memberikan akses VPC-connected run Anda ke internet, buat VPC dengan subnet pribadi yang merutekan lalu lintas keluar melalui gateway NAT.
Konfigurasi ini menyediakan:
Subnet pribadi untuk tugas HealthOmics alur kerja
Subnet publik dengan NAT gateway untuk akses internet keluar
Wilayah yang Didukung dan Zona Ketersediaan
HealthOmics Alur kerja beroperasi di Wilayah dan Zona Ketersediaan berikut. Saat membuat VPC, pastikan subnet Anda berada di satu atau beberapa Zona Ketersediaan ini.
| Region | Nama Zona Ketersediaan | ID Zona Ketersediaan |
|---|---|---|
| us-west-2 | us-barat-2a | usw2-az2 |
| us-barat-2b | usw2-az1 | |
| us-barat-2c | usw2-az3 | |
| us-barat-2d | usw2-az4 | |
| us-east-1 | us-east-1a | use1-az4 |
| us-east-1b | use1-az6 | |
| us-east-1c | gunakan1-az1 | |
| us-timur-1d | use1-az2 | |
| us-timur-1f | gunakan1-az5 | |
| eu-west-1 | eu-barat-1a | euw1-az2 |
| eu-barat-1b | euw1-az3 | |
| eu-barat-1c | euw1-az1 | |
| eu-central-1 | eu-central-1a | euc1-az2 |
| eu-sentral-1b | euc1-az3 | |
| eu-central-1c | euc1-az1 | |
| eu-west-2 | eu-barat-2a | euw2-az2 |
| eu-barat-2b | euw2-az3 | |
| eu-barat-2c | euw2-az1 | |
| ap-southeast-1 | ap-South-1a | apse1-az2 |
| ap-South-1b | apse1-az1 | |
| ap-Southeast-1c | apse1-az3 | |
| il-central-1 | central-1a | ilc1-az1 |
| il-central-1b | ilc1-az2 | |
| central-1c | ilc1-az3 | |
| ap-northeast-2 | ap-northeast-2a | apne2-az1 |
| ap-utara-2b | apne2-az2 | |
| ap-utara-2c | apne2-az3 | |
| ap-northeast-1 | ap-northeast-1a | apne1-az4 |
| ap-northeast-1c | apne1-az1 | |
| ap-northeast-1d | apne1-az2 | |
| us-east-2 | us-timur-2a | gunakan2-az1 |
| us-timur-2b | gunakan2-az2 | |
| us-timur-2c | gunakan2-az3 |
-
Di konsol Amazon VPC, pilih Buat V PC.
-
Pilih VPC dan lainnya untuk secara otomatis membuat VPC dengan subnet publik dan pribadi.
-
Konfigurasikan pengaturan berikut:
Jumlah Zona Ketersediaan: 2 atau lebih
Jumlah subnet publik: Satu per AZ. Dalam contoh ini, 2
Jumlah subnet pribadi: Satu per AZ. Dalam contoh ini, 2
Gerbang NAT: 1 per AZ (untuk produksi) atau 1 (untuk development/testing)
Titik akhir VPC: Titik akhir S3 Gateway (opsional — Lalu lintas Amazon S3 dalam wilayah dirutekan melalui HealthOmics layanan VPC secara default)
Saat Anda membuat konfigurasi HealthOmics VPC, tentukan subnet pribadi. Lari menggunakan gateway NAT di subnet publik untuk menjangkau internet.
Titik akhir VPC untuk AWS layanan
Anda dapat mengonfigurasi titik akhir VPC untuk memungkinkan run mengakses AWS layanan tanpa melintasi internet publik. Ini meningkatkan keamanan dan dapat mengurangi biaya transfer data.
penting
Jika definisi alur kerja Anda perlu mengakses AWS layanan (seperti kueri Amazon Athena, operasi Amazon DynamoDB, atau panggilan API lainnya), Anda harus memastikan bahwa titik akhir VPC yang diperlukan dikonfigurasi di VPC Anda. Tanpa titik akhir yang sesuai, alur kerja Anda mungkin gagal karena kesalahan otentikasi atau konektivitas.
catatan
In-Region Lalu lintas Amazon S3 dialihkan melalui HealthOmics layanan VPC secara default. Jika Anda mengonfigurasi titik akhir antarmuka Amazon S3, lalu lintas dialihkan melalui VPC Anda sebagai gantinya. Sebaiknya gunakan titik akhir gateway Amazon S3 untuk kinerja terbaik dan pengoptimalan biaya. Untuk informasi selengkapnya, lihat Titik akhir Gateway untuk Amazon S3 di AWS PrivateLink Panduan.
Tabel berikut mencantumkan titik akhir VPC yang umum digunakan untuk dijalankan: HealthOmics
| Layanan | Tipe titik akhir | Nama titik akhir |
|---|---|---|
| Amazon S3 | Gateway | com.amazonaws. region.s3 |
| Tabel Amazon S3 | Antarmuka | com.amazonaws. region.s3tabel |
| Amazon ECR (API) | Antarmuka | com.amazonaws. region.ecr.api |
| Amazon ECR (Docker) | Antarmuka | com.amazonaws. region.ecr.dkr |
| SSM | Antarmuka | com.amazonaws. region.ssm |
| CloudWatch Log | Antarmuka | com.amazonaws. region.log |
| Amazon Athena | Antarmuka | com.amazonaws. region.athena |
Daftar lengkap layanan yang dapat Anda akses melalui AWS PrivateLink titik akhir dapat ditemukan di AWS layanan yang terintegrasi dengannya AWS PrivateLink. Untuk petunjuk penyiapan titik akhir terperinci, lihat AWS Layanan AWS PrivateLink Akses melalui AWS PrivateLink Panduan.
Persyaratan NAT Gateway
Untuk lari yang membutuhkan akses internet publik:
NAT Gateway harus digunakan di subnet publik
Subnet publik harus memiliki rute ke Internet Gateway
Subnet pribadi (di mana run dijalankan) harus memiliki rute ke NAT Gateway
catatan
NAT Gateway dikenakan biaya per jam dan biaya pemrosesan data. Untuk pengoptimalan biaya, pertimbangkan untuk menggunakan titik akhir VPC untuk akses AWS layanan alih-alih merutekan melalui NAT Gateway.
Konfigurasi grup keamanan
Konfigurasikan grup keamanan Anda untuk mengizinkan lalu lintas keluar ke tujuan yang perlu diakses oleh proses yang Anda jalankan:
Akses internet publik - Izinkan lalu lintas HTTPS keluar (port 443). Tambahkan aturan untuk protokol lain sesuai kebutuhan, seperti HTTP (port 80).
Layanan khusus — Konfigurasikan aturan berdasarkan kebutuhan Anda.
On-premises sumber daya — Izinkan lalu lintas ke rentang VPN atau CIDR Anda.
Contoh berikut menunjukkan aturan grup keamanan untuk akses internet publik:
| Tipe | Protokol | Rentang Port | Tujuan | Deskripsi |
|---|---|---|---|---|
| HTTPS | TCP | 443 | 0.0.0. 0/0 | Izinkan HTTPS ke internet |
Konfigurasi tabel rute
Pastikan subnet pribadi Anda memiliki entri tabel rute yang mengarahkan lalu lintas terikat internet ke gateway NAT:
| Tujuan | Target |
|---|---|
| 10.0.0. 0/16 | lokal |
| 0.0.0. 0/0 | nat-xxxxxxxxx |
Untuk akses ke sumber daya lokal, konfigurasikan rute ke gateway pribadi virtual atau gateway.
Izin IAM untuk AWS layanan
Saat tugas alur kerja Anda mengakses AWS layanan seperti Amazon Athena, AWS Glue, atau Amazon DynamoDB dalam mode jaringan VPC, Anda harus menambahkan izin yang diperlukan ke peran layanan yang Anda berikan ke API. StartRun Tanpa izin ini, tugas alur kerja Anda akan gagal dengan AccessDeniedException atau UnauthorizedException kesalahan.
penting
Izin peran layanan terpisah dari konfigurasi jaringan VPC. Bahkan dengan titik akhir VPC dan grup keamanan yang dikonfigurasi dengan benar, alur kerja Anda akan gagal jika peran layanan tidak memiliki izin IAM yang diperlukan.
Jika alur kerja Anda gagal dengan kesalahan izin, periksa CloudWatch log log untuk menjalankan alur kerja Anda. Pesan kesalahan umum termasuk AccessDeniedException: You are not authorized to perform: action on the resource (peran layanan tidak memiliki izin IAM yang diperlukan) atau UnrecognizedClientException: The security
token included in the request is invalid (kebijakan kepercayaan peran layanan mungkin salah dikonfigurasi, atau peran yang diteruskan ARN StartRun salah).
Izin layanan umum
Contoh berikut menunjukkan izin IAM untuk AWS layanan yang umum digunakan dalam alur kerja mode VPC. Tambahkan izin ini ke kebijakan peran layanan berdasarkan layanan mana yang diakses alur kerja Anda.
contoh izin
Untuk alur kerja yang menjalankan kueri:
{ "Effect": "Allow", "Action": [ "athena:StartQueryExecution", "athena:GetQueryExecution", "athena:GetQueryResults", "athena:StopQueryExecution" ], "Resource": "arn:aws:athena:region:account-id:workgroup/workgroup-name" }
contoh AWS Glue Izin Katalog Data
Untuk alur kerja yang mengakses AWS Glue database dan tabel (biasa digunakan dengan Amazon Athena):
{ "Effect": "Allow", "Action": [ "glue:GetDatabase", "glue:GetTable", "glue:GetPartitions", "glue:CreateTable", "glue:UpdateTable" ], "Resource": [ "arn:aws:glue:region:account-id:catalog", "arn:aws:glue:region:account-id:database/database-name", "arn:aws:glue:region:account-id:table/database-name/*" ] }
catatan
Jika Anda menggunakan AWS Lake Formation untuk mengelola izin untuk Katalog AWS Glue Data Anda, Anda juga harus memberikan izin Formasi Danau yang sesuai. Untuk informasi selengkapnya, lihat izin Formasi Danau di Panduan AWS Lake Formation Pengembang.
contoh Izin DynamoDB
Untuk alur kerja yang membaca atau menulis ke tabel DynamoDB:
{ "Effect": "Allow", "Action": [ "dynamodb:GetItem", "dynamodb:PutItem", "dynamodb:Query", "dynamodb:Scan" ], "Resource": "arn:aws:dynamodb:region:account-id:table/table-name" }
contoh Izin Tabel Amazon S3
Untuk alur kerja yang membaca atau menulis ke Tabel Amazon S3:
{ "Effect": "Allow", "Action": [ "s3tables:GetTableData", "s3tables:PutTableData" ], "Resource": "arn:aws:s3tables:region:account-id:bucket/bucket-name/table/table-id" }
catatan
Tabel Amazon S3 menggunakan titik akhir yang berbeda dari Amazon S3. Anda harus mengonfigurasi titik akhir VPC untuk Amazon S3 Tables dan memastikan grup keamanan Anda mengizinkan lalu lintas HTTPS keluar (port 443) ke layanan Amazon S3 Tables.
Menguji konektivitas VPC
Sebelum menjalankan alur kerja produksi, validasi bahwa konfigurasi VPC Anda memungkinkan konektivitas ke layanan eksternal yang diperlukan.
Membuat alur kerja pengujian
Buat alur kerja sederhana yang menguji konektivitas ke layanan eksternal Anda. Misalnya, buat alur kerja yang mencoba koneksi TCP ke titik akhir layanan target.
Jalankan tes
aws omics start-run \ --workflow-idtest-workflow-id\ --role-arnrole-arn\ --output-uri s3://bucket-name/test-outputs/ \ --networking-mode VPC \ --configuration-nameconfiguration-name\ --parameters file://test-parameters.json
Verifikasi hasil
Periksa output alur kerja untuk mengonfirmasi konektivitas yang berhasil:
{ "connectivity_test.result": "Testing connection to external service...\nSUCCESS: Connection successful!\nTest completed" }
Jika tes gagal, verifikasi yang berikut ini:
Aturan grup keamanan memungkinkan lalu lintas keluar ke port dan tujuan yang diperlukan.
Tabel rute mengarahkan lalu lintas ke gateway NAT untuk akses internet.
Layanan eksternal dapat diakses dari jaringan Anda.
ENI yang cukup tersedia di akun Anda.
Gerbang NAT berada di subnet publik dengan rute ke gateway internet.
catatan
Throughput jaringan dimulai pada 10 Gbps per ENI dan ditingkatkan hingga 100 Gbps selama periode 60 menit dengan lalu lintas berkelanjutan. Untuk alur kerja dengan persyaratan throughput tinggi langsung, silakan hubungi AWS Dukungan.
Contoh
Mengakses data NCBI dengan otentikasi API
Contoh ini menunjukkan cara mengakses data NCBI menggunakan NCBI Datasets API dengan otentikasi.
Praktik terbaik untuk mengakses sumber daya NCBI
Pelanggan harus menggunakan REST API jika memungkinkan, dan menggunakan kunci API yang disediakan oleh NCBI. Permintaan untuk mengakses sumber daya NCBI, seperti permintaan HTTP dan FTP untuk data publik, akan datang dari HealthOmics dan akan dibatasi pada tingkat pihak ketiga yang ditetapkan oleh NCBI. Anda mungkin mengalami kegagalan menjalankan karena kesalahan pelambatan selama penggunaan puncak. Kami mendorong pengguna untuk mendapatkan kunci API NCBI mereka sendiri dan menggunakan API khusus untuk memungkinkan konkurensi yang lebih tinggi dan pengalaman pengembangan yang lebih baik.
Untuk mendapatkan kunci API NCBI Anda, kunjungi dokumentasi NCBI API Keys.
Contoh definisi alur kerja:
version 1.0 #WORKFLOW DEFINITION # Meant to be used as integration test for public internet access via VPC tunnel workflow TestFlow { input { String ncbi_api_url = "https://api.ncbi.nlm.nih.gov/datasets/v2/gene/accession/NM_021803.4?api_key=<YOUR_API_KEY>" } call DataProcessTask{ input: ncbi_api_url = ncbi_api_url, } output { File output_file = DataProcessTask.output_file } } #Task Definitions task DataProcessTask { input { String ncbi_api_url } command <<< set -eu # Download file from NCBI Datasets API with API key curl -fsSL "~{ncbi_api_url}" -o gene_data.json # Add data processing task here cat gene_data.json > processed_data.json # Echo the content to output file cat processed_data.json > outfile.txt >>> output { File output_file = "outfile.txt" } }
Poin kunci:
Ganti
<YOUR_API_KEY>dengan kunci API NCBI Anda yang sebenarnyaAlur kerja menggunakan HTTPS untuk mengakses API Kumpulan Data NCBI
Kunci API diteruskan sebagai parameter URL
Pendekatan ini memberikan batas kecepatan yang lebih tinggi (10 permintaan per detik) dibandingkan dengan akses yang tidak diautentikasi (5 permintaan per detik)
Untuk informasi selengkapnya tentang kunci API NCBI dan batas tarif, lihat dokumentasi API NCBI Datasets.
Praktik terbaik
Gunakan titik akhir VPC untuk AWS layanan. Konfigurasikan titik akhir VPC untuk Amazon S3, Amazon ECR, dan AWS layanan lainnya untuk mengurangi biaya gateway NAT dan meningkatkan kinerja. Untuk informasi selengkapnya, lihat Titik akhir VPC untuk AWS layanan.
Pantau biaya jaringan. Jaringan VPC menimbulkan biaya untuk gateway NAT, transfer data, dan ENI. Pantau penggunaan Anda dengan AWS Cost Explorer.
Rencanakan Zona Ketersediaan. Pastikan subnet Anda menjangkau Zona Ketersediaan tempat HealthOmics beroperasi untuk mendukung penempatan alur kerja.
Gunakan NAT gateway di setiap AZ. Untuk beban kerja produksi, gunakan gateway NAT di setiap Availability Zone untuk menyediakan redundansi.