

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

# Akses internet untuk alur kerja yang terhubung dengan VPC
<a name="workflows-vpc-internet"></a>

Saat Anda menghubungkan AWS HealthOmics run ke VPC, run hanya dapat mengakses sumber daya yang tersedia di 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 yang terhubung dengan VPC Anda. Untuk informasi tentang menghubungkan run ke VPC, lihat. [Menghubungkan HealthOmics alur kerja ke VPC](workflows-vpc-networking.md)

**penting**  
Menghubungkan run ke subnet publik tidak memberikan akses internet atau alamat IP publik. Selalu gunakan subnet pribadi dengan rute NAT Gateway untuk menjalankan yang membutuhkan konektivitas internet.

**Topics**
+ [Menyiapkan VPC dengan akses internet](#vpc-internet-setup)
+ [Titik akhir VPC untuk layanan AWS](#vpc-endpoints)
+ [Konfigurasi grup keamanan](#vpc-internet-security-groups)
+ [Konfigurasi tabel rute](#vpc-internet-route-tables)
+ [Menguji konektivitas VPC](#vpc-testing-connectivity)
+ [Contoh](#vpc-internet-examples)
+ [Praktik terbaik](#vpc-internet-best-practices)

## Menyiapkan VPC dengan akses internet
<a name="vpc-internet-setup"></a>

Untuk memberikan akses ke internet yang terhubung dengan VPC Anda, 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 gateway NAT untuk akses internet keluar

### Wilayah yang Didukung dan Zona Ketersediaan
<a name="vpc-internet-regions-azs"></a>

HealthOmics Alur kerja beroperasi di Wilayah dan Zona Ketersediaan berikut. Saat membuat VPC Anda, pastikan subnet Anda berada di satu atau beberapa Availability Zone ini.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/omics/latest/dev/workflows-vpc-internet.html)

1. Di konsol VPC Amazon, pilih Buat **VPC**.

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

1. Konfigurasikan pengaturan berikut:
   + **Jumlah Availability Zone**: 2 atau lebih
   + **Jumlah subnet publik**: Satu per AZ. Dalam contoh ini, 2
   + **Jumlah subnet pribadi**: Satu per AZ. Dalam contoh ini, 2
   + **Gateway NAT**: 1 per AZ (untuk produksi) atau 1 (untuk pengembangan/pengujian)
   + Titik akhir **VPC: Titik akhir** S3 Gateway (opsional — Lalu lintas Amazon S3 di wilayah dirutekan melalui VPC layanan secara default) HealthOmics 

Saat Anda membuat konfigurasi HealthOmics VPC Anda, tentukan subnet pribadi. Lari menggunakan gateway NAT di subnet publik untuk mencapai internet.

## Titik akhir VPC untuk layanan AWS
<a name="vpc-endpoints"></a>

Anda dapat mengonfigurasi titik akhir VPC untuk memungkinkan proses mengakses AWS layanan tanpa melintasi internet publik. Ini meningkatkan keamanan dan dapat mengurangi biaya transfer data.

**catatan**  
Lalu lintas Amazon S3 di Wilayah dirutekan melalui HealthOmics layanan VPC secara default. Jika Anda mengonfigurasi titik akhir antarmuka Amazon S3, lalu lintas diarahkan 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](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-s3.html) S3 di AWS PrivateLink Panduan.*

Tabel berikut mencantumkan titik akhir VPC yang umum digunakan untuk menjalankan: HealthOmics 


| Layanan | Tipe titik akhir | Nama titik akhir | 
| --- | --- | --- | 
| Amazon S3 | Gateway | com.amazonaws. region.s3 | 
| 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 | 

### Persyaratan NAT Gateway
<a name="vpc-nat-gateway-requirements"></a>

Untuk menjalankan yang membutuhkan akses internet publik:
+ NAT Gateway harus digunakan di subnet publik
+ Subnet publik harus memiliki rute ke Internet Gateway
+ Subnet pribadi (tempat menjalankan eksekusi) harus memiliki rute ke NAT Gateway

**catatan**  
NAT Gateways 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
<a name="vpc-internet-security-groups"></a>

Konfigurasikan grup keamanan Anda untuk mengizinkan lalu lintas keluar ke tujuan yang perlu Anda akses:
+ **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.
+ **Sumber daya lokal** — Izinkan lalu lintas ke rentang VPN atau CIDR Anda.

Contoh berikut menunjukkan aturan grup keamanan untuk akses internet publik:


| Tipe | Protokol | Rentang Port | Destinasi | Deskripsi | 
| --- | --- | --- | --- | --- | 
| HTTPS | TCP | 443 | 0.0.0.0/0 | Izinkan HTTPS ke internet | 

## Konfigurasi tabel rute
<a name="vpc-internet-route-tables"></a>

Pastikan subnet pribadi Anda memiliki entri tabel rute yang mengarahkan lalu lintas ke internet ke gateway NAT:


| Destinasi | Target | 
| --- | --- | 
| 10.0.0.0/16 | lokal | 
| 0.0.0.0/0 | nat-xxxxxxxxx | 

Untuk akses ke sumber daya lokal, konfigurasikan rute ke gateway atau gateway pribadi virtual.

## Menguji konektivitas VPC
<a name="vpc-testing-connectivity"></a>

Sebelum menjalankan alur kerja produksi, validasi bahwa konfigurasi VPC Anda memungkinkan konektivitas ke layanan eksternal yang diperlukan.

### Buat alur kerja pengujian
<a name="vpc-test-workflow"></a>

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
<a name="vpc-run-test"></a>

```
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
<a name="vpc-verify-results"></a>

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:
+ 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.
+ Cukup ENIs tersedia di akun Anda.
+ Gateway NAT berada di subnet publik dengan rute ke gateway internet.

**catatan**  
Throughput jaringan dimulai pada 10 Gbps per ENI dan skala hingga 100 Gbps selama periode 60 menit dengan lalu lintas berkelanjutan. Untuk alur kerja dengan persyaratan throughput tinggi langsung, silakan hubungi Support. AWS 

## Contoh
<a name="vpc-internet-examples"></a>

### Mengakses data NCBI dengan otentikasi API
<a name="vpc-example-ncbi"></a>

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 berasal HealthOmics dan akan dibatasi pada tarif pihak ketiga yang ditetapkan oleh NCBI. Anda mungkin mengalami kegagalan run karena kesalahan pelambatan selama penggunaan puncak. Kami mendorong pengguna untuk mendapatkan kunci API NCBI mereka sendiri dan memanfaatkan khusus APIs untuk memungkinkan konkurensi yang lebih tinggi dan pengalaman pengembangan yang lebih baik.

Untuk mendapatkan kunci API NCBI Anda, kunjungi dokumentasi Kunci API [NCBI](https://www.ncbi.nlm.nih.gov/datasets/docs/v2/api/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 NCBI Datasets API
+ Kunci API diteruskan sebagai parameter URL
+ Pendekatan ini memberikan batas tarif 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 [NCBI](https://www.ncbi.nlm.nih.gov/datasets/docs/v2/api/api-keys/) Datasets API.

## Praktik terbaik
<a name="vpc-internet-best-practices"></a>

1. **Gunakan titik akhir VPC untuk layanan. AWS ** 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 layanan AWS](#vpc-endpoints).

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

1. **Rencanakan Zona Ketersediaan.** Pastikan subnet Anda menjangkau Availability Zones tempat HealthOmics beroperasi untuk mendukung penempatan alur kerja.

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