View a markdown version of this page

Connecter HealthOmics les flux de travail à un VPC - AWS HealthOmics

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Connecter HealthOmics les flux de travail à un VPC

Avec Amazon Virtual Private Cloud (Amazon VPC), vous pouvez lancer AWS des ressources sur un réseau virtuel privé que vous avez défini. Vous pouvez autoriser vos HealthOmics flux de travail à accéder aux ressources de votre VPC en configurant vos exécutions pour utiliser le mode réseau VPC. Lorsque la mise en réseau VPC est activée, vos exécutions peuvent accéder aux ressources de votre VPC et se connecter à des ressources externes via Internet public si votre VPC dispose d'un accès Internet configuré.

Note

Chaque HealthOmics flux de travail exécuté s'exécute dans un VPC détenu et géré par le HealthOmics service. Ces VPC sont gérés automatiquement et ne sont pas visibles pour les clients. La configuration de votre run pour accéder aux ressources de votre Amazon VPC n'a aucun effet sur le HealthOmics-managed VPC.

Quand utiliser le réseau VPC

Utilisez le réseau VPC lorsque vos exécutions doivent :

  • Accédez à des ensembles de données accessibles au public sur Internet (par exemple, des ensembles de données du NIH, des référentiels universitaires)

  • Connectez-vous à des serveurs de licences tiers ou à des API externes

  • Lire ou écrire des données à partir de compartiments Amazon S3 dans d'autres régions AWS

  • Accédez aux ressources locales de votre réseau privé

  • Connectez-vous aux ressources AWS au sein de votre VPC

Note

Lorsque vous connectez un run à un VPC, il ne peut accéder qu'aux ressources disponibles au sein de ce VPC. Pour vous permettre d'accéder à Internet, vous devez également configurer votre VPC pour accéder à Internet. Pour de plus amples informations, veuillez consulter Accès à Internet pour les VPC-connected flux de travail.

Modes de mise en réseau

HealthOmics Workflows prend en charge deux modes de mise en réseau. Par défaut, les exécutions du flux de travail fonctionnent en mode RESTREINT. Vous pouvez activer la mise en réseau VPC par exécution lorsque vous démarrez l'exécution du flux de travail.

RESTREINT (par défaut)

Les runs ne peuvent accéder qu'aux ressources Amazon S3 et Amazon ECR au sein de la même AWS région. Les courses ne peuvent pas accéder à d'autres AWS services, ressources entre AWS les régions ou à l'Internet public.

VPC

Le trafic d'exécution est acheminé via des interfaces réseau élastiques (ENI) provisionnées par vos sous-réseaux HealthOmics VPC. Vous contrôlez le routage réseau, les groupes de sécurité, les ACL réseau et l'accès Internet via des passerelles NAT. Ce mode permet d'accéder à :

  • Ressources Internet publiques (nécessite la configuration de la passerelle NAT)

  • AWS services dans d'autres régions

  • Ressources privées dans votre VPC

  • Accédez aux ressources locales de votre réseau privé

Vous spécifiez le mode réseau lorsque vous démarrez un flux de travail exécuté à l'aide du networkingMode paramètre de l'StartRunAPI.

Prise en main

Cette section vous explique comment configurer la mise en réseau VPC pour les HealthOmics flux de travail pour la première fois.

Conditions préalables

Avant de configurer la mise en réseau VPC pour les HealthOmics flux de travail, assurez-vous que vous disposez des éléments suivants :

  • Un VPC existant avec des sous-réseaux et des groupes de sécurité appropriés. Le VPC doit se trouver dans la même région que vos flux de travail.

  • Au moins un sous-réseau dans une zone de disponibilité qui HealthOmics opère dans votre région.

  • Autorisations IAM appropriées pour créer et gérer des HealthOmics configurations.

  • Compréhension des concepts de réseau VPC (sous-réseaux, groupes de sécurité, tables de routage).

  • Capacité ENI suffisante sur votre AWS compte. HealthOmics fait évoluer et gère les ENI de votre VPC à l'aide du rôle lié aux services. Le nombre d'ENI requis dépend de votre charge de travail. Surveillez votre utilisation d'ENI sur la console Amazon EC2 pour vous assurer que vous disposez d'une capacité suffisante.

Important

Votre configuration VPC doit inclure au moins un sous-réseau dans une zone de disponibilité qui HealthOmics fonctionne dans votre région afin de faciliter le placement des tâches de flux de travail. Lorsque vous utilisez le mode réseau VPC, il vous incombe de déterminer s'il est sûr et conforme de transférer ou d'utiliser des données entre AWS les régions.

Étape 1 : Créez ou configurez votre VPC

Créez un VPC avec des sous-réseaux privés, des groupes de sécurité et des passerelles NAT (si un accès Internet est nécessaire). Pour obtenir des instructions détaillées étape par étape, consultezAccès à Internet pour les VPC-connected flux de travail.

Étape 2 : Configuration des groupes de sécurité

Créez un groupe de sécurité qui autorise le trafic sortant vers les destinations auxquelles vos courses doivent accéder. Configurez les groupes de sécurité de manière à n'autoriser que le trafic sortant minimal requis selon le principe du moindre privilège.

Pour obtenir des exemples de configurations et des instructions détaillées, consultez la section sur les groupes de sécurité dansAccès à Internet pour les VPC-connected flux de travail.

Étape 3 : Vérifier les tables de routage

Assurez-vous que vos sous-réseaux privés disposent de routes vers une passerelle NAT pour accéder à Internet. Pour des exemples de configurations de tables de routage, consultez la section des tables de routage dansAccès à Internet pour les VPC-connected flux de travail.

Note

La connexion d'un run à un sous-réseau public ne lui donne pas accès à Internet ni aucune adresse IP publique. Utilisez toujours des sous-réseaux privés avec des itinéraires de passerelle NAT pour les courses nécessitant une connexion Internet.

Étape 4 : Création d'une ressource de configuration

Créez une ressource HealthOmics de configuration qui définit les paramètres réseau de votre VPC :

aws omics create-configuration \ --name my-vpc-config \ --description "VPC configuration for genomics workflows" \ --run-configurations '{ "vpcConfig": { "securityGroupIds": ["sg-0123456789abcdef0"], "subnetIds": [ "subnet-0a1b2c3d4e5f6g7h8", "subnet-1a2b3c4d5e6f7g8h9" ] } }' \ --region us-west-2

La configuration passera de l'ACTIVEétat CREATING à l'état une fois que les ressources réseau seront provisionnées. Cela prend jusqu'à 15 minutes.

Étape 5 : démarrer un flux de travail exécuté avec la mise en réseau VPC

Une fois votre configuration terminéeACTIVE, lancez un flux de travail avec la mise en réseau VPC activée :

aws omics start-run \ --workflow-id 1234567 \ --role-arn arn:aws:iam::123456789012:role/OmicsWorkflowRole \ --output-uri s3://my-bucket/outputs/ \ --networking-mode VPC \ --configuration-name my-vpc-config \ --region us-west-2

Étape 6 : Vérifier la connectivité

Surveillez l'exécution de votre flux de travail pour vérifier qu'il peut accéder aux ressources externes requises. Consultez les journaux du flux de travail dans CloudWatch Logs pour les messages de réussite ou d'échec de la connexion. Pour obtenir des conseils détaillés sur les tests de connectivité, consultezTester la connectivité VPC.

Exigences du VPC

Votre VPC doit répondre aux exigences suivantes :

Exigences relatives aux sous-réseaux

  • Minimum : au moins un sous-réseau dans une zone de disponibilité où opère HealthOmics

  • Maximum : 16 sous-réseaux par configuration

  • Restriction : maximum d'un sous-réseau par zone de disponibilité

  • Recommandation : utilisez des sous-réseaux privés avec des itinéraires de passerelle NAT pour les courses nécessitant un accès à Internet. Bien que vous puissiez spécifier un seul sous-réseau, nous vous recommandons d'utiliser plusieurs sous-réseaux dans différentes zones de disponibilité pour une meilleure disponibilité.

Exigences de groupe de sécurité

  • Minimum : 1 groupe de sécurité

  • Maximum : 5 groupes de sécurité par configuration

  • Exigence : tous les groupes de sécurité doivent appartenir au même VPC que les sous-réseaux

Les groupes de sécurité contrôlent le trafic entrant et sortant de vos courses.

Note

Tous les sous-réseaux et groupes de sécurité doivent appartenir au même VPC.

Exigences relatives à l'interface réseau

HealthOmics fournit des interfaces réseau élastiques (ENI) dans votre VPC pour connecter des runs à votre réseau. Assurez-vous que votre AWS compte dispose d'une capacité ENI suffisante (limite par défaut : 5 000 ENI par région).

Les ENI créés par HealthOmics sont étiquetés avec les balises suivantes :

"TagSet": [ { "Key": "Service", "Value": "HealthOmics" }, { "Key": "eniType", "Value": "CUSTOMER" } ]
Important

Ne modifiez ni ne supprimez pas les ENI créés par HealthOmics. La modification de ces interfaces réseau peut entraîner des retards de service ou des interruptions dans l'exécution de votre flux de travail.

API de configuration

HealthOmics fournit des API pour créer, gérer et supprimer des configurations VPC. Vous pouvez réutiliser les configurations lors de plusieurs exécutions de flux de travail.

CreateConfiguration

Crée une nouvelle ressource de configuration avec les paramètres réseau du VPC. Pour obtenir un exemple détaillé, consultez Étape 4 : Création d'une ressource de configuration.

Syntaxe de la demande :

aws omics create-configuration \ --name configuration-name \ --description description \ --run-configurations '{"vpcConfig":{"securityGroupIds":["security-group-id"],"subnetIds":["subnet-id"]}}' \ --tags Key=key,Value=value \ --region region

Paramètres :

  • name (obligatoire) : nom unique pour la configuration (50 caractères maximum).

  • description (facultatif) — Description de la configuration.

  • run-configurations (facultatif) — paramètres de configuration du VPC :

    • vpcConfig.securityGroupIds— Liste de 1 à 5 identifiants de groupes de sécurité.

    • vpcConfig.subnetIds— Liste de 1 à 16 ID de sous-réseau.

  • balises (facultatif) — Balises de ressources.

Réponse :

{ "arn": "arn:aws:omics:region:account-id:configuration/configuration-name", "uuid": "configuration-uuid", "name": "configuration-name", "runConfigurations": { "vpcConfig": { "securityGroupIds": ["security-group-id"], "subnetIds": ["subnet-id"], "vpcId": "vpc-id" } }, "status": "CREATING", "creationTime": "timestamp", "tags": {} }

Valeurs d'état de configuration :

  • CRÉATION — La configuration est en cours de création et les ressources réseau sont en cours de provisionnement (jusqu'à 15 minutes).

  • ACTIVE — La configuration est prête à être utilisée.

  • SUPPRESSION — La configuration est en cours de suppression.

  • SUPPRIMÉ — La configuration a été supprimée.

GetConfiguration

Récupère les détails d'une configuration spécifique.

Syntaxe de la demande :

aws omics get-configuration \ --name configuration-name \ --region region

Réponse :

{ "arn": "arn:aws:omics:region:account-id:configuration/configuration-name", "uuid": "configuration-uuid", "name": "configuration-name", "runConfigurations": { "vpcConfig": { "securityGroupIds": ["security-group-id"], "subnetIds": ["subnet-id"], "vpcId": "vpc-id" } }, "status": "ACTIVE", "creationTime": "timestamp", "tags": {} }

ListConfigurations

Répertorie toutes les configurations de votre compte.

Syntaxe de la demande :

aws omics list-configurations \ --region region

Réponse :

{ "items": [ { "arn": "arn:aws:omics:region:account-id:configuration/configuration-name", "name": "configuration-name", "description": "description", "status": "ACTIVE", "creationTime": "timestamp" } ] }

DeleteConfiguration

Supprime une configuration. Vous ne pouvez pas supprimer une configuration actuellement utilisée par les exécutions de flux de travail actives.

Syntaxe de la demande :

aws omics delete-configuration \ --name configuration-name \ --region region
Note

L'état de configuration passe à DELETED pendant le nettoyage des ressources réseau, puis à DELETED une fois le processus terminé.

Exécution de flux de travail avec un réseau VPC

Démarrage d'une utilisation avec un réseau VPC

Pour utiliser la mise en réseau VPC dans un flux de travail exécuté, spécifiez le networking-mode paramètre et les configuration-name éléments suivants :

aws omics start-run \ --workflow-id 1234567 \ --role-arn arn:aws:iam::123456789012:role/OmicsWorkflowRole \ --output-uri s3://my-bucket/outputs/ \ --networking-mode VPC \ --configuration-name my-vpc-config \ --region us-west-2

Paramètres :

  • networking-mode  : paramétré sur pour activer la mise VPC en réseau VPC. La valeur par défaut est RESTRICTED.

  • configuration-name (obligatoire) — Le nom de la configuration à utiliser.

Affichage de la configuration réseau exécutée

Utilisez GetRun pour afficher la configuration réseau pour une exécution :

aws omics get-run \ --id run-id \ --region region

La réponse inclut le mode réseau, les détails de configuration et la configuration du VPC. L'exemple suivant montre les VPC-related champs de la réponse :

{ "arn": "arn:aws:omics:region:account-id:run/run-id", "id": "run-id", "status": "status", "workflowId": "workflow-id", "networkingMode": "VPC", "configuration": { "name": "configuration-name", "arn": "arn:aws:omics:region:account-id:configuration/configuration-name", "uuid": "configuration-uuid" }, "vpcConfig": { "subnets": ["subnet-id-1", "subnet-id-2"], "securityGroupIds": ["security-group-id"], "vpcId": "vpc-id" } }

Immuabilité de la configuration

Les ressources de configuration sont immuables : une fois que vous avez créé une configuration, vous ne pouvez pas modifier ses paramètres. Pour utiliser différents paramètres réseau, créez une nouvelle configuration. Vous ne pouvez pas supprimer une configuration lorsqu'elle est utilisée par des exécutions de flux de travail actives. La DeleteConfiguration demande est rejetée jusqu'à ce que ces exécutions atteignent l'état terminal.

Considérations concernant la mise en cache des appels

Lorsque vous utilisez un réseau VPC avec mise en cache des appels, assurez-vous que votre moteur de flux de travail est correctement configuré. Pour obtenir des conseils détaillés sur la mise en cache des appels par moteur, consultezEngine-specific fonctionnalités de mise en cache.

Important

Lorsque vous vous connectez à des ressources dynamiques ou non déterministes (par exemple, des bases de données tierces sur Internet public), pensez à utiliser la fonctionnalité de désactivation des tâches de cache dans vos flux de travail afin d'éviter de mettre en cache des ensembles de données dynamiques susceptibles d'avoir un impact sur les résultats d'exécution.

Bonnes pratiques

Sécurité

  1. Utilisez les groupes de sécurité dotés du moindre privilège. Autorisez uniquement le trafic sortant minimum requis. Utilisez des blocs CIDR de destination spécifiques au lieu de 0.0.0. 0/0 dans la mesure du possible. Documentez l'objectif de chaque règle de groupe de sécurité.

  2. Configurations distinctes par environnement. Créez des configurations distinctes pour le développement, la mise en scène et la production. Utilisez des VPC ou des sous-réseaux différents pour chaque environnement. Appliquez les balises appropriées aux configurations destinées à l'organisation.

  3. Mettez en œuvre la surveillance du réseau. Activez les journaux de flux VPC pour l'analyse de sécurité. Configurez CloudWatch des alarmes pour détecter les schémas de circulation inhabituels. Consultez régulièrement CloudTrail les journaux pour prendre connaissance des modifications de configuration.

  4. Utilisez des points de terminaison VPC pour AWS les services. Configurez les points de terminaison VPC pour Amazon S3, Amazon ECR et d'autres services. AWS Cela réduit les coûts de la passerelle NAT, améliore les performances et fournit une sécurité supplémentaire en maintenant le trafic au sein du AWS réseau.

Performance

  1. Planifiez la mise à l'échelle du réseau. Le débit du réseau commence à 10 Gbit/s et passe à 100 Gbit/s au fil du temps. Pour les besoins immédiats en haut débit, planifiez à l'avance et demandez un préchauffage. Surveillez les indicateurs du réseau pour comprendre les exigences de votre flux de travail.

  2. Déployez des passerelles NAT par zone de disponibilité. Utilisez une passerelle NAT par zone de disponibilité pour les charges de travail de production. Cela améliore la résilience et le débit, et réduit les coûts de transfert de données inter-AZ.

  3. Réutilisez les configurations. Créez des configurations qui peuvent être partagées entre plusieurs flux de travail. Cela réduit les frais de gestion de la configuration et garantit des paramètres réseau cohérents.

  4. Testez les configurations avant de les utiliser en production. Validez la connectivité réseau à l'aide de workflows de test. Vérifiez que les règles des groupes de sécurité autorisent le trafic requis. Testez des scénarios de basculement avec des configurations multi-AZ.

Optimisation des coûts

  1. Utilisez des points de terminaison VPC au lieu de NAT Gateway. Pour accéder au AWS service, utilisez des points de terminaison VPC (aucuns frais de traitement des données). Les terminaux Amazon S3 Gateway n'entraînent aucun coût supplémentaire. Les terminaux d'interface sont facturés à l'heure mais peuvent être plus rentables que NAT Gateway.

  2. Surveillez les coûts de transfert de données. Le transfert de données est gratuit. Le transfert de données vers Internet entraîne des taux de transfert AWS de données standard. Cross-Region le transfert de données a des taux plus élevés. Utilisez AWS Cost Explorer pour suivre VPC-related les coûts.

  3. Right-size Déploiement de la passerelle NAT. Pour le développement, utilisez une passerelle NAT pour tous les AZ. Pour la production, utilisez une passerelle NAT par zone de disponibilité pour garantir la résilience. Surveillez l'utilisation de la passerelle NAT pour éviter le surprovisionnement.

  4. Supprimez les configurations non utilisées. Vérifiez et supprimez régulièrement les configurations qui ne sont plus utilisées. Utilisez des balises pour identifier le propriétaire et l'objectif de la configuration.

Fonctionnement

  1. Utilisez des noms de configuration descriptifs. Incluez l'environnement, l'objectif et l'équipe dans le nom (par exempleprod-genomics-vpc,dev-clinical-trials-vpc).

  2. Marquez toutes les configurations. Utilisez une stratégie de balisage cohérente pour toutes les ressources. Incluez des balises pour l'environnement CostCenter, le propriétaire et l'objectif.

  3. Documentez les exigences du réseau. Documentez les services externes auxquels chaque configuration accède. Tenez à jour une carte des règles des groupes de sécurité et de leurs objectifs. Partagez des diagrammes d'architecture réseau avec votre équipe.

Quotas de mise en réseau VPC

Le tableau suivant répertorie les quotas pour les configurations réseau VPC :

Ressource Limite par défaut Ajustable
Nombre maximum de configurations par compte 10 Oui
Nombre maximal de groupes de sécurité par configuration 5 Non
Nombre maximal de sous-réseaux par configuration 16 Non
Nombre maximal de sous-réseaux par zone de disponibilité 1 Non
CreateConfiguration API (TPS) 1 Oui
Interfaces réseau élastiques par région (VPC client) 5 000 Oui

Pour demander une augmentation de quota, ouvrez la console Quotas de service, choisissez AWS des services AWS HealthOmics, recherchez, sélectionnez le quota que vous souhaitez augmenter, puis choisissez Demander une augmentation de quota. Les demandes d'augmentation de quota sont généralement traitées dans un délai de 1 à 2 jours ouvrables.