

# Trabajo con una distribución provisional y una política de implementación continua
<a name="working-with-staging-distribution-continuous-deployment-policy"></a>

Puede crear, actualizar y modificar las distribuciones provisionales y las políticas de implementación continua en la consola de CloudFront, con la AWS Command Line Interface (AWS CLI) o con la API de CloudFront.

## Creación de una distribución provisional con una política de implementación continua
<a name="create-staging-distribution-continuous-deployment-policy"></a>

Los siguientes procedimientos muestran cómo crear una distribución provisional con una política de implementación continua.

------
#### [ Console ]

Puede crear una distribución provisional con una política de implementación continua mediante la Consola de administración de AWS.

**Para crear una distribución provisional y una política de implementación continua (consola)**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de CloudFront en [https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home).

1. En el panel de navegación, elija **Distribuciones**.

1. Elija la distribución que desea utilizar como *distribución principal*. La distribución principal es la que actualmente proporciona el tráfico de producción, desde la que se creará la distribución provisional.

1. En la sección **Continuous deployment** (Implementación continua), elija **Create staging distribution** (Crear distribución provisional). Esto abre el asistente **Create staging distribution** (Crear distribución provisional).

1. En el asistente **Create staging distribution** (Crear distribución provisional), haga lo siguiente:

   1. (Opcional) Escriba una descripción de la distribución provisional.

   1. Elija **Siguiente**.

   1. Modifique la configuración de la distribución provisional. Para obtener más información acerca de la configuración que puede actualizar, consulte [Actualización de las distribuciones principales y provisionales](understanding-continuous-deployment.md#updating-staging-and-primary-distributions).

      Cuando haya terminado de modificar la configuración de la distribución provisional, elija **Next** (Siguiente).

   1. Utilice la consola para especificar la **Traffic configuration** (Configuración del tráfico). Esto determina cómo CloudFront dirige el tráfico a la distribución provisional. (CloudFront almacena la configuración del tráfico en una *política de implementación continua*).

      Para obtener más información acerca de las opciones de una **configuración de tráfico**, consulte [Enrutamiento de solicitudes a la distribución provisional](understanding-continuous-deployment.md#understanding-continuous-deployment-routing).

      Cuando haya terminado con la **Traffic configuration** (Configuración del tráfico), elija **Next** (Siguiente).

   1. Revise la configuración de la distribución provisional, incluida la configuración del tráfico, y seleccione **Create staging distribution** (Crear distribución provisional).

Cuando termine el asistente **Create staging distribution** (Crear distribución provisional) en la consola de CloudFront, CloudFront hace lo siguiente:
+ Crea una distribución provisional con la configuración que especificó (en el paso 5c)
+ Crea una política de implementación continua con la configuración de tráfico que especificó (en el paso 5d)
+ Asocia la política de implementación continua a la distribución principal desde la que creó la distribución provisional.

Cuando la configuración de la distribución principal, con la política de implementación continua asociada, se implementa en ubicaciones periféricas, CloudFront comienza a enviar la parte especificada del tráfico a la distribución provisional en función de la configuración del tráfico.

------
#### [ CLI ]

Para crear una distribución provisional y una política de implementación continua con la AWS CLI, utilice los siguientes procedimientos.

**Para crear una distribución provisional (CLI)**

1. Utilice los comandos **aws cloudfront get-distribution** y **grep** juntos para obtener el valor `ETag` de la distribución que desea usar como *distribución principal*. La distribución principal es la que actualmente proporciona el tráfico de producción, desde la que se creará la distribución provisional.

   A continuación, se muestra un ejemplo del comando: En el siguiente ejemplo, sustituya {{primary\_distribution\_ID}} por el ID de la distribución principal. 

   ```
   aws cloudfront get-distribution --id {{primary_distribution_ID}} | grep 'ETag'
   ```

   Copie el valor de `ETag` porque lo necesita para el siguiente paso.

1. Utilice el comando **aws cloudfront copy-distribution** para crear una distribución provisional. En el siguiente comando de ejemplo, se usan caracteres de escape (\\) y saltos de línea para facilitar la lectura, pero debe omitirlos en el comando. En el siguiente comando de ejemplo:
   + Sustituya {{primary\_distribution\_ID}} por el ID de la distribución principal.
   + Sustituya {{primary\_distribution\_ETag}} por el valor de `ETag` de la distribución principal (que obtuvo en el paso anterior).
   + (Opcional) Sustituya {{CLI\_example}} por el identificador de referencia de intermediario deseado.

   ```
   aws cloudfront copy-distribution --primary-distribution-id {{primary_distribution_ID}} \
                                    --if-match {{primary_distribution_ETag}} \
                                    --staging \
                                    --caller-reference '{{CLI_example}}'
   ```

   El resultado del comando muestra información sobre la distribución provisional y su configuración. Copie el nombre de dominio de CloudFront de la distribución provisional porque lo necesita para el siguiente paso.

**Para crear una política de implementación continua (CLI con archivo de entrada)**

1. Utilice el siguiente comando para crear un archivo denominado `continuous-deployment-policy.yaml` que contenga todos los parámetros de entrada del comando **create-continuous-deployment-policy**. En el siguiente comando, se usan caracteres de escape (\\) y saltos de línea para facilitar la lectura, pero debe omitirlos en el comando.

   ```
   aws cloudfront create-continuous-deployment-policy --generate-cli-skeleton yaml-input \
                                                      > continuous-deployment-policy.yaml
   ```

1. Abra el archivo llamado `continuous-deployment-policy.yaml` que acaba de crear. Edite el archivo para especificar la configuración de política de implementación continua que desee y, a continuación, guarde el archivo. Al editar el archivo:
   + En la sección `StagingDistributionDnsNames`:
     + Cambie el valor de `Quantity` a `1`.
     + Para `Items`, pegue el nombre de dominio de CloudFront de la distribución provisional (que guardó en el paso anterior).
   + En la sección `TrafficConfig`:
     + Elija un `Type` o un `SingleWeight` o `SingleHeader`.
     + Elimine la configuración para el otro tipo. Por ejemplo, si desea una configuración de tráfico basada en ponderación, defina la configuración de `Type` en `SingleWeight` y, a continuación, elimine la configuración de `SingleHeaderConfig`.
     + Para utilizar una configuración de tráfico basada en ponderación, defina el valor de `Weight` en un número decimal comprendido entre `.01` (uno por ciento) y `.15` (quince por ciento).

     Para obtener más información sobre estas opciones en `TrafficConfig`, consulte [Enrutamiento de solicitudes a la distribución provisional](understanding-continuous-deployment.md#understanding-continuous-deployment-routing) y [Persistencia de sesión para configuraciones basadas en ponderaciones](understanding-continuous-deployment.md#understanding-continuous-deployment-sessions).

1. Utilice el siguiente comando para crear la política de implementación continua utilizando parámetros de entrada del archivo de `continuous-deployment-policy.yaml`.

   ```
   aws cloudfront create-continuous-deployment-policy --cli-input-yaml file://continuous-deployment-policy.yaml
   ```

   Copia el valor de `Id` de la salida del comando. Este es el identificador de la política de implementación continua y lo necesitará en el paso siguiente.

**Para asociar una política de implementación continua a una distribución principal (CLI con archivo de entrada)**

1. Utilice el siguiente comando para guardar la configuración de la distribución principal en un archivo con el nombre `primary-distribution.yaml`. Sustituya {{primary\_distribution\_ID}} por el ID de la distribución principal.

   ```
   aws cloudfront get-distribution-config --id {{primary_distribution_ID}} --output yaml > primary-distribution.yaml
   ```

1. Abra el archivo llamado `primary-distribution.yaml` que acaba de crear. Edite el archivo y realice los siguientes cambios:
   + Pegue el ID de la política de implementación continua (que copió del paso anterior) en el campo `ContinuousDeploymentPolicyId`.
   + Cambie el nombre del campo `ETag` a `IfMatch`, pero no cambie el valor del campo.

   Guarde el archivo cuando haya terminado.

1. Utilice el siguiente comando para actualizar la distribución principal y utilizar la política de implementación continua. Sustituya {{primary\_distribution\_ID}} por el ID de la distribución principal.

   ```
   aws cloudfront update-distribution --id {{primary_distribution_ID}} --cli-input-yaml file://primary-distribution.yaml
   ```

Cuando la configuración de la distribución principal, con la política de implementación continua asociada, se implementa en ubicaciones periféricas, CloudFront comienza a enviar la parte especificada del tráfico a la distribución provisional en función de la configuración del tráfico.

------
#### [ API ]

Para crear una distribución provisional y una política de implementación continua con la API de CloudFront, utilice las siguientes operaciones de la API:
+ [CopyDistribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CopyDistribution.html)
+ [CreateContinuousDeploymentPolicy](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CreateContinuousDeploymentPolicy.html)

Para obtener más información acerca de los campos que especifique en estas llamadas a la API, consulte lo siguiente:
+ [Enrutamiento de solicitudes a la distribución provisional](understanding-continuous-deployment.md#understanding-continuous-deployment-routing)
+ [Persistencia de sesión para configuraciones basadas en ponderaciones](understanding-continuous-deployment.md#understanding-continuous-deployment-sessions)
+ La documentación de referencia de la API para el SDK de AWS u otro cliente de la API

Tras crear una distribución provisional y una política de implementación continua, utilice [UpdateDistribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDistribution.html) (en la distribución principal) para asociar la política de implementación continua a la distribución principal.

------

## Actualización de una distribución provisional
<a name="update-staging-distribution"></a>

Los siguientes procedimientos muestran cómo actualizar una distribución provisional con una política de implementación continua.

------
#### [ Console ]

Puede actualizar determinadas configuraciones tanto para la distribución principal como para la provisional. Para obtener más información, consulte [Actualización de las distribuciones principales y provisionales](understanding-continuous-deployment.md#updating-staging-and-primary-distributions).

**Para actualizar una distribución provisional (consola)**

1. Abra la consola de CloudFront en [https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home).

1. En el panel de navegación, elija **Distribuciones**.

1. Elija la distribución principal. Esta es la distribución principal que actualmente proporciona el tráfico de producción, desde la que ha creado la distribución provisional.

1. Elija **View staging distribution** (Ver distribución provisional).

1. Utilice la consola para modificar la configuración de la distribución provisional. Para obtener más información acerca de la configuración que puede actualizar, consulte [Actualización de las distribuciones principales y provisionales](understanding-continuous-deployment.md#updating-staging-and-primary-distributions).

En cuanto la configuración de la distribución provisional se implemente en las ubicaciones periféricas, se aplica al tráfico entrante que se dirige a la distribución provisional.

------
#### [ CLI ]

**Para actualizar una distribución provisional (CLI con archivo de entrada)**

1. Utilice el siguiente comando para guardar la configuración de la distribución provisional en un archivo con el nombre `staging-distribution.yaml`. Reemplace {{staging\_distribution\_ID}} por el ID de la distribución provisional.

   ```
   aws cloudfront get-distribution-config --id {{staging_distribution_ID}} --output yaml > staging-distribution.yaml
   ```

1. Abra el archivo llamado `staging-distribution.yaml` que acaba de crear. Edite el archivo y realice los siguientes cambios:
   + Modifique la configuración de la distribución provisional. Para obtener más información acerca de la configuración que puede actualizar, consulte [Actualización de las distribuciones principales y provisionales](understanding-continuous-deployment.md#updating-staging-and-primary-distributions).
   + Cambie el nombre del campo `ETag` a `IfMatch`, pero no cambie el valor del campo.

   Guarde el archivo cuando haya terminado.

1. Utilice el siguiente comando para actualizar la configuración de la distribución provisional. Reemplace {{staging\_distribution\_ID}} por el ID de la distribución provisional.

   ```
   aws cloudfront update-distribution --id {{staging_distribution_ID}} --cli-input-yaml file://staging-distribution.yaml
   ```

En cuanto la configuración de la distribución provisional se implemente en las ubicaciones periféricas, se aplica al tráfico entrante que se dirige a la distribución provisional.

------
#### [ API ]

Para actualizar la configuración de una distribución provisional, utilice [UpdateDistribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDistribution.html) (en la distribución provisional) para modificar la configuración de la distribución provisional. Para obtener más información acerca de la configuración que puede actualizar, consulte [Actualización de las distribuciones principales y provisionales](understanding-continuous-deployment.md#updating-staging-and-primary-distributions).

------

## Actualización de una política de implementación continua
<a name="update-continuous-deployment-policy"></a>

Los siguientes procedimientos muestran cómo actualizar una política de implementación continua.

------
#### [ Console ]

Puede actualizar la configuración de tráfico de su distribución actualizando la política de implementación continua.

**Para actualizar una política de implementación continua (consola)**

1. Abra la consola de CloudFront en [https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home).

1. En el panel de navegación, elija **Distribuciones**.

1. Elija la distribución principal. Esta es la distribución principal que actualmente proporciona el tráfico de producción, desde la que ha creado la distribución provisional.

1. En la sección **Continuous deployment** (Implementación continua), elija **Edit policy** (Editar política).

1. Modifique la configuración del tráfico en la política de implementación continua. Cuando haya finalizado, elija **Guardar cambios**.

Cuando la configuración de la distribución principal, con la política de implementación continua actualizada, se implementa en ubicaciones periféricas, CloudFront comienza a enviar el tráfico a la distribución provisional en función de la configuración del tráfico.

------
#### [ CLI ]

**Para actualizar una política de implementación continua (CLI con archivo de entrada)**

1. Utilice el siguiente comando para guardar la configuración de la política de implementación continua en un archivo con el nombre `continuous-deployment-policy.yaml`. Sustituya {{continuous\_deployment\_policy\_ID}} por el ID de la política de implementación continua. En el siguiente comando, se usan caracteres de escape (\\) y saltos de línea para facilitar la lectura, pero debe omitirlos en el comando.

   ```
   aws cloudfront get-continuous-deployment-policy-config --id {{continuous_deployment_policy_ID}} \
                                                          --output yaml > continuous-deployment-policy.yaml
   ```

1. Abra el archivo llamado `continuous-deployment-policy.yaml` que acaba de crear. Edite el archivo y realice los siguientes cambios:
   + Modifique la configuración de la política de implementación continua como desee. Por ejemplo, puede pasar de utilizar una configuración de tráfico basada en encabezados a una configuración basada en ponderaciones, o puede cambiar el porcentaje de tráfico (ponderación) para una configuración basada en ponderaciones. Para obtener más información, consulte [Enrutamiento de solicitudes a la distribución provisional](understanding-continuous-deployment.md#understanding-continuous-deployment-routing) y [Persistencia de sesión para configuraciones basadas en ponderaciones](understanding-continuous-deployment.md#understanding-continuous-deployment-sessions).
   + Cambie el nombre del campo `ETag` a `IfMatch`, pero no cambie el valor del campo.

   Guarde el archivo cuando haya terminado.

1. Utilice el siguiente comando para actualizar la política de implementación continua. Sustituya {{continuous\_deployment\_policy\_ID}} por el ID de la política de implementación continua. En el siguiente comando, se usan caracteres de escape (\\) y saltos de línea para facilitar la lectura, pero debe omitirlos en el comando.

   ```
   aws cloudfront update-continuous-deployment-policy --id {{continuous_deployment_policy_ID}} \
                                                      --cli-input-yaml file://continuous-deployment-policy.yaml
   ```

Cuando la configuración de la distribución principal, con la política de implementación continua actualizada, se implementa en ubicaciones periféricas, CloudFront comienza a enviar el tráfico a la distribución provisional en función de la configuración del tráfico.

------
#### [ API ]

Para actualizar una política de implementación continua, utilice [UpdateContinuousDeploymentPolicy](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateContinuousDeploymentPolicy.html).

------

## Promoción de una configuración de distribución provisional
<a name="promote-staging-distribution-configuration"></a>

Los siguientes procedimientos muestran cómo promocionar una configuración de distribución provisional.

------
#### [ Console ]

Al *promover* una distribución provisional, CloudFront copia la configuración de la distribución provisional a la distribución principal. Esto también deshabilita la política de implementación continua y enruta todo el tráfico a la distribución principal.

Después de promover una configuración, puede volver a utilizar la misma distribución provisional la próxima vez que quiera probar un cambio de configuración.

**Para promover la configuración de una distribución provisional (consola)**

1. Abra la consola de CloudFront en [https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home).

1. En el panel de navegación, elija **Distribuciones**.

1. Elija la distribución principal. Esta es la distribución principal que actualmente proporciona el tráfico de producción, desde la que ha creado la distribución provisional.

1. En la sección **Continuous deployment** (Implementación continua), elija **Promote** (Promover).

1. Escriba **confirm** y, a continuación, seleccione **Promote** (Promover).

------
#### [ CLI ]

Al *promover* una distribución provisional, CloudFront copia la configuración de la distribución provisional a la distribución principal. Esto también deshabilita la política de implementación continua y enruta todo el tráfico a la distribución principal.

Después de promover una configuración, puede volver a utilizar la misma distribución provisional la próxima vez que quiera probar un cambio de configuración.

**Para promover la configuración de una distribución provisional (CLI)**
+ Utilice el comando **aws cloudfront update-distribution-with-staging-config** para promover la configuración de la distribución provisional a la distribución principal. En el siguiente comando de ejemplo, se usan caracteres de escape (\\) y saltos de línea para facilitar la lectura, pero debe omitirlos en el comando. En el siguiente comando de ejemplo:
  + Sustituya {{primary\_distribution\_ID}} por el ID de la distribución principal.
  + Sustituya {{staging\_distribution\_ID}} por el ID de la distribución provisional.
  + Sustituya {{primary\_distribution\_ETag}} y {{staging\_distribution\_ETag}} por los valores de `ETag` de las distribuciones principal y provisional. Asegúrese de que el valor de la distribución principal sea el primero, como se muestra en el ejemplo.

  ```
  aws cloudfront update-distribution-with-staging-config --id {{primary_distribution_ID}} \
                                                         --staging-distribution-id {{staging_distribution_ID}} \
                                                         --if-match '{{primary_distribution_ETag}},{{staging_distribution_ETag}}'
  ```

------
#### [ API ]

Para promover la configuración de una distribución provisional a la distribución principal, utilice [UpdateDistributionWithStagingConfig](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDistributionWithStagingConfig.html).

------