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-connected Workflows
Wenn Sie einen AWS HealthOmics Lauf mit einer VPC verbinden, kann der Lauf nur auf Ressourcen zugreifen, die in dieser VPC verfügbar sind. Um deinem Lauf Zugriff auf das öffentliche Internet oder AWS Dienste außerhalb der VPC zu gewähren, musst du deine VPC mit den entsprechenden Netzwerkressourcen konfigurieren.
In diesem Thema wird beschrieben, wie Sie Ihre VPC einrichten, um Internetzugang und effiziente Konnektivität zu AWS Diensten für Ihre Läufe bereitzustellen. VPC-connected Informationen zum Verbinden von Läufen mit einer VPC finden Sie unter. HealthOmics Workflows mit einer VPC verbinden
Wichtig
Wenn ein Lauf mit einem öffentlichen Subnetz verbunden wird, 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.
Themen
Einrichtung einer VPC mit Internetzugang
Um Ihren VPC-connected Läufen Zugriff auf das Internet zu gewähren, erstellen Sie eine VPC mit privaten Subnetzen, die den ausgehenden Verkehr über ein NAT-Gateway weiterleiten.
Diese Konfiguration bietet:
Private Subnetze für HealthOmics Workflow-Aufgaben
Öffentliche Subnetze mit NAT-Gateways für den ausgehenden Internetzugang
Unterstützte Regionen und Verfügbarkeitszonen
HealthOmics Workflows funktionieren in den folgenden Regionen und Verfügbarkeitszonen. 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-west-2d | usw2-az4 | |
| us-east-1 | us-ost-1a | use1-az4 |
| us-ost-1b | use1-az6 | |
| us-ost-1c | use1-az1 | |
| US-Ost-1D | use1-az2 | |
| us-east-1f | use1-az5 | |
| 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-Soudost-1B | apse1-az1 | |
| AP-Soudost-1C | apse1-az3 | |
| il-central-1 | il-Central-1a | ilc1-az1 |
| il-central-1b | 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 | |
| ap-northeast-1 | ap-northeast-1a | apne1-az4 |
| ap-northeast-1c | apne1-az1 | |
| ap-northeast-1d | apne1-az2 | |
| us-east-2 | us-east-2a | use2-az1 |
| us-east-2b | use2-az2 | |
| us-east-2c | use2-az3 |
-
Wählen Sie in der Amazon VPC-Konsole Create VPC aus.
-
Wählen Sie VPC und mehr aus, um automatisch eine VPC mit öffentlichen und privaten Subnetzen zu erstellen.
-
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 die Produktion) oder 1 (für development/testing)
VPC-Endpunkte: S3-Gateway-Endpunkt (optional — Amazon S3-Verkehr in 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 AWS service
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 Datenübertragungskosten senken.
Wichtig
Wenn Ihre Workflow-Definition auf AWS Dienste zugreifen muss (wie Amazon Athena-Abfragen, Amazon DynamoDB-Operationen oder andere API-Aufrufe), müssen Sie sicherstellen, dass die erforderlichen VPC-Endpunkte in Ihrer VPC konfiguriert sind. Ohne die entsprechenden Endpunkte kann Ihr Workflow mit Authentifizierungs- oder Konnektivitätsfehlern fehlschlagen.
Anmerkung
In-Region Der Amazon S3-Verkehr wird standardmäßig über die HealthOmics Service-VPC geleitet. Wenn Sie Amazon S3-Schnittstellenendpunkte konfigurieren, wird der Datenverkehr stattdessen über Ihre VPC geleitet. Wir empfehlen die Verwendung von Amazon S3-Gateway-Endpunkten für beste Leistung und Kostenoptimierung. Weitere Informationen finden Sie im Handbuch unter Gateway-Endpunkte für Amazon S3. AWS PrivateLink
In der folgenden Tabelle sind häufig verwendete VPC-Endpunkte für Läufe aufgeführt: HealthOmics
| Service | Endpunkttyp | Endpoint name (Endpunktname) |
|---|---|---|
| Amazon S3 | Gateway | com.amazonaws. region.s3 |
| Amazon S3 Tables | Schnittstelle | com.amazonaws. region.s3-Tabellen |
| 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 Protokolle | Schnittstelle | com.amazonaws. region.protokolle |
| Amazon Athena | Schnittstelle | com.amazonaws. region. Athene |
Die vollständige Liste der Dienste, auf die Sie über AWS PrivateLink Endpunkte zugreifen können, finden Sie unter AWS Dienste, die mit integriert sind. AWS PrivateLink Eine ausführliche Anleitung zur Einrichtung von Endpunkten finden Sie AWS PrivateLink im AWS PrivateLink Handbuch unter Auf AWS Dienste zugreifen.
Anforderungen an das NAT Gateway
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 erwägen, VPC-Endpunkte für den AWS Servicezugriff zu verwenden, 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, die Ihren Anforderungen entsprechen.
On-premises 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 im Internet |
Konfiguration der Routing-Tabelle
Stellen Sie sicher, dass Ihre privaten Subnetze über Routing-Tabelleneinträge verfügen, die den internetgebundenen Datenverkehr an ein NAT-Gateway weiterleiten:
| Bestimmungsort | Target |
|---|---|
| 10.0.0. 0/16 | local |
| 0,0.0. 0/0 | nat-xxxxxxxxx |
Für den Zugriff auf lokale Ressourcen konfigurieren Sie Routen zu einem Virtual Private Gateway oder Gateway.
IAM-Berechtigungen für AWS service
Wenn Ihre Workflow-Aufgaben im VPC-Netzwerkmodus auf AWS Dienste wie Amazon Athena, AWS Glue oder Amazon DynamoDB zugreifen, müssen Sie der Servicerolle, die Sie an die API übergeben, die erforderlichen Berechtigungen hinzufügen. StartRun Ohne diese Berechtigungen schlagen Ihre Workflow-Aufgaben mit oder ohne Fehler fehl. AccessDeniedException UnauthorizedException
Wichtig
Die Berechtigungen für Servicerollen sind unabhängig von der VPC-Netzwerkkonfiguration. Selbst bei ordnungsgemäß konfigurierten VPC-Endpunkten und Sicherheitsgruppen schlägt Ihr Workflow fehl, wenn der Servicerolle die erforderlichen IAM-Berechtigungen fehlen.
Wenn Ihr Workflow aufgrund von Berechtigungsfehlern fehlschlägt, überprüfen Sie die CloudWatch Protokollprotokolle für Ihre Workflow-Ausführung. Zu den häufigsten Fehlermeldungen gehören AccessDeniedException: You are not authorized to perform: action on the resource (der Servicerolle fehlt die erforderliche IAM-Berechtigung) oder UnrecognizedClientException: The security
token included in the request is invalid (die Vertrauensrichtlinie für die Servicerolle ist möglicherweise falsch konfiguriert oder der übergebene Rollen-ARN StartRun ist falsch).
Allgemeine Serviceberechtigungen
Die folgenden Beispiele zeigen IAM-Berechtigungen für häufig verwendete AWS Dienste in Workflows im VPC-Modus. Fügen Sie diese Berechtigungen Ihrer Servicerollenrichtlinie hinzu, je nachdem, auf welche Dienste Ihr Workflow zugreift.
Beispiel Berechtigungen
Für Workflows, die Abfragen ausführen:
{ "Effect": "Allow", "Action": [ "athena:StartQueryExecution", "athena:GetQueryExecution", "athena:GetQueryResults", "athena:StopQueryExecution" ], "Resource": "arn:aws:athena:region:account-id:workgroup/workgroup-name" }
Beispiel AWS Glue Berechtigungen für den Datenkatalog
Für Workflows, die auf AWS Glue Datenbanken und Tabellen zugreifen (häufig mit Amazon Athena verwendet):
{ "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/*" ] }
Anmerkung
Wenn Sie die Berechtigungen für Ihren AWS Glue Datenkatalog AWS Lake Formation zur Verwaltung verwenden, müssen Sie auch die entsprechenden Lake Formation-Berechtigungen gewähren. Weitere Informationen finden Sie unter Lake Formation-Berechtigungen im AWS Lake Formation Entwicklerhandbuch.
Beispiel DynamoDB-Berechtigungen
Für Workflows, die aus DynamoDB-Tabellen lesen oder in DynamoDB-Tabellen schreiben:
{ "Effect": "Allow", "Action": [ "dynamodb:GetItem", "dynamodb:PutItem", "dynamodb:Query", "dynamodb:Scan" ], "Resource": "arn:aws:dynamodb:region:account-id:table/table-name" }
Beispiel Berechtigungen für Amazon S3-Tabellen
Für Workflows, die aus Amazon S3-Tabellen lesen oder in Amazon S3-Tabellen schreiben:
{ "Effect": "Allow", "Action": [ "s3tables:GetTableData", "s3tables:PutTableData" ], "Resource": "arn:aws:s3tables:region:account-id:bucket/bucket-name/table/table-id" }
Anmerkung
Amazon S3 Tables verwendet einen anderen Endpunkt als Amazon S3. Sie müssen einen VPC-Endpunkt für Amazon S3-Tabellen konfigurieren und sicherstellen, dass Ihre Sicherheitsgruppe ausgehenden HTTPS-Verkehr (Port 443) zum Amazon S3 Tables-Service zulässt.
Testen der VPC-Konnektivität
Stellen Sie vor dem Ausführen von Produktionsworkflows sicher, dass Ihre VPC-Konfiguration die 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-idtest-workflow-id\ --role-arnrole-arn\ --output-uri s3://bucket-name/test-outputs/ \ --networking-mode VPC \ --configuration-nameconfiguration-name\ --parameters file://test-parameters.json
Überprüfen der Ergebnisse
Überprüfen Sie die Workflow-Ausgabe, um die erfolgreiche Konnektivität 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.
Routing-Tabellen leiten den Datenverkehr für den Internetzugang an ein NAT-Gateway weiter.
Auf den externen Dienst kann von Ihrem Netzwerk aus zugegriffen werden.
In Ihrem Konto sind ausreichend ENIs 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 skaliert bei anhaltendem Datenverkehr ü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 Support. AWS
Beispiele
Zugriff auf NCBI-Daten mit API-Authentifizierung
Dieses Beispiel zeigt, wie Sie mithilfe der NCBI-Datensatz-API mit Authentifizierung auf NCBI-Daten zugreifen.
Bewährte Methoden für den Zugriff auf NCBI-Ressourcen
Kunden sollten nach Möglichkeit die REST-API verwenden 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 NCBI HealthOmics und werden zu dem von NCBI festgelegten Tarif von Drittanbietern gedrosselt. Bei Spitzenauslastung kann es aufgrund von Drosselungsfehlern zu Laufausfällen kommen. Wir empfehlen Benutzern, ihren eigenen NCBI-API-Schlüssel zu erwerben und spezielle 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üsselDer Workflow verwendet HTTPS, um auf die NCBI-Datensatz-API zuzugreifen
Der API-Schlüssel wird als URL-Parameter übergeben
Dieser Ansatz bietet höhere Ratenbeschränkungen (10 Anfragen pro Sekunde) im Vergleich zum nicht authentifizierten Zugriff (5 Anfragen pro Sekunde)
Weitere Informationen zu NCBI-API-Schlüsseln und Ratenbeschränkungen finden Sie in der API-Dokumentation zu NCBI-Datensätzen.
Bewährte Methoden
Verwenden Sie VPC-Endpunkte für Dienste. AWS Konfigurieren Sie VPC-Endpunkte für Amazon S3, Amazon ECR und andere AWS Dienste, um die NAT-Gateway-Kosten zu senken und die Leistung zu verbessern. Weitere Informationen finden Sie unter VPC-Endpunkte für AWS service.
Überwachen Sie die Netzwerkkosten. Bei VPC-Netzwerken fallen Kosten für NAT-Gateways, Datenübertragung und ENIs an. Überwachen Sie Ihre Nutzung mit Cost Explorer. AWS
Planen Sie Verfügbarkeitszonen ein. Stellen Sie sicher, dass sich Ihre Subnetze über die Availability Zones erstrecken, in denen HealthOmics die Workflow-Platzierung unterstützt wird.
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.