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 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 einrichten, um Internetzugang und effiziente Konnektivität zu AWS Diensten für Ihre VPC-connected Läufe bereitzustellen. 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.
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 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-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-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 |
-
Wählen Sie in der Amazon VPC-Konsole Create VPC aus.
-
Wählen Sie VPC und mehr, 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 Produktion) oder 1 (für development/testing)
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.
Wichtig
Wenn Ihre Workflow-Definition auf AWS Services zugreifen muss (wie Amazon Athena Athena-Abfragen, Amazon DynamoDB 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 Verbindungsfehlern fehlschlagen.
Anmerkung
In-Region Amazon S3 S3-Verkehr 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 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 Logs | Schnittstelle | com.amazonaws. region.protokolle |
| Amazon Athena | Schnittstelle | com.amazonaws. region.Athena |
Die vollständige Liste der Dienste, auf die Sie über AWS PrivateLink Endpunkte zugreifen können, finden Sie unter AWS Dienste, die sich integrieren lassen. AWS PrivateLink Eine ausführliche Anleitung zur Einrichtung von Endgeräten finden Sie unter Access AWS Services bis AWS PrivateLink im AWS PrivateLink Guide.
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 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.
On-premises Ressourcen — Erlauben Sie 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 | HTTPS im Internet zulassen |
Konfiguration der Routentabelle
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 virtuellen privaten Gateway oder Gateway.
IAM-Berechtigungen für Dienste AWS
Wenn Ihre Workflow-Aufgaben im VPC-Netzwerkmodus auf AWS Services 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 die Servicerolle sind von der VPC-Netzwerkkonfiguration getrennt. 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 Logs 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 Dienstberechtigungen
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 AWS Lake Formation Berechtigungen für Ihren AWS Glue Datenkatalog verwalten, müssen Sie auch die entsprechenden Lake Formation Formation-Berechtigungen erteilen. Weitere Informationen finden Sie unter Lake Formation 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 Amazon S3 S3-Tabellen
Für Workflows, die aus Amazon S3-Tabellen lesen oder in Amazon S3 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.
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-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 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.
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 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 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 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
Best Practices
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.
Überwachen Sie die Netzwerkkosten. Für VPC-Netzwerke fallen Kosten für NAT-Gateways, Datenübertragung und ENIs an. Überwachen Sie Ihre Nutzung mit AWS Cost Explorer.
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.
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.