Creación de reglas de replicación en Outposts - Amazon S3 en Outposts

Creación de reglas de replicación en Outposts

La replicación de S3 en Outposts consiste en la replicación automática y asíncrona de los objetos de los buckets en la misma o en diferentes AWS Outposts. La replicación copia los objetos que se acaban de crear y las actualizaciones de objetos de un bucket de Outposts de origen a un bucket o buckets de Outposts de destino. Para obtener más información, consulte Replicación de objetos para S3 en Outposts.

nota

Los objetos que había en el bucket de Outposts de origen antes de que configurara las reglas de replicación no se replican. En otras palabras, S3 en Outposts no replica los objetos retroactivamente. Para replicar objetos creados antes de que configurara la replicación, puede utilizar la operación de la API CopyObject para copiarlos en el mismo bucket. Una vez copiados los objetos, aparecen como objetos «nuevos» en el bucket y se les aplica la configuración de replicación. Para obtener más información sobre cómo se copia un objeto, consulte Copia de un objeto en un bucket de Amazon S3 en Outposts utilizando AWS SDK for Java y CopyObject en la Referencia de la API de Amazon Simple Storage Service.

Al configurar la replicación, se agregan reglas de replicación al bucket de Outposts de origen. Las reglas de replicación definen qué objetos del bucket de Outposts de origen se deben replicar y el bucket o buckets de Outposts de destino donde se almacenarán los objetos replicados. Puede crear una regla para replicar todos los objetos en un bucket o un subconjunto de objetos con un prefijo de nombre de clave específico, una o varias etiquetas de objeto, o ambos métodos. El bucket de Outposts de destino puede estar en el mismo Outpost que el bucket de Outpost de origen o puede estar en un Outpost diferente.

Para las reglas de replicación de S3 en Outposts, debe proporcionar tanto el nombre de recurso de Amazon (ARN) del punto de acceso del bucket de Outposts de origen como el ARN del punto de acceso del bucket de Outposts de destino, en lugar de los nombres de los buckets de Outposts de origen y destino.

Si especifica un ID de versión de objeto para eliminarlo, S3 en Outposts elimina esa versión del objeto del bucket de Outposts de origen. Pero no replica la eliminación en el bucket de Outposts de destino. En otras palabras, no elimina la misma versión del objeto del bucket de Outposts de destino. Este comportamiento protege los datos de eliminaciones malintencionadas.

Cuando se añade una regla de replicación a un bucket de Outposts, la regla está activada de forma predeterminada, por lo que comienza a funcionar en cuanto se guarda.

En este ejemplo, se configura la replicación de los buckets de Outposts de origen y destino que están en Outposts distintos y son propiedad de la misma Cuenta de AWS. Se proporcionan ejemplos de cómo utilizar la consola de Amazon S3, la AWS Command Line Interface (AWS CLI), y AWS SDK for Java y AWS SDK for .NET. Para obtener más información sobre los permisos de Replicación de S3 en Outposts entre cuentas, consulte Concesión de permisos cuando los buckets de Outposts de origen y destino pertenecen a diferentes Cuentas de AWS.

Para conocer los requisitos previos para configurar las reglas de replicación de S3 en Outposts, consulte Requisitos previos para crear reglas de replicación.

Siga estos pasos para configurar una regla de replicación cuando el bucket de Amazon S3 en Outposts de destino esté en un Outposts distinto del bucket de Outposts de origen.

Si el bucket de Outposts de destino está en una cuenta distinta a la del bucket de Outposts de origen, se debe añadir una política de buckets al bucket de Outposts de destino para conceder al propietario de la cuenta del bucket de Outposts de origen permiso para replicar objetos en el bucket de Outposts de destino.

Para crear una regla de replicación
  1. Inicie sesión AWS Management Console Management Console y abra la consola de Amazon S3 en https://console.aws.amazon.com/s3/.

  2. En la lista Buckets de Outposts, seleccione el nombre del bucket para el que desea usar el bucket de origen.

  3. Elija Administración, desplácese hacia abajo hasta Reglas de replicación y, a continuación, elija Crear regla de replicación.

  4. En Nombre de la regla de replicación, escriba un nombre para la regla, de modo que pueda identificarla fácilmente más tarde. El nombre es obligatorio y debe ser único dentro del bucket.

  5. En Estado, Habilitada está seleccionado de forma predeterminada. Una regla activada comienza a funcionar tan pronto se guarda. Si desea habilitar la regla más adelante, seleccione Deshabilitada.

  6. En Prioridad, el valor de prioridad de la regla determina qué regla aplicar si hay reglas superpuestas. Cuando los objetos se incluyen en el ámbito de más de una de regla de replicación, S3 en Outposts utiliza estos valores de prioridad para evitar conflictos. De forma predeterminada, las reglas nuevas se agregan a la configuración de replicación con la prioridad más alta. Cuanto mayor sea el número, mayor será la prioridad.

    Para cambiar la prioridad de la regla, después de guardarla, elija el nombre de la regla en la lista de reglas de replicación, elija Acciones y, a continuación, elija Editar prioridad.

  7. En Bucket de origen, tiene las siguientes opciones para establecer el origen de la replicación:

    • Para replicar todo el bucket, elija Aplicar a todos los objetos del bucket.

    • Para aplicar el filtrado de prefijos o etiquetas al origen de la replicación, elija Limitar el alcance de esta regla mediante uno o más filtros. Puede hacer uso combinado de un prefijo y etiquetas.

      • Para replicar todos los objetos que tengan el mismo prefijo, en Prefijo, introduzca un prefijo en el cuadro. Para limitar la replicación a todos los objetos que tienen nombres que empiezan con la misma cadena (por ejemplo, ), use el filtro Prefijopictures.

        Si escribe un prefijo que es el nombre de una carpeta, debe usar una / (barra inclinada) como último carácter (por ejemplo, pictures/).

      • Para replicar todos los objetos que tienen una o varias etiquetas de objeto, elija Agregar etiqueta y escriba el par clave-valor en los cuadros. Para agregar otra etiqueta, repita el procedimiento. Para obtener más información acerca de las etiquetas de objeto, consulte Agregar etiquetas para los buckets de S3 en Outposts.

  8. Para acceder a su bucket de origen de S3 en Outposts para replicarlo, en Nombre del punto de acceso de origen, elija un punto de acceso que esté adjunto al bucket de origen.

  9. En Destino, elija el ARN del punto de acceso del bucket de Outposts de destino donde desea que S3 en Outposts replique objetos. Los buckets de Outposts de destino pueden estar en diferentes Cuenta de AWS o dentro de la misma región que el bucket de Outposts de origen.

    Si el bucket de destino está en una cuenta distinta a la del bucket de Outposts de origen, se debe añadir una política de buckets al bucket de Outposts de destino para conceder al propietario de la cuenta del bucket de Outposts de origen permiso para replicar objetos en el bucket de Outposts de destino. Para obtener más información, consulte Concesión de permisos cuando los buckets de Outposts de origen y destino pertenecen a diferentes Cuentas de AWS.

    nota

    Si el control de versiones no está habilitado en el bucket de Outposts de destino, recibirá una advertencia con el botón Habilitar el control de versiones. Elija este botón para activar el control de versiones en el bucket.

  10. Configure un rol de servicio de AWS Identity and Access Management (IAM) que pueda asumir S3 en Outposts para reproducir objetos en su nombre.

    Para configurar un rol de IAM, en Rol de IAM, lleve a cabo una de las siguientes acciones:

    • Para que S3 en Outposts cree un nuevo rol de IAM para la configuración de replicación, Elegir entre los roles de IAM existentes y, a continuación, elija Crear un nuevo rol. Cuando se guarda la regla, se genera una política nueva para el rol de IAM que coincide con los buckets de Outposts de origen y destino elegidos. Le recomendamos que elija Crear un nuevo rol.

    • También puede elegir usar un rol de IAM existente. Si lo hace, debe elegir un rol que conceda a S3 en Outposts los permisos necesarios para la replicación. La replicación dará un error si este rol no concede a S3 en Outposts permisos suficientes para seguir la regla de replicación.

      Para escoger un rol existente, marque Elegir entre los roles de IAM existentes y, a continuación, seleccione el nombre en el menú desplegable. También puede elegir Ingresar un ARN de rol de IAM y, a continuación, escribir el nombre de recurso de Amazon (ARN) del rol de IAM.

    importante

    Cuando añada una regla de replicación a un bucket de S3 en Outposts, debe tener los permisos iam:CreateRole y iam:PassRole para poder crear y pasar el rol de IAM que concede los permisos de replicación de S3 en Outposts. Para obtener más información, consulte Concesión de permisos a un usuario para transferir un rol a un servicio de Servicio de AWS en la Guía del usuario de IAM.

  11. Todos los objetos de los buckets de Outposts están cifrados de forma predeterminada. Para obtener más información sobre el cifrado de S3 en Outposts, consulte Cifrado de datos en S3 en Outposts. Solo se pueden replicar los objetos cifrados en el servidor con claves administradas por Amazon S3 (SSE-S3). No se admite la replicación de objetos cifrados en el servidor con claves de AWS Key Management Service (AWS KMS) (SSE-KMS) o cifrado del lado del servidor con claves de cifrado proporcionadas por el cliente (SSE-C).

  12. Habilite las siguientes opciones adicionales al configurar la regla de replicación, según sea necesario:

  13. Para terminar, seleccione Crear regla.

Después de guardar la regla, puede editarla, habilitarla, deshabilitarla o eliminarla. Para ello, vaya a la pestaña Administración del bucket de Outposts de origen, desplácese hacia abajo hasta la sección Reglas de replicación, elija su regla y, a continuación, Editar regla.

Para utilizar la AWS CLI con el objetivo de configurar la replicación cuando los buckets de Outposts de origen y destino son propiedad de la misma Cuenta de AWS, debe hacer lo siguiente:

  • Crear buckets de Outposts de origen y destino.

  • Habilitar el control de versiones en ambos buckets.

  • Crear un rol de IAM que conceda permisos a S3 en Outposts para replicar objetos.

  • Agregar la configuración de replicación al bucket de Outposts de origen.

Para verificar la configuración, debe probarla.

Para configurar la replicación cuando los buckets de Outposts de origen y destino son propiedad de la misma Cuenta de AWS
  1. Configure un perfil de credenciales para la AWS CLI. En este ejemplo, usamos el nombre de perfil acctA. Para obtener información acerca de la configuración de perfiles de credenciales, consulte Perfiles con nombre en la Guía del usuario de la AWS Command Line Interface.

    importante

    Los perfiles utilizados para este ejercicio tienen que tener los permisos necesarios. Por ejemplo, en la configuración de replicación debe especificar el rol de servicio de IAM que puede asumir S3 en Outposts. Solo puede hacer esto si el perfil que utiliza tiene los permisos iam:CreateRole y iam:PassRole. Para obtener más información, consulte Concesión de permisos a un usuario para transferir un rol a un servicio de Servicio de AWS en la Guía del usuario de IAM. Si utiliza credenciales de administrador para crear un perfil con nombre, el perfil con nombre tendrá el permiso necesario para realizar todas las tareas.

  2. Cree un bucket de origen y habilite el control de versiones. El siguiente comando create-bucket crea un bucket SOURCE-OUTPOSTS-BUCKET en la región Este de EE. UU. (Norte de Virginia) (us-east-1). Para usar este comando, sustituya user input placeholders por su información.

    aws s3control create-bucket --bucket SOURCE-OUTPOSTS-BUCKET --outpost-id SOURCE-OUTPOST-ID --profile acctA --region us-east-1

    El siguiente comando put-bucket-versioning habilita el control de versiones en el bucket SOURCE-OUTPOSTS-BUCKET. Para usar este comando, sustituya user input placeholders por su información.

    aws s3control put-bucket-versioning --account-id 123456789012 --bucket arn:aws:s3-outposts:region:123456789012:outpost/SOURCE-OUTPOST-ID/bucket/SOURCE-OUTPOSTS-BUCKET --versioning-configuration Status=Enabled --profile acctA
  3. Cree un bucket de destino y habilite el control de versiones. El siguiente comando create-bucket crea un bucket DESTINATION-OUTPOSTS-BUCKET en la región Oeste de EE. UU. (Oregón) (us-west-2). Para usar este comando, sustituya user input placeholders por su información.

    nota

    Para establecer la configuración de replicación cuando los buckets de Outposts de origen y destino están en la misma Cuenta de AWS, debe utilizar el mismo perfil. En este ejemplo se utiliza acctA. Para probar la configuración de replicación cuando los buckets son propiedad de diferentes Cuentas de AWS, debe especificar diferentes perfiles para cada bucket.

    aws s3control create-bucket --bucket DESTINATION-OUTPOSTS-BUCKET --create-bucket-configuration LocationConstraint=us-west-2 --outpost-id DESTINATION-OUTPOST-ID --profile acctA --region us-west-2

    El siguiente comando put-bucket-versioning habilita el control de versiones en el bucket DESTINATION-OUTPOSTS-BUCKET. Para usar este comando, sustituya user input placeholders por su información.

    aws s3control put-bucket-versioning --account-id 123456789012 --bucket arn:aws:s3-outposts:region:123456789012:outpost/DESTINATION-OUTPOST-ID/bucket/DESTINATION-OUTPOSTS-BUCKET --versioning-configuration Status=Enabled --profile acctA
  4. Cree un rol de servicio de IAM. Más adelante en la configuración de la replicación, agregue este rol de servicio al bucket SOURCE-OUTPOSTS-BUCKET. S3 en Outposts asume este rol para replicar objetos en su nombre. Crea el rol de IAM en dos pasos:

    1. Crear un rol de IAM.

      1. Copie la siguiente política de confianza y guárdela en un archivo llamado s3-on-outposts-role-trust-policy.json en el directorio actual en su equipo local. Esta política concede permisos a la entidad principal de servicio de S3 en Outposts para asumir el rol de servicio.

        { "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":"s3-outposts.amazonaws.com" }, "Action":"sts:AssumeRole" } ] }
      2. Ejecute el siguiente comando para crear el rol. Reemplace los user input placeholders con su propia información.

        aws iam create-role --role-name replicationRole --assume-role-policy-document file://s3-on-outposts-role-trust-policy.json --profile acctA
    2. Asocie una política de permisos al rol de servicio.

      1. Copie la siguiente política de permisos y guárdela en un archivo llamado s3-on-outposts-role-permissions-policy.json en el directorio actual en su equipo local. Esta política concede permisos para varias acciones de buckets y objetos de S3 en Outposts. Para utilizar esta política, sustituya user input placeholders por su información.

        { "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "s3-outposts:GetObjectVersionForReplication", "s3-outposts:GetObjectVersionTagging" ], "Resource":[ "arn:aws:s3-outposts:region:123456789012:outpost/SOURCE-OUTPOST-ID/bucket/SOURCE-OUTPOSTS-BUCKET/object/*", "arn:aws:s3-outposts:region:123456789012:outpost/SOURCE-OUTPOST-ID/accesspoint/SOURCE-OUTPOSTS-BUCKET-ACCESS-POINT/object/*" ] }, { "Effect":"Allow", "Action":[ "s3-outposts:ReplicateObject", "s3-outposts:ReplicateDelete" ], "Resource":[ "arn:aws:s3-outposts:region:123456789012:outpost/DESTINATION-OUTPOST-ID/bucket/DESTINATION-OUTPOSTS-BUCKET/object/*", "arn:aws:s3-outposts:region:123456789012:outpost/DESTINATION-OUTPOST-ID/accesspoint/DESTINATION-OUTPOSTS-BUCKET-ACCESS-POINT/object/*" ] } ] }
      2. Ejecute el siguiente comando para crear una política y asociarla al rol. Reemplace los user input placeholders con su propia información.

        aws iam put-role-policy --role-name replicationRole --policy-document file://s3-on-outposts-role-permissions-policy.json --policy-name replicationRolePolicy --profile acctA
  5. Agregue una configuración de replicación al bucket SOURCE-OUTPOSTS-BUCKET.

    1. Si bien la API de S3 en Outposts requiere la configuración de replicación en formato XML, la AWS CLI requiere que especifique la configuración de reproducción en formato JSON. Guarde la siguiente JSON en un archivo denominado replication.json en el directorio local en su equipo. Para usar esta configuración, sustituya user input placeholders por su información.

      { "Role": "IAM-role-ARN", "Rules": [ { "Status": "Enabled", "Priority": 1, "DeleteMarkerReplication": { "Status": "Disabled" }, "Filter" : { "Prefix": "Tax"}, "Destination": { "Bucket": "arn:aws:s3-outposts:region:123456789012:outpost/DESTINATION-OUTPOST-ID/accesspoint/DESTINATION-OUTPOSTS-BUCKET-ACCESS-POINT" } } ] }
    2. Ejecute el siguiente comando put-bucket-replication para añadir la configuración de replicación al bucket de Outposts de origen. Para usar este comando, sustituya user input placeholders por su información.

      aws s3control put-bucket-replication --account-id 123456789012 --bucket arn:aws:s3-outposts:region:123456789012:outpost/SOURCE-OUTPOST-ID/bucket/SOURCE-OUTPOSTS-BUCKET --replication-configuration file://replication.json --profile acctA
    3. Para recuperar la configuración de replicación, utilice el comando get-bucket-replication. Para usar este comando, sustituya user input placeholders por su información.

      aws s3control get-bucket-replication --account-id 123456789012 --bucket arn:aws:s3-outposts:region:123456789012:outpost/SOURCE-OUTPOST-ID/bucket/SOURCE-OUTPOSTS-BUCKET --profile acctA
  6. Pruebe la configuración en la consola de Amazon S3:

    1. Inicie sesión AWS Management Console Management Console y abra la consola de Amazon S3 en https://console.aws.amazon.com/s3/.

    2. En el bucket SOURCE-OUTPOSTS-BUCKET, cree una carpeta llamada Tax.

    3. Agregue objetos de ejemplo a la carpeta Tax en el bucket SOURCE-OUTPOSTS-BUCKET.

    4. En el bucket DESTINATION-OUTPOSTS-BUCKET, compruebe lo siguiente:

      • S3 en Outposts ha replicado los objetos.

        nota

        El tiempo que S3 en Outposts tarda en replicar un objeto depende del tamaño del objeto. Para obtener más información sobre cómo ver el estado de la replicación, consulte Obtención de información del estado de replicación.

      • En la pestaña Propiedades, el Estado de replicación se fija en Replica (lo que lo identifica como un objeto de réplica).