

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Administración de sus propios puntos de conexión de Amazon VPC en Amazon MWAA
<a name="vpc-endpoint-management"></a>

Amazon MWAA utiliza los puntos de enlace de Amazon VPC para integrarse con varios AWS servicios necesarios para configurar un entorno de Apache Airflow. La administración de sus propios puntos de conexión tiene dos casos de uso principales:

1. Esto significa que puede crear entornos de Apache Airflow en una Amazon VPC compartida cuando utiliza una [AWS Organizations](https://aws.amazon.com/organizations/)para gestionar varios Cuentas de AWS recursos y compartirlos.

1. Le permite usar políticas de acceso más restrictivas, ya que limita sus permisos a los recursos específicos que usan sus puntos de conexión.

Si decide administrar sus propios puntos de conexión de VPC, debe crear sus propios puntos de conexión para la base de datos de RDS para PostgreSQL y para el servidor web del entorno.

Para obtener más información sobre cómo Amazon MWAA implementa Apache Airflow en la nube, consulte el [diagrama de arquitectura de Amazon MWAA](what-is-mwaa.md#architecture-mwaa).

**importante**  
Amazon MWAA no valida la selección del tipo de dirección IP (`AddressType`) para los puntos de enlace gestionados por el cliente, así que asegúrese de especificarlo correctamente `AddressType` (las opciones válidas son o). IPv4 IPv6



## Creación de entornos en una Amazon VPC compartida
<a name="configure-shared-vpc"></a>

Si [AWS Organizations](https://aws.amazon.com/organizations/)solía administrar varios recursos Cuentas de AWS que comparten recursos, puede usar puntos de enlace de VPC administrados por el cliente con Amazon MWAA para compartir los recursos del entorno con otra cuenta de su organización.

Cuando configura el acceso compartido a la VPC, la cuenta propietaria de la Amazon VPC principal (*propietaria*) comparte las dos subredes privadas requeridas por Amazon MWAA con otras cuentas (*participantes*) que pertenecen a la misma organización. Las cuentas participantes que comparten esas subredes pueden ver, crear, modificar y eliminar entornos en la Amazon VPC compartida.

Suponga que tiene una cuenta, `Owner`, que actúa como la cuenta `Root` de la organización y es propietaria de los recursos de Amazon VPC, y una cuenta participante, `Participant`, que es miembro de la misma organización. Cuando `Participant` crea un nuevo Amazon MWAA en la Amazon VPC que comparte con `Owner`, Amazon MWAA primero creará los recursos de la VPC de servicio y luego entrará en un estado [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) durante un máximo de 72 horas.

Después de que el estado del entorno cambia de `CREATING` a `PENDING`, una entidad principal que actúa en nombre de `Owner` crea los puntos de conexión requeridos. Para ello, Amazon MWAA muestra la base de datos y el punto de conexión del servidor web en la consola de Amazon MWAA. También puede llamar a la acción de la API []() para obtener los puntos de conexión del servicio.

**nota**  
Si la Amazon VPC que utiliza para compartir recursos es una Amazon VPC privada, debe seguir los pasos descritos en [Administración del acceso a los puntos de conexión de Amazon VPC específicos del servicio en Amazon MWAA](vpc-vpe-access.md). El tema trata sobre la configuración de un conjunto diferente de puntos de enlace de Amazon VPC relacionados con otros AWS servicios con los que AWS se integra, como Amazon ECR, Amazon ECS y Amazon SQS. Estos servicios son fundamentales para operar y administrar su entorno de Apache Airflow en la nube.

### Requisitos previos
<a name="configure-shared-vpc-prerequisites"></a>

Antes de crear un entorno de Amazon MWAA en una VPC compartida, necesita los siguientes recursos:
+  Cuenta de AWS Y, `Owner` para usarla como la cuenta propietaria de Amazon VPC.
+ Una unidad organizativa [AWS Organizations](https://aws.amazon.com/organizations/), `MyOrganization`, creada como una *raíz*.
+ Una segunda Cuenta de AWS,`Participant`, debajo `MyOrganization` para servir a la cuenta del participante que crea el nuevo entorno.

Además, le recomendamos que se familiarice con las [responsabilidades y los permisos para propietarios y participantes](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-sharing.html#vpc-share-limitations) a la hora de compartir recursos en la Amazon VPC.

### Creación de la Amazon VPC
<a name="configure-shared-vpc-create-vpc"></a>

En primer lugar, cree una nueva Amazon VPC que compartirán las cuentas propietaria y participante:

1. Inicie sesión en la consola y`Owner`, a continuación, abra la CloudFormation consola. Use la siguiente plantilla para crear una pila. Esta pila proporciona una serie de recursos de red, incluida una Amazon VPC y las subredes que las dos cuentas compartirán en este escenario.

   ```
   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. Una vez que se hayan aprovisionado los nuevos recursos de Amazon VPC, navegue hasta la AWS Resource Access Manager consola y, a continuación, seleccione **Create** resource share.

1. Elija las subredes que creó en el primer paso de la lista de subredes disponibles que puede compartir con `Participant`.

### Crear el entorno
<a name="configure-shared-vpc-create-mwaa"></a>

Complete los siguientes pasos para crear entornos de Amazon MWAA con puntos de conexión de Amazon VPC administrados por el cliente.

1. Inicie sesión mediante `Participant` y abra la consola de Amazon MWAA. Complete el **primer paso: especificar los detalles** para especificar un bucket de Amazon S3, una carpeta DAG y las dependencias para su nuevo entorno. Para obtener más información, consulte [cómo empezar](create-environment.md#create-environment-start-details).

1. En la página **Configurar ajustes avanzados**, en **Redes**, seleccione las subredes de la Amazon VPC compartida.

1. En **Administración del punto de conexión**, seleccione **CLIENTE** en la lista desplegable.

1. Mantenga el valor predeterminado para el resto de las opciones de la página y, a continuación, seleccione **Crear entorno** en la página **Revisar y crear**.

El entorno comienza en un estado `CREATING` y, a continuación, cambia a `PENDING`. Cuando el entorno esté en `PENDING`, anote el **nombre del servicio de punto de conexión de la base de datos** y el **nombre del servicio de punto de conexión del servidor web** (si configuró un servidor web privado) mediante la consola.

Cuándo crea un entorno nuevo con la consola de Amazon MWAA. Amazon MWAA crea un nuevo grupo de seguridad con las reglas de entrada y salida necesarias. Anote el ID del grupo de seguridad.

En la siguiente sección, `Owner` utilizará los puntos de conexión del servicio y el ID del grupo de seguridad para crear nuevos puntos de conexión de Amazon VPC en la Amazon VPC compartida.

### Creación de los puntos de conexión de Amazon VPC
<a name="configure-shared-vpc-create-endpoints"></a>

Complete los siguientes pasos para crear puntos de conexión de Amazon VPC para su entorno.

1. Inicie sesión en la opción de Consola de administración de AWS usar y, a continuación`Owner`, de abrir. [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)

1. Seleccione **Grupos de seguridad** en el panel de navegación izquierdo y, a continuación, cree un nuevo grupo de seguridad en la Amazon VPC compartida con las siguientes reglas de entrada y salida:    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/mwaa/latest/userguide/vpc-endpoint-management.html)
**aviso**  
La cuenta `Owner` debe configurar un grupo de seguridad en la cuenta `Owner` para permitir el tráfico desde el nuevo entorno a la Amazon VPC compartida. Para hacerlo, puede crear un nuevo grupo de seguridad en `Owner` o editar uno existente.

1. Elija **Endpoints** (Puntos de conexión) y, a continuación, cree nuevos puntos de conexión para la base de datos del entorno y el servidor web (si están en modo privado) con los nombres de los servicios de puntos de conexión de los pasos anteriores. Elija la Amazon VPC compartida, las subredes que utilizó para el entorno y el grupo de seguridad del entorno.

Si se ejecuta correctamente, el entorno cambiará de `PENDING` a `CREATING` y, finalmente, a `AVAILABLE`. Cuando esté `AVAILABLE`, podrá iniciar sesión en la consola de Apache Airflow.

### Resolución de problemas de la Amazon VPC compartida
<a name="configure-shared-vpc-troubleshooting"></a>

Utilice la siguiente referencia para resolver los problemas que surjan cuando crea entornos en una Amazon VPC compartida.

**El entorno se encuentra en `CREATE_FAILED` luego del estado `PENDING`**  
+ Compruebe que `Owner` comparte las subredes con `Participant` utilizando [AWS Resource Access Manager](https://docs.aws.amazon.com/ram/latest/userguide/what-is.html).
+ Compruebe que los puntos de conexión de Amazon VPC para la base de datos y el servidor web se hayan creado en las mismas subredes asociadas con el entorno.
+ Compruebe que el grupo de seguridad que se usa con sus puntos de conexión permita el tráfico de los grupos de seguridad que se usan para el entorno. La cuenta `Owner` crea reglas que hacen referencia al grupo de seguridad en `Participant` como `123456789012/security-group-id`.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/mwaa/latest/userguide/vpc-endpoint-management.html)

  Para obtener más información, consulte las [responsabilidades y permisos para propietarios y participantes](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-sharing.html#vpc-share-limitations)

**El entorno está atascado en estado `PENDING`**  
Compruebe el estado de cada punto de conexión de VPC para asegurarse de que está `Available`. Si configura un entorno con un servidor web privado, también debe crear un punto de conexión para el servidor web. Si el entorno está atascado en `PENDING`, esto podría indicar que falta el punto de conexión del servidor web privado.

**Error `The Vpc Endpoint Service 'vpce-service-name' does not exist` recibido**  
Si aparece el siguiente error, compruebe que la cuenta que crea los puntos de conexión en la cuenta `Owner` es la propietaria de la VPC compartida:  

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