Creación de un entorno - AWS Proton

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.

Creación de un entorno

Aprenda a crear AWS Proton entornos.

Puede crear un AWS Proton entorno de dos maneras:
  • Cree, administre y aprovisione un entorno estándar mediante una plantilla de entorno estándar. AWS Proton aprovisiona la infraestructura para su entorno.

  • Conéctese AWS Proton a la infraestructura gestionada por el cliente mediante una plantilla de entorno gestionado por el cliente. Usted aprovisiona sus propios recursos compartidos de forma externa y AWS Proton, a continuación, proporciona los resultados de aprovisionamiento que puede utilizar. AWS Proton

Puede elegir uno de los diversos enfoques de aprovisionamiento al crear un entorno.
  • AWS aprovisionamiento gestionado: cree, gestione y aprovisione un entorno en una sola cuenta. AWS Proton aprovisiona su entorno.

    Este método solo admite plantillas de código de CloudFormation infraestructura (IaC).

  • AWS aprovisionamiento gestionado a otra cuenta: en una sola cuenta de administración, cree y gestione un entorno que esté aprovisionado en otra cuenta con conexiones a cuentas de entorno. AWS Proton aprovisiona tu entorno en la otra cuenta. Para obtener más información, consulte Creación de un entorno en una cuenta y aprovisionamiento en otra cuenta y Conexiones de cuentas de entorno.

    Este método solo admite plantillas de CloudFormation IaC.

  • Aprovisionamiento autogestionado: AWS Proton envía las solicitudes de cambios de aprovisionamiento a un repositorio vinculado con tu propia infraestructura de aprovisionamiento.

    Este método solo es compatible con las plantillas de IaC de Terraform.

  • CodeBuild aprovisionamiento: se AWS Proton utiliza AWS CodeBuild para ejecutar los comandos de shell que usted proporciona. Tus comandos pueden leer las entradas que AWS Proton proporcionan, y son responsables de aprovisionar o desaprovisionar la infraestructura y generar valores de salida. Un paquete de plantillas para este método incluye los comandos en un archivo de manifiesto y todos los programas, scripts u otros archivos que estos comandos puedan necesitar.

    Como ejemplo del uso del CodeBuild aprovisionamiento, puedes incluir un código que lo utilice AWS Cloud Development Kit (AWS CDK) para aprovisionar AWS recursos y un manifiesto que instale el CDK código y lo ejecute. CDK

    Para obtener más información, consulte CodeBuild paquete de plantillas de aprovisionamiento.

    nota

    Puede utilizar el CodeBuild aprovisionamiento con entornos y servicios. En este momento, no puede aprovisionar componentes de esta forma.

Con el aprovisionamiento AWS gestionado (tanto en la misma cuenta como en otra cuenta), AWS Proton realiza llamadas directas para aprovisionar sus recursos.

Con el aprovisionamiento autogestionado, AWS Proton realiza solicitudes de cambios para proporcionar archivos iAC compilados que el motor iAC utiliza para aprovisionar recursos.

Para obtener más información, consulte Cómo AWS Proton aprovisiona la infraestructura, Paquetes de plantillas y Requisitos de esquema para los paquetes de plantillas de entorno.

Creación y aprovisionamiento de un entorno estándar en la misma cuenta

Utilice la consola o AWS CLI para crear y aprovisionar un entorno en una sola cuenta. El aprovisionamiento lo gestiona AWS.

AWS Management Console
Uso de la consola para crear y aprovisionar un entorno en una sola cuenta
  1. En la consola de AWS Proton, elija Entornos.

  2. Seleccione Crear entorno.

  3. En la página Elegir una plantilla de entorno, seleccione una plantilla y elija Configurar.

  4. En la página Configurar entorno, en la sección Aprovisionamiento, elija Aprovisionamiento administrado por AWS .

  5. En la sección Cuenta de implementación, elija Esta Cuenta de AWS.

  6. En la página Configurar entorno, en la sección Configuración del entorno, introduzca un Nombre del entorno.

  7. (Opcional) Escriba una descripción para el entorno.

  8. En la sección Roles de entorno, seleccione el rol de servicio de AWS Proton que se creó como parte de Configuración de roles AWS Proton de servicio.

  9. (Opcional) En la sección Rol de componente, seleccione un rol de servicio que permita que los componentes definidos directamente se ejecuten en el entorno y reduzca los recursos que pueden aprovisionar. Para obtener más información, consulte Componentes de AWS Proton.

  10. (Opcional) En la sección Etiquetas, seleccione Agregar etiqueta e introduzca una clave y un valor para crear una etiqueta administrada por el cliente.

  11. Elija Siguiente.

  12. En la página Configurar ajustes personalizados del entorno, debe introducir valores para los parámetros required. Puede introducir valores para los parámetros optional, o bien utilizar los valores predeterminados si los hubiera.

  13. Seleccione Siguiente y revise las entradas.

  14. Seleccione Crear.

    Consulte los detalles y el estado del entorno, así como las etiquetas administradas por AWS y las etiquetas administradas por el cliente para dicho entorno.

  15. En el panel de navegación, elija Entornos.

    Una nueva página mostrará una lista de sus entornos junto con el estado y otros detalles del entorno.

AWS CLI

Úselo AWS CLI para crear y aprovisionar un entorno en una sola cuenta.

Para crear un entorno, debe especificar la función de AWS Proton servicioARN, la ruta al archivo de especificaciones, el nombre del entorno, la plantilla del entornoARN, las versiones principal y secundaria y la descripción (opcional).

Los siguientes ejemplos muestran un archivo de especificaciones con formato YAML que especifica los valores de dos entradas en función de lo que se haya definido en el archivo de esquema de la plantilla del entorno. Puede utilizar el comando get-environment-template-minor-version para ver el esquema de la plantilla de entorno.

proton: EnvironmentSpec spec: my_sample_input: "the first" my_other_sample_input: "the second"

Cree un entorno mediante la ejecución del siguiente comando.

$ aws proton create-environment \ --name "MySimpleEnv" \ --template-name simple-env \ --template-major-version 1 \ --proton-service-role-arn "arn:aws:iam::123456789012:role/AWS ProtonServiceRole" \ --spec "file://env-spec.yaml"

Respuesta:

{ "environment": { "arn": "arn:aws:proton:region-id:123456789012:environment/MySimpleEnv", "createdAt": "2020-11-11T23:03:05.405000+00:00", "deploymentStatus": "IN_PROGRESS", "lastDeploymentAttemptedAt": "2020-11-11T23:03:05.405000+00:00", "name": "MySimpleEnv", "protonServiceRoleArn": "arn:aws:iam::123456789012:role/ProtonServiceRole", "templateName": "simple-env" } }

Tras crear un entorno nuevo, puede ver una lista de etiquetas gestionadas por el cliente AWS y las etiquetas gestionadas por ellos, tal y como se muestra en el siguiente comando de ejemplo. AWS Proton genera automáticamente etiquetas AWS gestionadas para usted. También puede modificar y crear etiquetas administradas por el cliente mediante la AWS CLI. Para obtener más información, consulte Recursos y etiquetado de AWS Proton.

Comando:

$ aws proton list-tags-for-resource \ --resource-arn "arn:aws:proton:region-id:123456789012:environment/MySimpleEnv"

Creación de un entorno en una cuenta y aprovisionamiento en otra cuenta

Utilice la consola o AWS CLI cree un entorno estándar en una cuenta de administración que aprovisione la infraestructura del entorno en otra cuenta. AWS administra el aprovisionamiento.

Antes de usar la consola oCLI, complete los siguientes pasos.
  1. Cuenta de AWS IDsIdentifique la cuenta de administración y entorno y cópiela para utilizarla más adelante.

  2. En la cuenta de entorno, cree un rol AWS Proton de servicio con los permisos mínimos que desee crear en el entorno. Para obtener más información, consulte AWS Proton rol de servicio para el aprovisionamiento mediante AWS CloudFormation.

AWS Management Console
Utilice la consola para crear un entorno en una cuenta y aprovisionar dicho entorno en otra.
  1. En la cuenta de entorno, cree una conexión de cuenta de entorno y utilícela para enviar una solicitud de conexión a la cuenta de administración.
    1. En la consola de AWS Proton, seleccione Conexiones de cuentas de entorno en el panel de navegación.

    2. En la página Conexiones de cuentas de entorno, seleccione Solicitud de conexión.

      nota

      Compruebe que el ID de la cuenta que aparece en el encabezado de la página Conexión de cuenta del entorno coincida con el ID de la cuenta del entorno previamente identificado.

    3. En la página Solicitud de conexión, en la sección Rol de entorno, seleccione el Rol de servicio existente y el nombre del rol de servicio que se creó para el entorno.

    4. En la sección Conectarse a la cuenta de administración, introduzca el ID de la cuenta de administración y un nombre de entorno para su AWS Proton entorno. Copie el nombre para utilizarlo más adelante.

    5. Seleccione Solicitud de conexión en la esquina inferior derecha de la página.

    6. Su solicitud aparecerá como pendiente en la tabla de conexiones del entorno enviadas a una cuenta de administración y un modal mostrará cómo aceptar la solicitud de la cuenta de administración.

  2. En la cuenta de administración, acepte una solicitud de conexión desde la cuenta de entorno.
    1. Inicie sesión en su cuenta de administración y seleccione Conexiones de cuentas de entorno en la AWS Proton consola.

    2. En la página Conexiones de cuentas de entorno, en la tabla Solicitudes de conexión de cuentas de entorno, seleccione la conexión de la cuenta de entorno con el ID de la cuenta de entorno que coincida con el ID de la cuenta de entorno previamente identificado.

      nota

      Compruebe que el ID de la cuenta que aparece en el encabezado de la página Conexión de cuenta del entorno coincida con el ID de la cuenta de administración previamente identificado.

    3. Elija Aceptar. El estado cambia de PENDING aCONNECTED.

  3. En la cuenta de administración, cree un entorno.
    1. En el panel de navegación, elija Plantillas de entorno.

    2. En la página de Plantillas de entorno, seleccione Crear plantilla de entorno.

    3. En la página Elegir una plantilla de entorno, elija una plantilla de entorno.

    4. En la página Configurar entorno, en la sección Aprovisionamiento, elija Aprovisionamiento administrado por AWS .

    5. En la sección Cuenta de despliegue, selecciona Otra AWS cuenta;.

    6. En la sección Detalles del entorno, seleccione la Conexión de cuenta de entorno y el Nombre del entorno.

    7. Elija Siguiente.

    8. Rellene los formularios y seleccione Siguiente hasta llegar a la página Revisar y crear.

    9. Revise y elija Crear entorno.

AWS CLI

Úselo AWS CLI para crear un entorno en una cuenta y aprovisionar en otra.

En la cuenta de entorno, cree una conexión de cuenta de entorno y solicite la conexión; para ello, ejecute el siguiente comando.

$ aws proton create-environment-account-connection \ --environment-name "simple-env-connected" \ --role-arn "arn:aws:iam::222222222222:role/service-role/env-account-proton-service-role" \ --management-account-id "111111111111"

Respuesta:

{ "environmentAccountConnection": { "arn": "arn:aws:proton:region-id:222222222222:environment-account-connection/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "environmentAccountId": "222222222222", "environmentName": "simple-env-connected", "id": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "lastModifiedAt": "2021-04-28T23:13:50.847000+00:00", "managementAccountId": "111111111111", "requestedAt": "2021-04-28T23:13:50.847000+00:00", "roleArn": "arn:aws:iam::222222222222:role/service-role/env-account-proton-service-role", "status": "PENDING" } }

En la cuenta de administración, acepte la solicitud de conexión a la cuenta de entorno; para ello, ejecute el siguiente comando.

$ aws proton accept-environment-account-connection \ --id "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111"

Respuesta:

{ "environmentAccountConnection": { "arn": "arn:aws:proton:region-id:222222222222:environment-account-connection/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "environmentAccountId": "222222222222", "environmentName": "simple-env-connected", "id": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "lastModifiedAt": "2021-04-28T23:15:33.486000+00:00", "managementAccountId": "111111111111", "requestedAt": "2021-04-28T23:13:50.847000+00:00", "roleArn": "arn:aws:iam::222222222222:role/service-role/env-account-proton-service-role", "status": "CONNECTED" } }

Ejecute el siguiente comando para ver la conexión de cuenta de entorno.

$ aws proton get-environment-account-connection \ --id "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111"

Respuesta:

{ "environmentAccountConnection": { "arn": "arn:aws:proton:region-id:222222222222:environment-account-connection/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "environmentAccountId": "222222222222", "environmentName": "simple-env-connected", "id": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "lastModifiedAt": "2021-04-28T23:15:33.486000+00:00", "managementAccountId": "111111111111", "requestedAt": "2021-04-28T23:13:50.847000+00:00", "roleArn": "arn:aws:iam::222222222222:role/service-role/env-account-proton-service-role", "status": "CONNECTED" } }

En la cuenta de administración, ejecute el siguiente comando para crear un entorno.

$ aws proton create-environment \ --name "simple-env-connected" \ --template-name simple-env-template \ --template-major-version "1" \ --template-minor-version "1" \ --spec "file://simple-env-template/specs/original.yaml" \ --environment-account-connection-id "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111"

Respuesta:

{ "environment": { "arn": "arn:aws:proton:region-id:111111111111:environment/simple-env-connected", "createdAt": "2021-04-28T23:02:57.944000+00:00", "deploymentStatus": "IN_PROGRESS", "environmentAccountConnectionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "environmentAccountId": "222222222222", "lastDeploymentAttemptedAt": "2021-04-28T23:02:57.944000+00:00", "name": "simple-env-connected", "templateName": "simple-env-template" } }

Creación y aprovisionamiento de un entorno mediante el aprovisionamiento autoadministrado

Cuando utilizas el aprovisionamiento autogestionado, AWS Proton envía las solicitudes de incorporación de cambios de aprovisionamiento a un repositorio vinculado con tu propia infraestructura de aprovisionamiento. Las solicitudes de extracción inician tu propio flujo de trabajo, que consiste en AWS servicios, para aprovisionar la infraestructura.

Consideraciones sobre el aprovisionamiento autoadministrado:
  • Antes de crear un entorno, configure un directorio de recursos del repositorio para el aprovisionamiento autoadministrado. Para obtener más información, consulte AWS Proton infraestructura como archivos de código.

  • Tras crear el entorno, AWS Proton espera a recibir notificaciones asincrónicas sobre el estado del aprovisionamiento de la infraestructura. Su código de aprovisionamiento debe usar el para enviar estas notificaciones asíncronas AWS Proton NotifyResourceStateChange API a. AWS Proton

Puede utilizar el aprovisionamiento autoadministrado en la consola o con la AWS CLI. En los siguientes ejemplos se muestra cómo se puede utilizar el aprovisionamiento autoadministrado con Terraform.

AWS Management Console
Utilice la consola para crear un entorno de Terraform mediante el aprovisionamiento autoadministrado.
  1. En la consola de AWS Proton, elija Entornos.

  2. Seleccione Crear entorno.

  3. En la página Elegir una plantilla de entorno, seleccione una plantilla de Terraform y elija Configurar.

  4. En la página Configurar entorno, en la sección Aprovisionamiento, elija Aprovisionamiento autoadministrado.

  5. En la sección Detalles del repositorio de aprovisionamiento:

    1. Si aún no ha vinculado su repositorio de aprovisionamiento AWS Proton, elija Nuevo repositorio, elija uno de los proveedores de repositorios y, a continuación, para la CodeStarconexión, elija una de sus conexiones.

      nota

      Si aún no tienes una conexión con la cuenta del proveedor del repositorio correspondiente, selecciona Añadir una nueva CodeStar conexión. A continuación, cree una conexión y, a continuación, pulse el botón de actualización situado junto al menú de CodeStar conexiones. Ahora debería poder elegir su nueva conexión en el menú.

      Si ya has vinculado tu repositorio a AWS Proton, selecciona Repositorio existente.

    2. En Nombre del repositorio, elija un repositorio. El menú desplegable muestra los repositorios vinculados para el Repositorio existente o la lista de repositorios de la cuenta del proveedor para el Nuevo repositorio.

    3. En Nombre de la ramificación, elija alguna de las ramificaciones del repositorio.

  6. En la sección Configuración del entorno, introduzca un Nombre del entorno.

  7. (Opcional) Escriba una descripción para el entorno.

  8. (Opcional) En la sección Etiquetas, seleccione Agregar etiqueta e introduzca una clave y un valor para crear una etiqueta administrada por el cliente.

  9. Elija Siguiente.

  10. En la página Configurar ajustes personalizados del entorno, debe introducir valores para los parámetros required. Puede introducir valores para los parámetros optional, o bien utilizar los valores predeterminados si los hubiera.

  11. Seleccione Siguiente y revise las entradas.

  12. Seleccione Crear para enviar una solicitud de extracción.

    • Si aprueba la solicitud de extracción, la implementación estará en curso.

    • Si rechaza la solicitud de extracción, se cancelará la creación del entorno.

    • Si se agota el tiempo de espera de la solicitud de extracción, la creación del entorno no se completará.

  13. Vea los detalles y el estado del entorno, así como las etiquetas AWS administradas y las etiquetas administradas por el cliente para su entorno.

  14. En el panel de navegación, elija Entornos.

    Una nueva página mostrará una lista de sus entornos junto con el estado y otros detalles del entorno.

AWS CLI

Al crear un entorno mediante el aprovisionamiento autoadministrado, se añade el parámetro provisioningRepository y se omiten los parámetros ProtonServiceRoleArn y environmentAccountConnectionId.

Úselo AWS CLI para crear un entorno de Terraform con aprovisionamiento autogestionado.
  1. Cree un entorno y envíe una solicitud de extracción al repositorio para su revisión y aprobación.

    Los siguientes ejemplos muestran un archivo de especificaciones con formato YAML que define los valores de dos entradas en función del archivo de esquema de la plantilla del entorno. Puede utilizar el comando get-environment-template-minor-version para ver el esquema de la plantilla de entorno.

    Especificación:

    proton: EnvironmentSpec spec: ssm_parameter_value: "test"

    Cree un entorno mediante la ejecución del siguiente comando.

    $ aws proton create-environment \ --name "pr-environment" \ --template-name "pr-env-template" \ --template-major-version "1" \ --provisioning-repository="branch=main,name=myrepos/env-repo,provider=GITHUB" \ --spec "file://env-spec.yaml"

    Respuesta:

    { "environment": { "arn": "arn:aws:proton:region-id:123456789012:environment/pr-environment", "createdAt": "2021-11-18T17:06:58.679000+00:00", "deploymentStatus": "IN_PROGRESS", "lastDeploymentAttemptedAt": "2021-11-18T17:06:58.679000+00:00", "name": "pr-environment", "provisioningRepository": { "arn": "arn:aws:proton:region-id:123456789012:repository/github:myrepos/env-repo", "branch": "main", "name": "myrepos/env-repo", "provider": "GITHUB" }, "templateName": "pr-env-template" }
  2. Revise la solicitud.

    • Si aprueba la solicitud, el aprovisionamiento pasará a estar en curso.

    • Si rechaza la solicitud, se cancelará la creación del entorno.

    • Si se agota el tiempo de espera de la solicitud de extracción, la creación del entorno no se completará.

  3. Proporcione el estado de aprovisionamiento de forma asíncrona a. AWS Proton El siguiente ejemplo notifica AWS Proton que el aprovisionamiento se ha realizado correctamente.

    $ aws proton notify-resource-deployment-status-change \ --resource-arn "arn:aws:proton:region-id:123456789012:environment/pr-environment" \ --status "SUCCEEDED"