

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.

# Replicación de imágenes privadas en Amazon ECR
<a name="replication"></a>

Puede configurar el registro privado de Amazon ECR para que admita la replicación de los repositorios. Amazon ECR admite la replicación entre regiones y entre cuentas. Para que se produzca la replicación entre cuentas, la cuenta de destino debe configurar una política de permisos de registro con objeto de permitir que se produzca la replicación desde el registro de origen. Para obtener más información, consulte [Permisos de registro privado en Amazon ECR](registry-permissions.md).

**Topics**
+ [Requisitos de la política de replicación entre cuentas](#replication-policy-clarification)
+ [Consideraciones sobre la replicación de imágenes privadas](#replication-considerations)
+ [Ejemplos de replicación de imágenes privadas en Amazon ECR](registry-settings-examples.md)
+ [Configuración de la replicación de imágenes privadas en Amazon ECR](registry-settings-configure.md)
+ [Eliminar la configuración de replicación de imágenes privadas en Amazon ECR](registry-settings-remove.md)

## Requisitos de la política de replicación entre cuentas
<a name="replication-policy-clarification"></a>

Para que la replicación de ECR entre cuentas funcione correctamente, debe indentificar las políticas configuradas que requiere cada cuenta. Esta sección explica los requisitos de la política para las cuentas de origen y de destino.

### Información general de la configuración de políticas
<a name="replication-policy-overview"></a>

La replicación de ECR entre cuentas requiere la configuración de la política **únicamente en la cuenta de destino**. La cuenta de origen no requiere ningún repositorio o política de registro especial.
+ **Cuenta de origen**: configure las reglas de replicación en la configuración del registro. No se requieren políticas adicionales en los repositorios de origen.
+ **Cuenta de destino**: configure una política de permisos de registro para permitir que la cuenta de origen replique imágenes.

### Requisitos de política de registro de destino
<a name="destination-registry-policy-requirements"></a>

La cuenta de destino debe configurar una política de permisos de registro que otorgue a la cuenta de origen permiso para realizar las siguientes acciones:
+ `ecr:ReplicateImage`: permite a la cuenta de origen replicar imágenes en el registro de destino
+ `ecr:CreateRepository`: permite a ECR crear automáticamente repositorios en el registro de destino en el caso que aún no existan

**importante**  
Si no le concede permiso a `ecr:CreateRepository`, deberá crear de forma manual los repositorios con los mismos nombres en la cuenta de destino para que la replicación se realice correctamente.

Ejemplo de la política de registro de destino:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowCrossAccountReplication",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:root"
            },
            "Action": [
                "ecr:ReplicateImage",
                "ecr:CreateRepository"
            ],
            "Resource": "*"
        }
    ]
}
```

------

### Requisitos de cuenta de origen
<a name="source-account-requirements"></a>

La cuenta de origen solo necesita realizar lo siguiente:
+ Configurar las reglas de replicación en la configuración del registro para especificar la cuenta y las regiones de destino
+ Asegurar de que la entidad principal de IAM que configura la replicación tenga los permisos de ECR necesarios

**No se requieren políticas adicionales en los repositorios de origen.** Los repositorios de origen no necesitan políticas de repositorio que concedan permisos de replicación.

### Conceptos erróneos comunes
<a name="common-misconceptions"></a>

A continuación, se muestran son conceptos erróneos comunes sobre las políticas de replicación entre cuentras de ECR:
+ **Concepto erróneo**: el repositorio de origen necesita una política que permita a la cuenta de destino replicar imágenes.

  **Verdad**: los repositorios de origen no necesitan políticas especiales para la replicación.
+ **Concepto erróneo**: las cuentas de origen y de destino necesitan políticas de registro.

  **Verdad**: solo la cuenta de destino necesita una política de permisos de registro.
+ **Concepto erróneo**: las políticas de repositorio y de registro son lo mismo.

  **Verdad**: las políticas de repositorio controlan el acceso a los repositorios individuales, mientras que las de registro controlan las operaciones a nivel de registro, como la replicación.

### Solución de problemas de fallos de replicación
<a name="replication-troubleshooting"></a>

Si la replicación entre cuentas no funciona correctamente, deberá revisar lo siguiente:
+ Verifique que la cuenta de destino tenga configurada una política de permisos de registro
+ Asegúrese de que la política de registro incluya las acciones `ecr:ReplicateImage` y `ecr:CreateRepository`
+ Confirme que el ID de la cuenta de origen esté correctamente especificado en la política de registro de destino
+ Revise que los repositorios de destino existan (si `ecr:CreateRepository` no está otorgado)
+ Revise CloudTrail los registros para detectar llamadas fallidas `CreateRepository` o a `ReplicateImage` la API

## Consideraciones sobre la replicación de imágenes privadas
<a name="replication-considerations"></a>

Al utilizar la replicación de imágenes privadas, se debe tener en cuenta lo siguiente.
+ Solo se replica el contenido del repositorio insertado o restaurado en un repositorio después de configurar la replicación. El contenido preexistente en un repositorio no se replica. Si se restaura una imagen después de activar la replicación, se replicará. Si se restaura antes de activar la replicación, no se replicará.
+ El nombre del repositorio seguirá siendo el mismo en todas las regiones y cuentas cuando se produzca la replicación. Amazon ECR no admite el cambio del nombre del repositorio durante la replicación.
+ La primera vez que se configura el registro privado para la replicación, Amazon ECR crea un rol de IAM vinculado a servicios en su nombre. El rol de IAM vinculado a servicios otorga al servicio de replicación de Amazon ECR el permiso necesario para crear repositorios y replicar imágenes en el registro. Para obtener más información, consulte [Uso de roles vinculados a servicios para Amazon ECR](using-service-linked-roles.md).
+ Para que se produzca la replicación entre cuentas, el destino del registro privado debe conceder permiso con objeto de permitir que el registro de origen replique sus imágenes. Para ello, se establece una política de permisos de registro privado. Para obtener más información, consulte [Permisos de registro privado en Amazon ECR](registry-permissions.md).
+ Si se cambia la política de permisos de un registro privado para quitar un permiso, se pueden completar las replicaciones en curso concedidas anteriormente.
+ Para que se produzca la replicación entre regiones, tanto la cuenta de origen como la de destino deben estar habilitadas en la región antes de que se lleve a cabo cualquier acción de replicación dentro o hacia esa región. Para obtener más información, consulte [Administración de las regiones de AWS](https://docs.aws.amazon.com/general/latest/gr/rande-manage.html) en la *Referencia general de Amazon Web Services*.
+ No se admite la replicación entre regiones entre AWS particiones. Por ejemplo, no se puede replicar un repositorio `us-west-2` en ` cn-north-1`. Para obtener más información sobre AWS las particiones, consulte el [formato ARN](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arns-syntax) en la Referencia *AWS general*.
+ La configuración de replicación de un registro privado puede contener hasta 25 destinos únicos en todas las reglas, con un máximo de 10 reglas. Cada regla puede contener hasta 100 filtros. Esto permite especificar reglas independientes para repositorios que contienen imágenes utilizadas para la producción y las pruebas, por ejemplo.
+ La configuración de replicación admite el filtrado de los repositorios de un registro privado que se replican especificando un prefijo de repositorio. Para ver un ejemplo, consulta [Ejemplo: Configurar la replicación entre regiones mediante un filtro de repositorio](registry-settings-examples.md#registry-settings-examples-crr-filter).
+ La acción de replicación solo se produce una vez por inserción o restauración de imagen. Por ejemplo, si ha configurado la replicación entre regiones desde `us-west-2` hasta ` us-east-1` y de `us-east-1` hasta `us-east-2`, una imagen insertada en `us-west-2` se replicará solo en `us-east-1`, y no se replicará de nuevo en `us-east-2`. Este comportamiento se aplica a la replicación entre regiones y entre cuentas.
+ La mayoría de las imágenes se replican en menos de 30 minutos, pero en casos excepcionales la replicación puede tardar más.
+ La replicación del registro no realiza ninguna acción de eliminación ni de archivado. Las imágenes y los repositorios replicados se pueden eliminar o archivar cuando ya no se utilizan.
+ Si la imagen que se va a replicar está archivada en el destino, se restaurará en el destino.
+ Cuando una imagen se archiva en una región de origen, no se archivará en la región de destino especificada en la configuración de replicación.
+ Las políticas de repositorio, incluidas las políticas de IAM, así como las políticas de ciclo de vida, no se replican ni tienen ningún efecto en otro repositorio que no sea para el que están definidas.
+ La configuración del repositorio no se replica de forma predeterminada, por lo tanto, puede replicarla mediante plantillas de creación de repositorios. Estos ajustes pueden ser la mutabilidad de etiquetas, el cifrado, los permisos de los repositorios y las políticas de ciclo de vida. Para obtener más información acerca de las plantillas de la creación de repositorios, consulte [Plantillas para controlar los repositorios creados durante una acción de extracción, creación mediante inserción o replicación](repository-creation-templates.md).
+ Si la inmutabilidad de etiquetas está habilitada en un repositorio y se replica una imagen que utiliza la misma etiqueta que una existente, la imagen se replica pero no incluirá la etiqueta duplicada. Esto podría provocar que la imagen se quedara sin etiquetar.
+ Al replicar imágenes, si se ha configurado el montaje de bloques, el ECR comprobará que todas las capas del repositorio de origen ya existan en el registro de destino. Si ya existe alguna capa en el registro de destino, ECR montará esas capas. 

**nota**  
Si el registro de origen es diferente del registro de destino, será necesario habilitar el montaje de blobs en ambos registros para que el ECR monte las capas replicadas.

# Ejemplos de replicación de imágenes privadas en Amazon ECR
<a name="registry-settings-examples"></a>

Los siguientes ejemplos muestran casos de uso comunes para la replicación de imágenes privadas. Si configura la replicación mediante el AWS CLI, puede utilizar los ejemplos de JSON como punto de partida al crear el archivo JSON. Si configura la replicación mediante Consola de administración de AWS, verá un JSON similar cuando revise la regla de replicación en la página **Revisar y enviar**.

## Ejemplo: Configurar la replicación entre regiones en una única región de destino
<a name="registry-settings-examples-crr-single"></a>

A continuación se muestra un ejemplo para configurar la replicación entre regiones en un único registro. En este ejemplo, se presupone que el ID de cuenta es ` 111122223333` y que está especificando esta configuración de replicación en una región distinta de `us-west-2`.

```
{
    "rules": [
        {
            "destinations": [
                {
                    "region": "us-west-2",
                    "registryId": "111122223333"
                }
            ]
        }
    ]
}
```

## Ejemplo: Configurar la replicación entre regiones mediante un filtro de repositorio
<a name="registry-settings-examples-crr-filter"></a>

A continuación se muestra un ejemplo con objeto de configurar la replicación entre regiones para repositorios que coincidan con un valor de nombre de prefijo. En este ejemplo, se presupone que el ID de cuenta es ` 111122223333` y que está especificando esta configuración de replicación en una región distinta de `us-west-1` y que tiene repositorios con un prefijo `prod`.

```
{
	"rules": [{
		"destinations": [{
			"region": "us-west-1",
			"registryId": "111122223333"
		}],
		"repositoryFilters": [{
			"filter": "prod",
			"filterType": "PREFIX_MATCH"
		}]
	}]
}
```

## Ejemplo: Configurar la replicación entre regiones en varias regiones de destino
<a name="registry-settings-examples-crr-multipledestinations"></a>

A continuación se muestra un ejemplo para configurar la replicación entre regiones en un único registro. En este ejemplo, se supone que el ID de su cuenta es ` 111122223333` y que está especificando esta configuración de replicación en una región distinta de `us-west-1` o`us-west-2`.

```
{
    "rules": [
        {
            "destinations": [
                {
                    "region": "us-west-1",
                    "registryId": "111122223333"
                },
                {
                    "region": "us-west-2",
                    "registryId": "111122223333"
                }
            ]
        }
    ]
}
```

## Ejemplo: Configurar la replicación entre cuentas
<a name="registry-settings-examples-crossaccount"></a>

A continuación se muestra un ejemplo de configuración de la replicación entre cuentas para el registro. En este ejemplo se configura la replicación en la cuenta `444455556666` y en la región `us-west-2`.

**importante**  
Para que se produzca la replicación entre cuentas, la cuenta de destino debe configurar una política de permisos de registro con objeto de permitir que se produzca la replicación. Para obtener más información, consulte [Permisos de registro privado en Amazon ECR](registry-permissions.md).

```
{
    "rules": [
        {
            "destinations": [
                {
                    "region": "us-west-2",
                    "registryId": "444455556666"
                }
            ]
        }
    ]
}
```

## Ejemplo: Especificar varias reglas en una configuración
<a name="registry-settings-examples-multiple-rules"></a>

A continuación se muestra un ejemplo de configuración de varias reglas de replicación para el registro. En este ejemplo se configura la replicación para la cuenta * 111122223333*, con una regla que replica repositorios con un prefijo `prod` en la región `us-west-2` y repositorios con un prefijo `test` en la región `us-east-2`. Una configuración de replicación puede incluir hasta 10 reglas, y cada regla puede especificar hasta 25 destinos.

```
{
	"rules": [{
			"destinations": [{
				"region": "us-west-2",
				"registryId": "111122223333"
			}],
			"repositoryFilters": [{
				"filter": "prod",
				"filterType": "PREFIX_MATCH"
			}]
		},
		{
			"destinations": [{
				"region": "us-east-2",
				"registryId": "111122223333"
			}],
			"repositoryFilters": [{
				"filter": "test",
				"filterType": "PREFIX_MATCH"
			}]
		}
	]
}
```

## Ejemplo: eliminar todos los ajustes de replicación
<a name="registry-settings-examples-remove"></a>

A continuación, se muestra un ejemplo de eliminación de todas las opciones de replicación del registro. Para eliminar la configuración de replicación, configure una matriz de reglas vacía.

```
{
    "rules": []
}
```

**importante**  
Si elimina la configuración de replicación, no se eliminará ninguna imagen o repositorio previamente replicado. Debe eliminar el contenido replicado de forma manual si ya no se necesita.

# Configuración de la replicación de imágenes privadas en Amazon ECR
<a name="registry-settings-configure"></a>

Configure la replicación por región para su registro privado. Puede configurar la replicación entre regiones o entre cuentas.

Para ver ejemplos de cómo se usa habitualmente la replicación, consulte [Ejemplos de replicación de imágenes privadas en Amazon ECR](registry-settings-examples.md).

## Configuración de las opciones de replicación del registro (Consola de administración de AWS)
<a name="registry-settings-configure-console"></a>

1. Abra la consola Amazon ECR en los [https://console.aws.amazon.com/ecr/repositorios](https://console.aws.amazon.com/ecr/repositories).

1. En la barra de navegación, elija la región en la que se va a configurar la política de replicación del registro.

1. En el panel de navegación, elija **Private registry (Registro privado)**.

1. En la página de **registro privado**, elija **Configuración** y, a continuación, elija **Editar** en Configuración de **replicación**.

1. En la página **Replication** (Replicación), elija **Add replication rule** (Agregar regla de replicación).

1. En la página **Destination types** (Tipos de destino), elija si desea habilitar la replicación entre regiones, entre cuentas o ambas y, a continuación, elija **Next** (Siguiente).

1. Si está habilitada la replicación entre regiones, en **Configure destination regions** (Configurar regiones de destino) elija una o varias **Destination regions** (Regiones de destino) y luego **Next** (Siguiente).

1. Si está habilitada la replicación entre cuentas, en **Cross-account replication** (Replicación entre cuentas) elija la configuración de replicación entre cuentas del registro. En **Destination account** (Cuenta de destino), ingrese el ID de cuenta de la cuenta de destino y una o varias **Destination regions** (Regiones de destino) en las que se vaya a replicar. Elija **Destination account \$1** (Cuenta de destino \$1) para configurar cuentas adicionales como destinos de replicación.
**importante**  
Para que se produzca la replicación entre cuentas, la cuenta de destino debe configurar una política de permisos de registro con objeto de permitir que se produzca la replicación. Para obtener más información, consulte [Permisos de registro privado en Amazon ECR](registry-permissions.md).

1. (Opcional) En la página **Add filters** (Agregar filtros), especifique uno o más filtros para la regla de replicación y, a continuación, elija **Add** (Agregar). Repita este paso para cada filtro que desee asociar a la acción de replicación. Se debe especificar un filtro como prefijo del nombre del repositorio. Si no se agrega ningún filtro, se replicará el contenido de todos los repositorios. Elija **Next** (Siguiente) una vez que se hayan agregado todos los filtros.

1. En la página **Review and submit** (Revisar y enviar), revise la configuración de regla de replicación y luego elija **Submit rule** (Enviar regla).

## Configuración de las opciones de replicación del registro (AWS CLI)
<a name="registry-settings-configure-cli"></a>

1. Cree un archivo JSON que incluya las reglas de replicación que se definirán para el registro. Una configuración de replicación puede contener hasta 10 reglas, con hasta 25 destinos exclusivos para todas las reglas y 100 filtros por cada regla. Para configurar la replicación entre regiones en de su propia cuenta, especifique su propio ID de cuenta. Para obtener más ejemplos, consulte [Ejemplos de replicación de imágenes privadas en Amazon ECR](registry-settings-examples.md).

   ```
   {
   	"rules": [{
   		"destinations": [{
   			"region": "destination_region",
   			"registryId": "destination_accountId"
   		}],
   		"repositoryFilters": [{
   			"filter": "repository_prefix_name",
   			"filterType": "PREFIX_MATCH"
   		}]
   	}]
   }
   ```

1. Cree una configuración de replicación para el registro.

   ```
   aws ecr put-replication-configuration \
        --replication-configuration file://replication-settings.json \
        --region us-west-2
   ```

1. Confirme la configuración del registro.

   ```
   aws ecr describe-registry \
        --region us-west-2
   ```

# Eliminar la configuración de replicación de imágenes privadas en Amazon ECR
<a name="registry-settings-remove"></a>

Para eliminar o deshabilitar la configuración de replicación del registro privado, debe configurar una configuración de replicación vacía. No hay ningún comando de eliminación específico en la AWS CLI.

## Eliminar las opciones de replicación del registro (Consola de administración de AWS)
<a name="registry-settings-remove-console"></a>

1. Abra la consola Amazon ECR en los [https://console.aws.amazon.com/ecr/repositorios](https://console.aws.amazon.com/ecr/repositories).

1. En la barra de navegación, seleccione la región en la que se va a eliminar la configuración de replicación del registro.

1. En el panel de navegación, elija **Private registry (Registro privado)**.

1. En la página de **registro privado**, elija **Configuración** y, a continuación, elija **Editar** en Configuración de **replicación**.

1. Elimine todas las reglas de replicación existentes con la opción de eliminación para cada regla.

1. Seleccione **Save** (Guardar) para aplicar la configuración de replicación vacía.

## Eliminar las opciones de replicación del registro (AWS CLI)
<a name="registry-settings-remove-cli"></a>

1. Cree un archivo JSON con una matriz de reglas vacía para eliminar todos los ajustes de replicación.

   ```
   {
       "rules": []
   }
   ```

1. Aplique la configuración de replicación vacía a su registro.

   ```
   aws ecr put-replication-configuration \
        --replication-configuration file://empty-replication-settings.json \
        --region us-west-2
   ```

1. Confirme que se eliminó la configuración de replicación.

   ```
   aws ecr describe-registry \
        --region us-west-2
   ```

   El resultado debe mostrar `replicationConfiguration` vacía y sin reglas.

**importante**  
Si elimina la configuración de replicación, no se eliminará ninguna imagen o repositorio previamente replicado. Debe eliminar el contenido replicado de forma manual si ya no se necesita.