View a markdown version of this page

Internetzugang für VPC-verbundene Workflows - AWS HealthOmics

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Internetzugang für VPC-verbundene Workflows

Wenn Sie einen AWS HealthOmics Run mit einer VPC verbinden, kann der Run nur auf Ressourcen zugreifen, die in dieser VPC verfügbar sind. Um Ihrem Run Zugriff auf das öffentliche Internet oder AWS Dienste außerhalb der VPC zu gewähren, müssen Sie Ihre VPC mit den entsprechenden Netzwerkressourcen konfigurieren.

In diesem Thema wird beschrieben, wie Sie Ihre VPC so einrichten, dass sie Internetzugang und effiziente Konnektivität zu AWS Diensten für Ihre mit dem VPN verbundenen Läufe bereitstellt. Hinweise zum Verbinden von Läufen mit einer VPC finden Sie unterHealthOmics Workflows mit einer VPC verbinden.

Wichtig

Wenn Sie einen Lauf mit einem öffentlichen Subnetz verbinden, erhält er weder Internetzugang noch eine öffentliche IP-Adresse. Verwenden Sie immer private Subnetze mit NAT-Gateway-Routen für Läufe, die eine Internetverbindung erfordern.

Einrichtung einer VPC mit Internetzugang

Um Ihren mit dem VPN verbundenen Läufen Zugriff auf das Internet zu gewähren, erstellen Sie eine VPC mit privaten Subnetzen, die ausgehenden Datenverkehr über ein NAT-Gateway weiterleiten.

Diese Konfiguration bietet:

  • Private Subnetze für HealthOmics Workflow-Aufgaben

  • Öffentliche Subnetze mit NAT-Gateways für ausgehenden Internetzugang

Unterstützte Regionen und Availability Zones

HealthOmics Workflows ist in den folgenden Regionen und Availability Zones verfügbar. Stellen Sie beim Erstellen Ihrer VPC sicher, dass sich Ihre Subnetze in einer oder mehreren dieser Availability Zones befinden.

Region Name der Verfügbarkeitszone Availability Zone-ID
us-west-2 us-west-2a usw2-az2
us-west-2b usw2-az1
us-west-2c usw2-az3
us-east-1 us-ost-1a use1-az4
us-ost-1b use1-az6
us-ost-1c use1-az1
us-ost-1d use1-az2
eu-west-1 eu-west-1a euw1-az2
eu-west-1b euw1-az3
eu-west-1c euw1-az1
eu-central-1 eu-central-1a euc1-az2
eu-central-1b euc1-az3
eu-central-1c euc1-az1
eu-west-2 eu-west-2a euw2-az2
eu-west-2b euw2-az3
eu-west-2c euw2-az1
ap-southeast-1 ap-Südost-1a apse1-az2
ap-Südost-1b apse1-az1
ap-Südost-1c apse1-az3
il-central-1 IL-Zentral-1A ilc1-az1
il-Central-1 b ilc1-az2
il-Central-1C ilc1-az3
ap-northeast-2 ap-Nordost-2a apne2-az1
ap-Nordost-2b apne2-az2
ap-Nordost-2c apne2-az3
  1. Wählen Sie in der Amazon VPC-Konsole Create VPC aus.

  2. Wählen Sie VPC und mehr, um automatisch eine VPC mit öffentlichen und privaten Subnetzen zu erstellen.

  3. Konfigurieren Sie die folgenden Einstellungen:

    • Anzahl der Availability Zones: 2 oder mehr

    • Anzahl der öffentlichen Subnetze: Eines pro AZ. In diesem Beispiel 2

    • Anzahl der privaten Subnetze: Eines pro AZ. In diesem Beispiel 2

    • NAT-Gateways: 1 pro AZ (für Produktion) oder 1 (für Entwicklung/Tests)

    • VPC-Endpunkte: S3-Gateway-Endpunkt (optional — Amazon S3 S3-Datenverkehr innerhalb der Region wird standardmäßig über die HealthOmics Service-VPC geleitet)

Wenn Sie Ihre HealthOmics VPC-Konfiguration erstellen, geben Sie die privaten Subnetze an. Die Läufe verwenden das NAT-Gateway im öffentlichen Subnetz, um das Internet zu erreichen.

VPC-Endpunkte für Dienste AWS

Sie können VPC-Endpunkte so konfigurieren, dass Läufe auf AWS Dienste zugreifen können, ohne das öffentliche Internet zu durchqueren. Dies verbessert die Sicherheit und kann die Kosten für die Datenübertragung senken.

Anmerkung

Amazon S3 S3-Datenverkehr in der Region wird standardmäßig über die HealthOmics Service-VPC geleitet. Wenn Sie Amazon S3 S3-Schnittstellenendpunkte konfigurieren, wird der Datenverkehr stattdessen über Ihre VPC geleitet. Wir empfehlen die Verwendung von Amazon S3 S3-Gateway-Endpunkten für optimale Leistung und Kostenoptimierung. Weitere Informationen finden Sie im AWS PrivateLink Handbuch unter Gateway-Endpunkte für Amazon S3.

In der folgenden Tabelle sind häufig verwendete VPC-Endpoints für HealthOmics Läufe aufgeführt:

Service Endpunkttyp Endpoint name (Endpunktname)
Amazon S3 Gateway com.amazonaws. region. 3
Amazon ECR (API) Schnittstelle com.amazonaws. region.ecr.api
Amazon ECR (Docker) Schnittstelle com.amazonaws. region.ecr.dkr
SSM Schnittstelle com.amazonaws. region.ssm
CloudWatch Logs Schnittstelle com.amazonaws. region.protokolle

NAT-Gateway-Anforderungen

Für Läufe, die einen öffentlichen Internetzugang erfordern:

  • NAT Gateway muss in einem öffentlichen Subnetz bereitgestellt werden

  • Das öffentliche Subnetz muss eine Route zu einem Internet Gateway haben

  • Private Subnetze (in denen Läufe ausgeführt werden) müssen über Routen zum NAT-Gateway verfügen

Anmerkung

Für NAT-Gateways fallen stündliche Gebühren und Datenverarbeitungsgebühren an. Zur Kostenoptimierung sollten Sie die Verwendung von VPC-Endpunkten für den AWS Servicezugriff in Betracht ziehen, anstatt das Routing über das NAT-Gateway durchzuführen.

Sicherheitsgruppenkonfiguration

Konfigurieren Sie Ihre Sicherheitsgruppen so, dass ausgehender Datenverkehr zu den Zielen zugelassen wird, auf die Ihre Läufe zugreifen müssen:

  • Öffentlicher Internetzugang — Erlaubt ausgehenden HTTPS-Verkehr (Port 443). Fügen Sie nach Bedarf Regeln für andere Protokolle hinzu, z. B. HTTP (Port 80).

  • Spezifische Dienste — Konfigurieren Sie Regeln auf der Grundlage Ihrer Anforderungen.

  • Lokale Ressourcen — Erlauben Sie den Datenverkehr zu Ihren VPN- oder CIDR-Bereichen.

Das folgende Beispiel zeigt eine Sicherheitsgruppenregel für den öffentlichen Internetzugang:

Typ Protocol (Protokoll) Port-Bereich Ziel Description
HTTPS TCP 443 0.0.0.0/0 Erlaube HTTPS für das Internet

Konfiguration der Routentabelle

Stellen Sie sicher, dass Ihre privaten Subnetze über Routing-Tabelleneinträge verfügen, die den internetgebundenen Verkehr an ein NAT-Gateway weiterleiten:

Bestimmungsort Ziel
10.0.0.0/16 Lokal
0.0.0.0/0 nat-xxxxxxxxx

Für den Zugriff auf lokale Ressourcen konfigurieren Sie Routen zu einem virtuellen privaten Gateway oder Gateway.

VPC-Konnektivität testen

Stellen Sie vor dem Ausführen von Produktionsworkflows sicher, dass Ihre VPC-Konfiguration Konnektivität zu den erforderlichen externen Diensten ermöglicht.

Erstellen Sie einen Test-Workflow

Erstellen Sie einen einfachen Workflow, der die Konnektivität zu Ihrem externen Dienst testet. Erstellen Sie beispielsweise einen Workflow, der versucht, eine TCP-Verbindung zu einem Zieldienstendpunkt herzustellen.

Führen Sie den Test aus

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

Überprüfen der Ergebnisse

Überprüfen Sie die Workflow-Ausgabe, um die erfolgreiche Verbindung zu bestätigen:

{ "connectivity_test.result": "Testing connection to external service...\nSUCCESS: Connection successful!\nTest completed" }

Wenn der Test fehlschlägt, überprüfen Sie Folgendes:

  • Sicherheitsgruppenregeln ermöglichen ausgehenden Datenverkehr zu den erforderlichen Ports und Zielen.

  • Routentabellen leiten den Datenverkehr an ein NAT-Gateway für den Internetzugang weiter.

  • Auf den externen Dienst kann von Ihrem Netzwerk aus zugegriffen werden.

  • ENIs Genügend sind in Ihrem Konto verfügbar.

  • Das NAT-Gateway befindet sich in einem öffentlichen Subnetz mit einer Route zu einem Internet-Gateway.

Anmerkung

Der Netzwerkdurchsatz beginnt bei 10 Gbit/s pro ENI und steigt bei anhaltendem Verkehr über einen Zeitraum von 60 Minuten auf bis zu 100 Gbit/s. Für Workflows mit unmittelbaren Anforderungen an einen hohen Durchsatz wenden Sie sich bitte an den AWS Support.

Beispiele

Zugriff auf NCBI-Daten mit API-Authentifizierung

Dieses Beispiel zeigt, wie Sie mithilfe der NCBI Datasets API mit Authentifizierung auf NCBI-Daten zugreifen können.

Bewährte Methoden für den Zugriff auf NCBI-Ressourcen

Kunden sollten nach Möglichkeit die REST-API und einen von NCBI bereitgestellten API-Schlüssel verwenden. Anfragen für den Zugriff auf NCBI-Ressourcen, wie HTTP- und FTP-Anfragen für öffentliche Daten, kommen von Drittanbietern HealthOmics und werden entsprechend dem vom NCBI festgelegten Tarif gedrosselt. Bei hoher Auslastung kann es aufgrund von Drosselungsfehlern zu Ausführungsausfällen kommen. Wir empfehlen Benutzern, ihren eigenen NCBI-API-Schlüssel zu erwerben und Specialized APIs zu verwenden, um eine höhere Parallelität und ein besseres Entwicklungserlebnis zu ermöglichen.

Um Ihren NCBI-API-Schlüssel zu erhalten, besuchen Sie die Dokumentation zu den NCBI-API-Schlüsseln.

Beispiel für eine Workflow-Definition:

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" } }

Die wichtigsten Punkte:

  • <YOUR_API_KEY>Ersetzen Sie ihn durch Ihren tatsächlichen NCBI-API-Schlüssel

  • Der Workflow verwendet HTTPS für den Zugriff auf die NCBI Datasets API

  • Der API-Schlüssel wird als URL-Parameter übergeben

  • Dieser Ansatz bietet höhere Ratenlimits (10 Anfragen pro Sekunde) im Vergleich zu einem nicht authentifizierten Zugriff (5 Anfragen pro Sekunde)

Weitere Informationen zu NCBI-API-Schlüsseln und Ratenbegrenzungen finden Sie in der NCBI Datasets API-Dokumentation.

Best Practices

  1. Verwenden Sie VPC-Endpunkte für AWS Dienste. Konfigurieren Sie VPC-Endpunkte für Amazon S3, Amazon ECR und andere AWS Services, um die Kosten für das NAT-Gateway zu senken und die Leistung zu verbessern. Weitere Informationen finden Sie unter VPC-Endpunkte für Dienste AWS.

  2. Überwachen Sie die Netzwerkkosten. Für VPC-Netzwerke fallen Kosten für NAT-Gateways, Datenübertragung und an. ENIs Überwachen Sie Ihre Nutzung mit AWS Cost Explorer.

  3. Plan für Availability Zones. Stellen Sie sicher, dass sich Ihre Subnetze über die Availability Zones erstrecken, in denen Sie arbeiten, HealthOmics um die Workflow-Platzierung zu unterstützen.

  4. Verwenden Sie NAT-Gateways in jeder AZ. Stellen Sie für Produktionsworkloads in jeder Availability Zone ein NAT-Gateway bereit, um Redundanz zu gewährleisten.