

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.

# Gestion de vos propres points de terminaison Amazon VPC sur Amazon MWAA
<a name="vpc-endpoint-management"></a>

Amazon MWAA utilise les points de terminaison Amazon VPC pour s'intégrer aux AWS différents services nécessaires à la configuration d'un environnement Apache Airflow. La gestion de vos propres points de terminaison comprend deux cas d’utilisation principaux :

1. Cela signifie que vous pouvez créer des environnements Apache Airflow dans un Amazon VPC partagé lorsque vous utilisez un [AWS Organizations](https://aws.amazon.com/organizations/)pour gérer plusieurs Comptes AWS ressources et partager des ressources.

1. Il vous permet d'utiliser des politiques d'accès plus restrictives en limitant vos autorisations aux ressources spécifiques qui utilisent vos points de terminaison.

Si vous choisissez de gérer vos propres points de terminaison VPC, vous êtes responsable de créer vos propres points de terminaison pour la base de données RDS pour PostgreSQL de l'environnement et pour le serveur Web de l'environnement.

Pour plus d'informations sur la manière dont Amazon MWAA déploie Apache Airflow dans le cloud, consultez le schéma d'architecture [Amazon](what-is-mwaa.md#architecture-mwaa) MWAA.

**Important**  
Amazon MWAA ne valide pas la sélection du type d'adresse IP (`AddressType`) pour les points de terminaison gérés par le client. Assurez-vous donc de le spécifier correctement `AddressType` (les options valides sont ou). IPv4 IPv6



## Création d'un environnement dans un Amazon VPC partagé
<a name="configure-shared-vpc"></a>

Si vous gérez plusieurs Comptes AWS personnes [AWS Organizations](https://aws.amazon.com/organizations/)partageant des ressources, vous pouvez utiliser des points de terminaison VPC gérés par le client avec Amazon MWAA pour partager les ressources de l'environnement avec un autre compte de votre organisation.

Lorsque vous configurez l'accès VPC partagé, le compte propriétaire du VPC Amazon principal (*propriétaire*) partage les deux sous-réseaux privés requis par Amazon MWAA avec d'autres comptes *(*participants) appartenant à la même organisation. Les comptes participants qui partagent ces sous-réseaux peuvent afficher, créer, modifier et supprimer des environnements dans le Amazon VPC partagé.

Supposons que vous ayez un compte`Owner`, qui fait office de `Root` compte dans l'organisation et possède les ressources Amazon VPC, et un compte de participant`Participant`, membre de la même organisation. Lors de la `Participant` création d'un nouvel Amazon MWAA dans Amazon VPC avec lequel il est partagé`Owner`, Amazon MWAA crée d'abord les ressources VPC du service, puis entre dans [https://docs.aws.amazon.com/mwaa/latest/API/API_Environment.html#mwaa-Type-Environment-Status](https://docs.aws.amazon.com/mwaa/latest/API/API_Environment.html#mwaa-Type-Environment-Status)un état pendant 72 heures au maximum.

Lorsque l'état de l'environnement passe de `CREATING` à`PENDING`, un directeur agissant pour le compte de `Owner` crée les points de terminaison requis. Pour ce faire, Amazon MWAA répertorie la base de données et le point de terminaison du serveur Web dans la console Amazon MWAA. Vous pouvez également appeler l'action []()API pour obtenir les points de terminaison du service.

**Note**  
Si le VPC Amazon que vous utilisez pour partager des ressources est un Amazon VPC privé, vous devez tout de même suivre les étapes décrites dans. [Gestion de l'accès aux points de terminaison Amazon VPC spécifiques à un service sur Amazon MWAA](vpc-vpe-access.md) Cette rubrique couvre la configuration d'un ensemble différent de points de terminaison Amazon VPC liés à d'autres AWS services intégrés AWS , tels qu'Amazon ECR, Amazon ECS et Amazon SQS. Ces services sont essentiels pour exploiter et gérer votre environnement Apache Airflow dans le cloud.

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

Avant de créer un environnement Amazon MWAA dans un VPC partagé, vous avez besoin des ressources suivantes :
+ Et Compte AWS, `Owner` à utiliser comme compte propriétaire de l'Amazon VPC.
+ Une unité [AWS Organizations](https://aws.amazon.com/organizations/)organisationnelle, `MyOrganization` créée en tant que *racine*.
+ Un second Compte AWS,`Participant`, en dessous `MyOrganization` pour servir le compte du participant qui crée le nouvel environnement.

En outre, nous vous recommandons de vous familiariser avec les [responsabilités et les autorisations des propriétaires et des participants](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-sharing.html#vpc-share-limitations) lorsque vous partagez des ressources dans Amazon VPC.

### Création de l'Amazon VPC
<a name="configure-shared-vpc-create-vpc"></a>

Tout d'abord, créez un nouvel Amazon VPC que les comptes propriétaire et participant partageront :

1. Connectez-vous à la console en utilisant`Owner`, puis CloudFormation ouvrez-la. Utilisez le modèle suivant pour créer une pile. Cette pile fournit un certain nombre de ressources réseau, notamment un Amazon VPC et les sous-réseaux que les deux comptes partageront dans ce scénario.

   ```
   AWSTemplateFormatVersion: "2010-09-09"                   
   Description: >-
   This template deploys a VPC, with a pair of public and private subnets spread across two Availability Zones. It deploys an internet gateway, with a default route on the public subnets. It deploys a pair of NAT gateways (one in each AZ), and default routes for them in the private subnets.
    Parameters:
      EnvironmentName:
        Description: An environment name that is prefixed to resource names
        Type: String
        Default: mwaa-
      VpcCIDR:
        Description: Please enter the IP range (CIDR notation) for this VPC
        Type: String
        Default: 10.192.0.0/16
      PublicSubnet1CIDR:
        Description: >-
        Please enter the IP range (CIDR notation) for the public subnet in the first Availability Zone
        Type: String
        Default: 10.192.10.0/24
      PublicSubnet2CIDR:
        Description: >-
        Please enter the IP range (CIDR notation) for the public subnet in the	second Availability Zone
        Type: String
        Default: 10.192.11.0/24
      PrivateSubnet1CIDR:
        Description: >-
        Please enter the IP range (CIDR notation) for the private subnet in the first Availability Zone
        Type: String
        Default: 10.192.20.0/24
      PrivateSubnet2CIDR:
        Description: >-
        Please enter the IP range (CIDR notation) for the private subnet in the second Availability Zone
        Type: String
        Default: 10.192.21.0/24
    Resources:
      VPC:
        Type: 'AWS::EC2::VPC'
        Properties:
        CidrBlock: !Ref VpcCIDR
        EnableDnsSupport: true
        EnableDnsHostnames: true
        Tags:
          - Key: Name
          Value: !Ref EnvironmentName
      InternetGateway:
        Type: 'AWS::EC2::InternetGateway'
        Properties:
        Tags:
          - Key: Name
          Value: !Ref EnvironmentName
      InternetGatewayAttachment:
        Type: 'AWS::EC2::VPCGatewayAttachment'
        Properties:
          InternetGatewayId: !Ref InternetGateway
          VpcId: !Ref VPC
      PublicSubnet1:
        Type: 'AWS::EC2::Subnet'
        Properties:
          VpcId: !Ref VPC
          AvailabilityZone: !Select 
            - 0
            - !GetAZs ''
          CidrBlock: !Ref PublicSubnet1CIDR
          MapPublicIpOnLaunch: true
          Tags:
            - Key: Name
            Value: !Sub '${EnvironmentName} Public Subnet (AZ1)'
      PublicSubnet2:
        Type: 'AWS::EC2::Subnet'
        Properties:
   						VpcId: !Ref VPC
          AvailabilityZone: !Select 
            - 1
            - !GetAZs ''
          CidrBlock: !Ref PublicSubnet2CIDR
          MapPublicIpOnLaunch: true
          Tags:
            - Key: Name
            Value: !Sub '${EnvironmentName} Public Subnet (AZ2)'
      PrivateSubnet1:
        Type: 'AWS::EC2::Subnet'
        Properties:
          VpcId: !Ref VPC
          AvailabilityZone: !Select 
            - 0
            - !GetAZs ''
          CidrBlock: !Ref PrivateSubnet1CIDR
          MapPublicIpOnLaunch: false
            Tags:
            - Key: Name
              Value: !Sub '${EnvironmentName} Private Subnet (AZ1)'
      PrivateSubnet2:
        Type: 'AWS::EC2::Subnet'
        Properties:
          VpcId: !Ref VPC
          AvailabilityZone: !Select 
            - 1
            - !GetAZs ''
          CidrBlock: !Ref PrivateSubnet2CIDR
          MapPublicIpOnLaunch: false
          Tags:
            - Key: Name
            Value: !Sub '${EnvironmentName} Private Subnet (AZ2)'
      NatGateway1EIP:
        Type: 'AWS::EC2::EIP'
        DependsOn: InternetGatewayAttachment
        Properties:
          Domain: vpc
      NatGateway2EIP:
        Type: 'AWS::EC2::EIP'
        DependsOn: InternetGatewayAttachment
        Properties:
          Domain: vpc
      NatGateway1:
        Type: 'AWS::EC2::NatGateway'
        Properties:
          AllocationId: !GetAtt NatGateway1EIP.AllocationId
          SubnetId: !Ref PublicSubnet1
      NatGateway2:
        Type: 'AWS::EC2::NatGateway'
        Properties:
          AllocationId: !GetAtt NatGateway2EIP.AllocationId
          SubnetId: !Ref PublicSubnet2
      PublicRouteTable:
        Type: 'AWS::EC2::RouteTable'
        Properties:
          VpcId: !Ref VPC
          Tags:
            - Key: Name
            Value: !Sub '${EnvironmentName} Public Routes'
      DefaultPublicRoute:
        Type: 'AWS::EC2::Route'
        DependsOn: InternetGatewayAttachment
        Properties:
          RouteTableId: !Ref PublicRouteTable
          DestinationCidrBlock: 0.0.0.0/0
          GatewayId: !Ref InternetGateway
      PublicSubnet1RouteTableAssociation:
        Type: 'AWS::EC2::SubnetRouteTableAssociation'
        Properties:
          RouteTableId: !Ref PublicRouteTable
          SubnetId: !Ref PublicSubnet1
      PublicSubnet2RouteTableAssociation:
        Type: 'AWS::EC2::SubnetRouteTableAssociation'
        Properties:
          RouteTableId: !Ref PublicRouteTable
          SubnetId: !Ref PublicSubnet2
      PrivateRouteTable1:
        Type: 'AWS::EC2::RouteTable'
        Properties:
          VpcId: !Ref VPC
          Tags:
            - Key: Name
            Value: !Sub '${EnvironmentName} Private Routes (AZ1)'
      DefaultPrivateRoute1:
        Type: 'AWS::EC2::Route'
        Properties:
          RouteTableId: !Ref PrivateRouteTable1
          DestinationCidrBlock: 0.0.0.0/0
          NatGatewayId: !Ref NatGateway1
      PrivateSubnet1RouteTableAssociation:
        Type: 'AWS::EC2::SubnetRouteTableAssociation'
        Properties:
          RouteTableId: !Ref PrivateRouteTable1
          SubnetId: !Ref PrivateSubnet1
      PrivateRouteTable2:
        Type: 'AWS::EC2::RouteTable'
        Properties:
          VpcId: !Ref VPC
          Tags:
            - Key: Name
            Value: !Sub '${EnvironmentName} Private Routes (AZ2)'
      DefaultPrivateRoute2:
        Type: 'AWS::EC2::Route'
        Properties:
          RouteTableId: !Ref PrivateRouteTable2
          DestinationCidrBlock: 0.0.0.0/0
          NatGatewayId: !Ref NatGateway2
      PrivateSubnet2RouteTableAssociation:
        Type: 'AWS::EC2::SubnetRouteTableAssociation'
        Properties:
          RouteTableId: !Ref PrivateRouteTable2
          SubnetId: !Ref PrivateSubnet2
      SecurityGroup:
        Type: 'AWS::EC2::SecurityGroup'
        Properties:
          GroupName: mwaa-security-group
          GroupDescription: Security group with a self-referencing inbound rule.
          VpcId: !Ref VPC
      SecurityGroupIngress:
        Type: 'AWS::EC2::SecurityGroupIngress'
        Properties:
          GroupId: !Ref SecurityGroup
          IpProtocol: '-1'
          SourceSecurityGroupId: !Ref SecurityGroup
          Outputs:
            VPC:
              Description: A reference to the created VPC
              Value: !Ref VPC
              PublicSubnets:
              Description: A list of the public subnets
              Value: !Join 
                - ','
                - - !Ref PublicSubnet1
                - !Ref PublicSubnet2
            PrivateSubnets:
              Description: A list of the private subnets
              Value: !Join 
                - ','
                - - !Ref PrivateSubnet1
                - !Ref PrivateSubnet2
            PublicSubnet1:
              Description: A reference to the public subnet in the 1st Availability Zone
              Value: !Ref PublicSubnet1
            PublicSubnet2:
              Description: A reference to the public subnet in the 2nd Availability Zone
              Value: !Ref PublicSubnet2
            PrivateSubnet1:
              Description: A reference to the private subnet in the 1st Availability Zone
              Value: !Ref PrivateSubnet1
            PrivateSubnet2:
              Description: A reference to the private subnet in the 2nd Availability Zone
              Value: !Ref PrivateSubnet2
            SecurityGroupIngress:
              Description: Security group with self-referencing inbound rule
              Value: !Ref SecurityGroupIngress
   ```

1. Une fois les nouvelles ressources Amazon VPC provisionnées, accédez à la AWS Resource Access Manager console, puis choisissez **Create** resource share.

1. Choisissez les sous-réseaux que vous avez créés lors de la première étape dans la liste des sous-réseaux disponibles avec lesquels vous pouvez partager. `Participant`

### Création de l’environnement
<a name="configure-shared-vpc-create-mwaa"></a>

Procédez comme suit pour créer un environnement Amazon MWAA avec des points de terminaison Amazon VPC gérés par le client.

1. Connectez-vous à l'aide `Participant` de la console Amazon MWAA et ouvrez-la. Terminez la **première étape : spécifiez les détails** pour spécifier un compartiment Amazon S3, un dossier DAG et les dépendances pour votre nouvel environnement. Pour plus d'informations, reportez-vous à la section [Mise en route](create-environment.md#create-environment-start-details).

1. Sur la page **Configurer les paramètres avancés**, sous **Mise en réseau**, choisissez les sous-réseaux du Amazon VPC partagé.

1. Sous **Gestion des terminaux**, choisissez **CLIENT** dans la liste déroulante.

1. Conservez la valeur par défaut pour les autres options de la page, puis choisissez **Créer un environnement** sur la page **Réviser et créer**.

L'environnement commence dans un `CREATING` état, puis passe à`PENDING`. Lorsque l'environnement l'est`PENDING`, notez le nom du **service de point de terminaison de base de données et le nom** du **service de point de terminaison du serveur Web** (si vous configurez un serveur Web privé) à l'aide de la console.

Lorsque vous créez un nouvel environnement à l'aide de la console Amazon MWAA. Amazon MWAA crée un nouveau groupe de sécurité avec les règles d'entrée et de sortie requises. Notez l’ID du groupe de sécurité.

Dans la section suivante, `Owner` nous utiliserons les points de terminaison du service et l'ID du groupe de sécurité pour créer de nouveaux points de terminaison Amazon VPC dans le Amazon VPC partagé.

### Création des points de terminaison Amazon VPC
<a name="configure-shared-vpc-create-endpoints"></a>

Procédez comme suit pour créer les points de terminaison Amazon VPC requis pour votre environnement.

1. Connectez-vous à l' AWS Management Console utilisateur`Owner`, puis ouvrez [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/).

1. Choisissez **Groupes de sécurité** dans le panneau de navigation de gauche, puis créez un nouveau groupe de sécurité dans l'Amazon VPC partagé en appliquant les règles entrantes et sortantes suivantes :    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/mwaa/latest/userguide/vpc-endpoint-management.html)
**Avertissement**  
Le `Owner` compte doit configurer un groupe de sécurité dans le `Owner` compte pour autoriser le trafic du nouvel environnement vers le Amazon VPC partagé. Vous pouvez le faire en créant un nouveau groupe de sécurité dans `Owner` ou en modifiant un groupe existant.

1. Choisissez **Endpoints**, puis créez de nouveaux points de terminaison pour la base de données d'environnement et le serveur Web (en mode privé) en utilisant les noms de service des points de terminaison indiqués dans les étapes précédentes. Choisissez le VPC Amazon partagé, les sous-réseaux que vous avez utilisés pour l'environnement et le groupe de sécurité de l'environnement.

En cas de succès, l'environnement passera de `PENDING` retour à`CREATING`, puis enfin à`AVAILABLE`. Lorsque c'est le cas`AVAILABLE`, vous pouvez vous connecter à la console Apache Airflow.

### Résolution des problèmes liés au partage d'Amazon VPC
<a name="configure-shared-vpc-troubleshooting"></a>

Utilisez la référence suivante pour résoudre les problèmes que vous rencontrez lors de la création d'environnements dans un Amazon VPC partagé.

**`PENDING`État de l'environnement `CREATE_FAILED` dans le passé**  
+ Vérifiez `Owner` que les sous-réseaux sont partagés en `Participant` utilisant [AWS Resource Access Manager](https://docs.aws.amazon.com/ram/latest/userguide/what-is.html).
+ Vérifiez que les points de terminaison Amazon VPC pour la base de données et le serveur Web sont créés dans les mêmes sous-réseaux associés à l'environnement.
+ Vérifiez que le groupe de sécurité utilisé avec vos points de terminaison autorise le trafic provenant des groupes de sécurité utilisés pour l'environnement. Le `Owner` compte crée des règles qui font référence au groupe de sécurité `Participant` sous la forme `123456789012/security-group-id` :.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/mwaa/latest/userguide/vpc-endpoint-management.html)

  Pour plus d'informations, reportez-vous à la section [Responsabilités et autorisations des propriétaires et des participants](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-sharing.html#vpc-share-limitations)

**`PENDING`État bloqué de l'environnement**  
Vérifiez l'état de chaque point de terminaison VPC pour vous assurer qu'il l'est. `Available` Si vous configurez un environnement avec un serveur Web privé, vous devez également créer un point de terminaison pour le serveur Web. Si l'environnement est bloqué`PENDING`, cela peut indiquer que le point de terminaison du serveur Web privé est manquant.

**`The Vpc Endpoint Service 'vpce-service-name' does not exist`Erreur reçue**  
Si vous faites référence à l'erreur suivante, vérifiez que le compte qui crée les points de terminaison se trouve dans le `Owner` compte propriétaire du VPC partagé :  

```
ClientError: An error occurred (InvalidServiceName) when calling the CreateVpcEndpoint operation: 
							
The Vpc Endpoint Service 'vpce-service-name' does not exist
```