View a markdown version of this page

Akses internet untuk alur VPC-connected kerja - AWS HealthOmics

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.

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
  1. Di konsol Amazon VPC, pilih Buat V PC.

  2. Pilih VPC dan lainnya untuk secara otomatis membuat VPC dengan subnet publik dan pribadi.

  3. 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-id test-workflow-id \ --role-arn role-arn \ --output-uri s3://bucket-name/test-outputs/ \ --networking-mode VPC \ --configuration-name configuration-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 sebenarnya

  • Alur 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

  1. 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.

  2. Pantau biaya jaringan. Jaringan VPC menimbulkan biaya untuk gateway NAT, transfer data, dan ENI. Pantau penggunaan Anda dengan AWS Cost Explorer.

  3. Rencanakan Zona Ketersediaan. Pastikan subnet Anda menjangkau Zona Ketersediaan tempat HealthOmics beroperasi untuk mendukung penempatan alur kerja.

  4. Gunakan NAT gateway di setiap AZ. Untuk beban kerja produksi, gunakan gateway NAT di setiap Availability Zone untuk menyediakan redundansi.