Actualizació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.

Actualización de un entorno

Si el AWS Proton entorno está asociado a una conexión de cuenta de entorno, no actualice ni incluya el protonServiceRoleArn parámetro para actualizar o conectarse a una conexión de cuenta de entorno.

Solo puede actualizar a una nueva conexión de cuenta de entorno si se cumplen las dos condiciones siguientes:

  • La conexión de cuenta de entorno se creó en la misma cuenta de entorno en la que se creó la conexión de cuenta de entorno actual.

  • La conexión de cuenta de entorno está asociada al entorno actual.

Si el entorno no está asociado a una conexión de cuenta de entorno, no actualice ni incluya el parámetro environmentAccountConnectionId.

Puede actualizar el parámetro y el valor environmentAccountConnectionId o protonServiceRoleArn. No puede actualizar ambos.

Si su entorno utiliza un aprovisionamiento autoadministrado, no actualice el parámetro provisioning-repository y omita los parámetros environmentAccountConnectionId y protonServiceRoleArn.

Existen cuatro modos de actualizar un entorno, tal y como se describe en la siguiente lista. Al usar el AWS CLI, el deployment-type campo define el modo. Al utilizar la consola, estos modos se asignan a las acciones Editar, Actualizar, Actualización secundaria y Actualización principal que aparecen en el menú desplegable Acciones.

NONE

En este modo, no se produce ninguna implementación. Solo se actualizan los parámetros de metadatos solicitados.

CURRENT_VERSION

En este modo, el entorno se implementa y actualiza con las nuevas especificaciones que el usuario proporcione. Solo se actualizan los parámetros solicitados. No incluya parámetros de versiones principales o secundarias cuando utilice este deployment-type.

MINOR_VERSION

En este modo, el entorno se implementa y actualiza con la versión secundaria recomendada (más reciente) publicada de la versión principal actual que se utiliza de forma predeterminada. También puede especificar una versión secundaria diferente de la versión principal que se está utilizando actualmente.

MAJOR_VERSION

En este modo, el entorno se implementa y actualiza con las versiones principal y secundaria recomendadas (más recientes) publicadas de la plantilla actual que se utiliza de forma predeterminada. También puede especificar una versión principal diferente que sea superior a la versión principal en uso y una versión secundaria (opcional).

Actualice un entorno de aprovisionamiento AWS gestionado

El aprovisionamiento estándar solo es compatible con los entornos que se aprovisionan con AWS CloudFormation.

Utilice la consola o AWS CLI actualice su entorno.

AWS Management Console
Actualice un entorno mediante la consola como se muestra en los pasos siguientes.
  1. Elija uno de los dos pasos siguientes.
    1. En la lista de entornos.
      1. En la consola de AWS Proton, elija Entornos.

      2. En la lista de entornos, elija el botón de radio a la izquierda del entorno que desee actualizar.

    2. En la página de detalles del entorno de la consola.
      1. En la consola de AWS Proton, elija Entornos.

      2. En la lista de entornos, elija el nombre del entorno que desee actualizar.

  2. Elija uno de los siguientes cuatro pasos para actualizar el entorno.
    1. Llevar a cabo alguna edición que no requiera la implementación del entorno.
      1. Por ejemplo, cambiar una descripción.

        Elija Editar.

      2. Rellene el formulario y seleccione Siguiente.

      3. Revise la edición y seleccione Actualizar.

    2. Actualizar únicamente las entradas de metadatos.
      1. Elija Acciones y, a continuación, Actualizar.

      2. Rellene el formulario y seleccione Editar.

      3. Rellene los formularios y seleccione Siguiente hasta llegar a la página Revisión.

      4. Revise las actualizaciones y seleccione Actualizar.

    3. Actualizar a una nueva versión secundaria de su plantilla de entorno.
      1. Elija Acciones y, a continuación, Actualización secundaria.

      2. Rellene el formulario y seleccione Siguiente.

      3. Rellene los formularios y seleccione Siguiente hasta llegar a la página Revisión.

      4. Revise las actualizaciones y seleccione Actualizar.

    4. Actualizar a una nueva versión principal de su plantilla de entorno.
      1. Elija Acciones y, a continuación, Actualización principal.

      2. Rellene el formulario y seleccione Siguiente.

      3. Rellene los formularios y seleccione Siguiente hasta llegar a la página Revisión.

      4. Revise las actualizaciones y seleccione Actualizar.

AWS CLI

Utilice la AWS Proton AWS CLI para actualizar un entorno a una nueva versión secundaria.

Ejecute el siguiente comando para actualizar el entorno:

$ aws proton update-environment \ --name "MySimpleEnv" \ --deployment-type "MINOR_VERSION" \ --template-major-version "1" \ --template-minor-version "1" \ --proton-service-role-arn arn:aws:iam::123456789012:role/service-role/ProtonServiceRole \ --spec "file:///spec.yaml"

Respuesta:

{ "environment": { "arn": "arn:aws:proton:region-id:123456789012:environment/MySimpleEnv", "createdAt": "2021-04-02T17:29:55.472000+00:00", "deploymentStatus": "IN_PROGRESS", "lastDeploymentAttemptedAt": "2021-04-02T17:48:26.307000+00:00", "lastDeploymentSucceededAt": "2021-04-02T17:29:55.472000+00:00", "name": "MySimpleEnv", "protonServiceRoleArn": "arn:aws:iam::123456789012:role/service-role/ProtonServiceRole", "templateMajorVersion": "1", "templateMinorVersion": "0", "templateName": "simple-env" } }

Ejecute el siguiente comando para obtener y confirmar el estado:

$ aws proton get-environment \ --name "MySimpleEnv"

Respuesta:

{ "environment": { "arn": "arn:aws:proton:region-id:123456789012:environment/MySimpleEnv", "createdAt": "2021-04-02T17:29:55.472000+00:00", "deploymentStatus": "SUCCEEDED", "environmentName": "MySimpleEnv", "lastDeploymentAttemptedAt": "2021-04-02T17:48:26.307000+00:00", "lastDeploymentSucceededAt": "2021-04-02T17:48:26.307000+00:00", "protonServiceRoleArn": "arn:aws:iam::123456789012:role/service-role/ProtonServiceRole", "spec": "proton: EnvironmentSpec\n\nspec:\n my_sample_input: hello\n my_other_sample_input: everybody\n", "templateMajorVersion": "1", "templateMinorVersion": "1", "templateName": "simple-env" } }

Actualización de entornos de aprovisionamiento autoadministrados

El aprovisionamiento autoadministrado solo es compatible con los entornos que se aprovisionan con Terraform.

Utilice la consola o AWS CLI para actualizar el entorno.

AWS Management Console
Actualice un entorno mediante la consola como se muestra en los pasos siguientes.
  1. Elija uno de los dos pasos siguientes.
    1. En la lista de entornos.
      1. En la consola de AWS Proton, elija Entornos.

      2. En la lista de entornos, elija el botón de radio a la izquierda de la plantilla de entorno que desee actualizar.

    2. En la página de detalles del entorno de la consola.
      1. En la consola de AWS Proton, elija Entornos.

      2. En la lista de entornos, elija el nombre del entorno que desee actualizar.

  2. Elija uno de los siguientes cuatro pasos para actualizar el entorno.
    1. Llevar a cabo alguna edición que no requiera la implementación del entorno.
      1. Por ejemplo, cambiar una descripción.

        Elija Editar.

      2. Rellene el formulario y seleccione Siguiente.

      3. Revise la edición y seleccione Actualizar.

    2. Actualizar únicamente las entradas de metadatos.
      1. Elija Acciones y, a continuación, Actualizar.

      2. Rellene el formulario y seleccione Editar.

      3. Rellene los formularios y seleccione Siguiente hasta llegar a la página Revisión.

      4. Revise las actualizaciones y seleccione Actualizar.

    3. Actualizar a una nueva versión secundaria de su plantilla de entorno.
      1. Elija Acciones y, a continuación, Actualización secundaria.

      2. Rellene el formulario y seleccione Siguiente.

      3. Rellene los formularios y seleccione Siguiente hasta llegar a la página Revisión.

      4. Revise las actualizaciones y seleccione Actualizar.

    4. Actualizar a una nueva versión principal de su plantilla de entorno.
      1. Elija Acciones y, a continuación, Actualización principal.

      2. Rellene el formulario y seleccione Siguiente.

      3. Rellene los formularios y seleccione Siguiente hasta llegar a la página Revisión.

      4. Revise las actualizaciones y seleccione Actualizar.

AWS CLI
AWS CLI Utilícela para actualizar un entorno de Terraform a una nueva versión secundaria con aprovisionamiento autogestionado.
  1. Ejecute el siguiente comando para actualizar el entorno:

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

    Respuesta:

    { "environment": { "arn": "arn:aws:proton:region-id:123456789012:environment/pr-environment", "createdAt": "2021-11-18T21:09:15.745000+00:00", "deploymentStatus": "IN_PROGRESS", "lastDeploymentAttemptedAt": "2021-11-18T21:25:41.998000+00:00", "lastDeploymentSucceededAt": "2021-11-18T21:09:15.745000+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" }, "templateMajorVersion": "1", "templateMinorVersion": "0", "templateName": "pr-env-template" } }
  2. Ejecute el siguiente comando para obtener y confirmar el estado:

    $ aws proton get-environment \ --name "pr-environment"

    Respuesta:

    { "environment": { "arn": "arn:aws:proton:region-id:123456789012:environment/pr-environment", "createdAt": "2021-11-18T21:09:15.745000+00:00", "deploymentStatus": "SUCCEEDED", "lastDeploymentAttemptedAt": "2021-11-18T21:25:41.998000+00:00", "lastDeploymentSucceededAt": "2021-11-18T21:25:41.998000+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" }, "spec": "proton: EnvironmentSpec\nspec:\n ssm_parameter_value: \"test\"\n ssm_another_parameter_value: \"update\"\n", "templateMajorVersion": "1", "templateMinorVersion": "1", "templateName": "pr-env-template" } }
  3. Revisa la solicitud de cambios enviada por. AWS Proton

    • 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á.

  4. Proporcione el estado de aprovisionamiento a. AWS Proton

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

Cancelación de la implementación de un entorno en curso

Puede intentar cancelar la implementación de una actualización del entorno si deploymentStatus está activa. IN_PROGRESS AWS Proton intenta cancelar la implementación. No se garantiza que la cancelación se realice correctamente.

Cuando se cancela un despliegue de actualización, se AWS Proton intenta cancelar el despliegue tal y como se indica en los pasos siguientes.

Con el aprovisionamiento AWS administrado, AWS Proton hace lo siguiente:
  • Establece el estado de la implementación en CANCELLING.

  • Detiene la implementación en curso y elimina cualquier recurso nuevo que haya creado dicha implementación cuando está establecida en IN_PROGRESS.

  • Establece el estado de la implementación en CANCELLED.

  • Revierte el estado del recurso al que tenía antes de que se iniciara la implementación.

Con el aprovisionamiento autogestionado, hace lo siguiente AWS Proton :
  • Intenta cerrar la solicitud de extracción para evitar que se fusionen los cambios en el repositorio.

  • Establece el estado de la implementación en CANCELLED si la solicitud de extracción se cerró correctamente.

Para obtener instrucciones sobre cómo cancelar la implementación de un entorno, consulte CancelEnvironmentDeploymentla AWS Proton API Referencia.

Puede usar la consola o CLI cancelar los entornos que están en curso.

AWS Management Console

Utilice la consola para cancelar la implementación de una actualización del entorno, tal y como se muestra en los pasos siguientes.

  1. En la consola de AWS Proton, seleccione Entornos en el panel de navegación.

  2. En la lista de entornos, elija el nombre del entorno con la actualización de implementación que desee cancelar.

  3. Si el estado de la implementación de la actualización está establecido en En curso, en la página de detalles del entorno, seleccione Acciones y, a continuación, Cancelar implementación.

  4. Se le pedirá que confirme que desea cancelar la implementación. Seleccione Cancelar implementación.

  5. El estado de la implementación de la actualización se establece en Cancelando y, a continuación, en Cancelado para completar la cancelación.

AWS CLI

Úselo AWS Proton AWS CLI para cancelar el despliegue de una actualización del PROGRESS entorno IN_ a una nueva versión secundaria 2.

En la plantilla utilizada en este ejemplo se incluye una condición de espera para que la cancelación comience antes de que la implementación de la actualización se complete correctamente.

Ejecute el siguiente comando para cancelar la actualización:

$ aws proton cancel-environment-deployment \ --environment-name "MySimpleEnv"

Respuesta:

{ "environment": { "arn": "arn:aws:proton:region-id:123456789012:environment/MySimpleEnv", "createdAt": "2021-04-02T17:29:55.472000+00:00", "deploymentStatus": "CANCELLING", "lastDeploymentAttemptedAt": "2021-04-02T18:15:10.243000+00:00", "lastDeploymentSucceededAt": "2021-04-02T17:48:26.307000+00:00", "name": "MySimpleEnv", "protonServiceRoleArn": "arn:aws:iam::123456789012:role/service-role/ProtonServiceRole", "spec": "proton: EnvironmentSpec\n\nspec:\n my_sample_input: hello\n my_other_sample_input: everybody\n", "templateMajorVersion": "1", "templateMinorVersion": "1", "templateName": "simple-env" } }

Ejecute el siguiente comando para obtener y confirmar el estado:

$ aws proton get-environment \ --name "MySimpleEnv"

Respuesta:

{ "environment": { "arn": "arn:aws:proton:region-id:123456789012:environment/MySimpleEnv", "createdAt": "2021-04-02T17:29:55.472000+00:00", "deploymentStatus": "CANCELLED", "deploymentStatusMessage": "User initiated cancellation.", "lastDeploymentAttemptedAt": "2021-04-02T18:15:10.243000+00:00", "lastDeploymentSucceededAt": "2021-04-02T17:48:26.307000+00:00", "name": "MySimpleEnv", "protonServiceRoleArn": "arn:aws:iam::123456789012:role/service-role/ProtonServiceRole", "spec": "proton: EnvironmentSpec\n\nspec:\n my_sample_input: hello\n my_other_sample_input: everybody\n", "templateMajorVersion": "1", "templateMinorVersion": "1", "templateName": "simple-env" } }