

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 des flux de travail à un VPC
<a name="workflows-vpc-networking"></a>

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

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

## Quand utiliser le réseau VPC
<a name="vpc-when-to-use"></a>

Utilisez le réseau VPC lorsque vos courses doivent :
+ Accédez à des ensembles de données accessibles au public sur Internet (par exemple, ensembles de données du NIH, 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 situés 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, celui-ci ne peut accéder qu'aux ressources disponibles au sein de ce VPC. Pour que vous puissiez accéder à Internet, vous devez également configurer votre VPC pour qu'il y ait accès à Internet. Pour de plus amples informations, veuillez consulter [Accès à Internet pour les VPC-connected flux de travail](workflows-vpc-internet.md).

**Topics**
+ [Quand utiliser le réseau VPC](#vpc-when-to-use)
+ [Modes de mise en réseau](#vpc-networking-modes)
+ [Prise en main](#vpc-getting-started)
+ [Exigences du VPC](#vpc-requirements)
+ [Rôle lié à un service pour le réseau VPC](vpc-service-linked-role.md)
+ [Connexion à un VPC via un autre compte](workflows-vpc-cross-account.md)
+ [API de configuration](#vpc-configuration-apis)
+ [Exécution de flux de travail avec un réseau VPC](#vpc-running-workflows)
+ [Résolution des problèmes de réseau VPC](vpc-troubleshooting-guide.md)
+ [Bonnes pratiques](#vpc-best-practices)
+ [Quotas de mise en réseau VPC](#vpc-quotas)

## Modes de mise en réseau
<a name="vpc-networking-modes"></a>

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

**RESTREINT (par défaut)**  
Les utilisateurs peuvent uniquement accéder aux ressources Amazon S3 et Amazon ECR au sein de la même AWS région. Les coureurs ne peuvent pas accéder à d'autres AWS services, à des ressources dans 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 HealthOmics vos sous-réseaux 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 une configuration de 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 lancez un flux de travail à l'aide du `networkingMode` paramètre de l'`StartRun`API.

## Prise en main
<a name="vpc-getting-started"></a>

Cette section vous explique comment configurer pour la première fois le réseau VPC pour HealthOmics Workflows.

### Conditions préalables
<a name="vpc-networking-prerequisites"></a>

Avant de configurer le réseau VPC pour les HealthOmics flux de travail, assurez-vous que vous disposez des éléments suivants :
+ Un VPC existant doté de sous-réseaux et de 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é HealthOmics opérant 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 redimensionne et gère les ENI de votre VPC à l'aide du rôle lié au service. Le nombre d'ENI requis dépend de votre charge de travail. Surveillez l'utilisation de votre ENI dans 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é HealthOmics opérant dans votre région pour permettre 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 les régions AWS .

### Étape 1 : créer ou configurer votre VPC
<a name="vpc-step-create-vpc"></a>

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, voir[Accès à Internet pour les VPC-connected flux de travail](workflows-vpc-internet.md).

### Étape 2 : Configuration des groupes de sécurité
<a name="vpc-step-security-groups"></a>

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é pour n'autoriser que le trafic sortant minimum requis selon le principe du moindre privilège.

Pour des exemples de configurations et des instructions détaillées, consultez la section sur les groupes de sécurité dans[Accès à Internet pour les VPC-connected flux de travail](workflows-vpc-internet.md).

### Étape 3 : vérifier les tables de routage
<a name="vpc-step-route-tables"></a>

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 consacrée aux tables de routage dans[Accès à Internet pour les VPC-connected flux de travail](workflows-vpc-internet.md).

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

### Étape 4 : Création d'une ressource de configuration
<a name="vpc-step-create-configuration"></a>

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 mises en service. Cela prend jusqu'à 15 minutes.

### Étape 5 : démarrer un flux de travail avec un réseau VPC
<a name="vpc-step-start-run"></a>

Une fois votre configuration configurée`ACTIVE`, 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é
<a name="vpc-step-verify"></a>

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 les journaux pour détecter les messages de réussite ou d'échec de connexion. Pour obtenir des instructions détaillées sur le test de connectivité, consultez[Tester la connectivité VPC](workflows-vpc-internet.md#vpc-testing-connectivity).

## Exigences du VPC
<a name="vpc-requirements"></a>

Votre VPC doit répondre aux exigences suivantes :

### Exigences relatives aux sous-réseaux
<a name="vpc-subnet-requirements"></a>
+ **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 routes de passerelle NAT pour les exécutions 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 répartis dans différentes zones de disponibilité pour une meilleure disponibilité.

### Exigences de groupe de sécurité
<a name="vpc-security-group-requirements"></a>
+ **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 pour 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
<a name="vpc-eni-requirements"></a>

HealthOmics fournit des interfaces réseau élastiques (ENI) dans votre VPC pour connecter les circuits à 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 les ENI créés par HealthOmics. La modification de ces interfaces réseau peut entraîner des retards de service ou des interruptions de vos flux de travail.

## API de configuration
<a name="vpc-configuration-apis"></a>

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.

**Topics**
+ [CreateConfiguration](#vpc-create-configuration)
+ [GetConfiguration](#vpc-get-configuration)
+ [ListConfigurations](#vpc-list-configurations)
+ [DeleteConfiguration](#vpc-delete-configuration)

### CreateConfiguration
<a name="vpc-create-configuration"></a>

Crée une nouvelle ressource de configuration avec les paramètres réseau VPC. Pour obtenir un exemple détaillé, consultez [Étape 4 : Création d'une ressource de configuration](#vpc-step-create-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 :**
+ **nom** (obligatoire) — Nom unique pour la configuration (50 caractères maximum).
+ **description** (facultatif) — Description de la configuration.
+ **run-configurations** (facultatif) — Paramètres de configuration VPC :
  + `vpcConfig.securityGroupIds`— Une liste de 1 à 5 identifiants de groupes de sécurité.
  + `vpcConfig.subnetIds`— Une liste de 1 à 16 identifiants de sous-réseau.
+ **tags** (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 mises en service (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
<a name="vpc-get-configuration"></a>

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
<a name="vpc-list-configurations"></a>

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
<a name="vpc-delete-configuration"></a>

Supprime une configuration. Vous ne pouvez pas supprimer une configuration actuellement utilisée par des 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 à DELETING 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
<a name="vpc-running-workflows"></a>

### Démarrage d'une exécution avec un réseau VPC
<a name="vpc-start-run"></a>

Pour utiliser le réseau VPC dans un flux de travail, spécifiez le `networking-mode` paramètre et : `configuration-name`

```
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 — Défini** 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
<a name="vpc-get-run"></a>

`GetRun`À utiliser pour afficher la configuration réseau d'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
<a name="vpc-config-immutability"></a>

Les flux de travail utilisent un instantané de la configuration telle qu'elle existait au début de l'exécution. Vous pouvez modifier ou supprimer des configurations en toute sécurité pendant l'exécution des exécutions sans affecter les exécutions actives.

### Considérations relatives au cache des appels
<a name="vpc-call-caching"></a>

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 instructions détaillées sur la mise en cache des appels par moteur, consultez[Engine-specific fonctionnalités de mise en cache](workflow-cache-per-engine.md).

**Important**  
Lorsque vous vous connectez à des ressources non déterministes ou dynamiques (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
<a name="vpc-best-practices"></a>

### Sécurité
<a name="vpc-bp-security"></a>

1. **Utilisez des groupes de sécurité dotés du moindre privilège.** N'autorisez que 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é.

1. **Séparez les configurations 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 de l'organisation.

1. **Mettez en œuvre la surveillance du réseau.** Activez les journaux de flux VPC pour l'analyse de sécurité. Configurez des CloudWatch alarmes en cas de modèles de trafic inhabituels. Consultez régulièrement CloudTrail les journaux pour vérifier les modifications de configuration.

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

### Performance
<a name="vpc-bp-performance"></a>

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 à haut débit, planifiez à l'avance et demandez le préchauffage. Surveillez les indicateurs du réseau pour comprendre les exigences de votre flux de travail.

1. **Déployez des passerelles NAT par zone de disponibilité.** Utilisez une passerelle NAT par AZ 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 entre AZ.

1. **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 des configurations et garantit des paramètres réseau cohérents.

1. **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 du groupe de sécurité autorisent le trafic requis. Testez des scénarios de basculement avec des configurations multi-AZ.

### Optimisation des coûts
<a name="vpc-bp-cost"></a>

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

1. **Surveillez les coûts de transfert de données.** Le transfert de données est gratuit. Le transfert de données vers Internet implique 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.

1. **Right-size Déploiement de la passerelle NAT.** Pour le développement, utilisez une passerelle NAT pour toutes les AZ. Pour la production, utilisez une passerelle NAT par AZ à des fins de résilience. Surveillez l'utilisation de la passerelle NAT pour éviter le surprovisionnement.

1. **Supprimez les configurations inutilisé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
<a name="vpc-bp-operational"></a>

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

1. **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 le but.

1. **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
<a name="vpc-quotas"></a>

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 maximum 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 Service Quotas](https://console.aws.amazon.com/servicequotas/home), choisissez les **AWS services **AWS HealthOmics****, recherchez, sélectionnez le quota que vous souhaitez augmenter et choisissez **Demander une augmentation du quota**. Les demandes d'augmentation de quota sont généralement traitées dans un délai de 1 à 2 jours ouvrables.