Usa el register-on-premises-instance comando (IAMuserARN) para registrar una instancia local - AWS CodeDeploy

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.

Usa el register-on-premises-instance comando (IAMuserARN) para registrar una instancia local

importante

No se recomienda registrar una instancia con un IAM usuario porque utiliza credenciales estáticas (permanentes) para la autenticación. Para mejorar la seguridad, recomendamos registrar una instancia con credenciales temporales para la autenticación. Para obtener más información, consulte Usa el register-on-premises-instance comando (ARN de sesión de IAM) para registrar una instancia local.

importante

Asegúrese de tener un plan para rotar las claves de acceso del IAM usuario (credenciales permanentes). Para obtener más información, consulte Rotación de las claves de acceso.

Sigue estas instrucciones para configurar una instancia local y registrarla y etiquetarla CodeDeploy prácticamente por tu cuenta, utilizando credenciales de IAM usuario estáticas para la autenticación.

Paso 1: Crea un IAM usuario para la instancia local

Crea un IAM usuario que la instancia local utilice para autenticarse e interactuar con él. CodeDeploy

importante

Debe crear un IAM usuario independiente para cada instancia local participante. Si intentas reutilizar un IAM usuario individual para varias instancias locales, es posible que no puedas registrar o etiquetar correctamente esas instancias locales. CodeDeploy Las implementaciones en esas instancias on-premises pueden quedarse bloqueadas en un estado pendiente perpetuo o producir errores.

Te recomendamos que asignes al IAM usuario un nombre que identifique su propósito, como CodeDeployUser -. OnPrem

Puede usar la consola AWS CLI o la IAM consola para crear un IAM usuario. Para obtener más información, consulte Crear un IAM usuario en su AWS cuenta.

importante

Ya sea que utilices la IAM consola AWS CLI o la consola para crear un nuevo IAM usuario, anota el usuario ARN proporcionado para el usuario. Necesitará esta información más tarde en Paso 4: Añadir un archivo de configuración a la instancia en las instalaciones y Paso 8: Registra la instancia local en CodeDeploy.

Paso 2: Asigne permisos al IAM usuario

Si su instancia local va a implementar revisiones de aplicaciones desde buckets de Amazon S3, debe asignar al IAM usuario los permisos para interactuar con esos buckets. Puede usar la consola AWS CLI o la IAM consola para asignar permisos.

nota

Si va a implementar las revisiones de las aplicaciones únicamente desde GitHub los repositorios, omita este paso y vaya directamente aPaso 3: Obtenga las credenciales IAM de usuario. (Seguirá necesitando información sobre el IAM usuario en Paso 1: Crea un IAM usuario para la instancia local el que creó. Se usará en pasos posteriores).

Para asignar permisos (CLI)
  1. Crea un archivo con el siguiente contenido de la política en la EC2 instancia o dispositivo de Amazon que utilices para llamar al AWS CLI. Asigne al archivo un nombre como CodeDeploy-OnPrem-Permissions.json y, a continuación, guárdelo.

    { "Version": "2012-10-17", "Statement": [ { "Action": [ "s3:Get*", "s3:List*" ], "Effect": "Allow", "Resource": "*" } ] }
    nota

    Le recomendamos que restrinja esta política únicamente a los buckets de Amazon S3 a los que su instancia en las instalaciones necesite tener acceso. Si restringe esta política, asegúrese de dar acceso también a los buckets de Amazon S3 que contienen el AWS CodeDeploy agente. De lo contrario, podría producirse un error cada vez que el CodeDeploy agente se instale o actualice en la instancia local asociada.

    Por ejemplo:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:Get*", "s3:List*" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket/*", "arn:aws:s3:::aws-codedeploy-us-east-2/*", "arn:aws:s3:::aws-codedeploy-us-east-1/*", "arn:aws:s3:::aws-codedeploy-us-west-1/*", "arn:aws:s3:::aws-codedeploy-us-west-2/*", "arn:aws:s3:::aws-codedeploy-ca-central-1/*", "arn:aws:s3:::aws-codedeploy-eu-west-1/*", "arn:aws:s3:::aws-codedeploy-eu-west-2/*", "arn:aws:s3:::aws-codedeploy-eu-west-3/*", "arn:aws:s3:::aws-codedeploy-eu-central-1/*", "arn:aws:s3:::aws-codedeploy-eu-central-2/*", "arn:aws:s3:::aws-codedeploy-eu-north-1/*", "arn:aws:s3:::aws-codedeploy-eu-south-1/*", "arn:aws:s3:::aws-codedeploy-eu-south-2/*", "arn:aws:s3:::aws-codedeploy-il-central-1/*", "arn:aws:s3:::aws-codedeploy-ap-east-1/*", "arn:aws:s3:::aws-codedeploy-ap-northeast-1/*", "arn:aws:s3:::aws-codedeploy-ap-northeast-2/*", "arn:aws:s3:::aws-codedeploy-ap-northeast-3/*", "arn:aws:s3:::aws-codedeploy-ap-southeast-1/*", "arn:aws:s3:::aws-codedeploy-ap-southeast-2/*", "arn:aws:s3:::aws-codedeploy-ap-southeast-3/*", "arn:aws:s3:::aws-codedeploy-ap-southeast-4/*", "arn:aws:s3:::aws-codedeploy-ap-south-1/*", "arn:aws:s3:::aws-codedeploy-ap-south-2/*", "arn:aws:s3:::aws-codedeploy-me-central-1/*", "arn:aws:s3:::aws-codedeploy-me-south-1/*", "arn:aws:s3:::aws-codedeploy-sa-east-1/*" ] } ] }
  2. Ejecute el put-user-policycomando y especifique el nombre del IAM usuario (con la --user-name opción), el nombre de la política (con la --policy-name opción) y la ruta al documento de política recién creado (con la --policy-document opción). Por ejemplo, suponiendo que el archivo CodeDeploy-OnPrem-Permissions.json está en el mismo directorio (carpeta) desde el que llama a este comando:

    importante

    Asegúrese de incluir file:// antes del nombre de archivo. Es obligatorio en este comando.

    aws iam put-user-policy --user-name CodeDeployUser-OnPrem --policy-name CodeDeploy-OnPrem-Permissions --policy-document file://CodeDeploy-OnPrem-Permissions.json
Para asignar permisos (consola)
  1. Abra la IAM consola en https://console.aws.amazon.com/iam/.

  2. En el panel de navegación, seleccione Policies y, a continuación, seleccione Create Policy. Si aparece el botón Empezar, selecciónelo y, a continuación, seleccione Crear política.

  3. Junto a Create Your Own Policy, seleccione Select.

  4. En el cuadro Policy Name (Nombre de la política), escriba un nombre para esta política (por ejemplo, CodeDeploy-OnPrem-Permissions).

  5. En el cuadro Documento de política, escriba o pegue la siguiente expresión de permisos, que AWS CodeDeploy permite implementar revisiones de aplicaciones desde cualquier bucket de Amazon S3 especificado en la política en la instancia local en nombre del IAM usuario:

    { "Version": "2012-10-17", "Statement": [ { "Action": [ "s3:Get*", "s3:List*" ], "Effect": "Allow", "Resource": "*" } ] }
  6. Elija Crear política.

  7. En el panel de navegación, seleccione Usuarios.

  8. En la lista de usuarios, busque y elija el nombre del IAM usuario en Paso 1: Crea un IAM usuario para la instancia local el que creó.

  9. En la pestaña Permissions, en Managed Policies, seleccione Attach Policy.

  10. Seleccione la política denominada CodeDeploy-OnPrem-Permissions y, a continuación, elija Attach Policy (Asociar política).

Paso 3: Obtenga las credenciales IAM de usuario

Obtenga el ID de la clave secreta y la clave de acceso secreta del IAM usuario. Los necesitará para Paso 4: Añadir un archivo de configuración a la instancia en las instalaciones. Puedes usar la consola AWS CLI o la IAM consola para obtener el identificador de la clave secreta y la clave de acceso secreta.

nota

Si ya tiene el ID de la clave secreta y la clave de acceso secreta, omita este paso y vaya directamente a Paso 4: Añadir un archivo de configuración a la instancia en las instalaciones.

Los usuarios necesitan acceso programático si quieren interactuar con personas AWS ajenas a. AWS Management Console La forma de conceder el acceso programático depende del tipo de usuario que acceda. AWS

Para conceder acceso programático a los usuarios, elija una de las siguientes opciones.

¿Qué usuario necesita acceso programático? Para Mediante

Identidad del personal

(Los usuarios se administran en IAM Identity Center)

Utilice credenciales temporales para firmar las solicitudes programáticas dirigidas al AWS CLI AWS SDKs, o AWS APIs.

Siga las instrucciones de la interfaz que desea utilizar:

IAM Utilice credenciales temporales para firmar las solicitudes programáticas dirigidas al AWS CLI AWS SDKs, o AWS APIs. Siga las instrucciones de Uso de credenciales temporales con AWS recursos de la Guía del IAM usuario.
IAM

(No recomendado)

Utilice credenciales de larga duración para firmar las solicitudes programáticas dirigidas al AWS CLI, AWS SDKs, o AWS APIs.

Siga las instrucciones de la interfaz que desea utilizar:

Para obtener las credenciales (CLI)
  1. Llame al list-access-keyscomando, especifique el nombre del IAM usuario (con la --user-name opción) y solicite solo la clave de acceso IDs (con las --output opciones --query y). Por ejemplo:

    aws iam list-access-keys --user-name CodeDeployUser-OnPrem --query "AccessKeyMetadata[*].AccessKeyId" --output text
  2. Si no aparece ninguna tecla en el resultado o solo aparece información sobre una tecla en el resultado, ejecute el create-access-keycomando y especifique el nombre del IAM usuario (con la --user-name opción):

    aws iam create-access-key --user-name CodeDeployUser-OnPrem

    En la salida de la llamada al comando create-access-key, anote el valor de los campos AccessKeyId y SecretAccessKey. Necesitará esta información en Paso 4: Añadir un archivo de configuración a la instancia en las instalaciones.

    importante

    Esta será la única vez que tendrá acceso a la clave de acceso secreta. Si olvida o pierde el acceso a esta clave de acceso secreta, tendrá que generar una nueva siguiendo los pasos de Paso 3: Obtenga las credenciales IAM de usuario.

  3. Si ya hay dos teclas de acceso en la lista, debe eliminar una de ellas. Para ello, delete-access-keyejecute el comando y especifique el nombre del IAM usuario (con la --user-name opción) y el identificador de la clave de acceso que desee eliminar (con la --access-key-id opción). A continuación, llame al comando create-access-key, como se ha descrito anteriormente en este paso. A continuación se muestra un ejemplo de cómo llamar al comando delete-access-key:

    aws iam delete-access-key --user-name CodeDeployUser-OnPrem --access-key-id access-key-ID
    importante

    Si llamas al delete-access-key comando para eliminar una de estas claves de acceso y una instancia local ya usa esta clave de acceso como se describe enPaso 4: Añadir un archivo de configuración a la instancia en las instalaciones, tendrás que Paso 4: Añadir un archivo de configuración a la instancia en las instalaciones volver a seguir las instrucciones para especificar un ID de clave de acceso diferente y una clave de acceso secreta asociadas a este IAM usuario. De lo contrario, todas las implementaciones de esa instancia on-premises pueden quedarse bloqueadas en un estado pendiente perpetuo o producir errores.

Para obtener las credenciales (consola)
    1. Abre la IAM consola en. https://console.aws.amazon.com/iam/

    2. Si la lista de usuarios no se muestra, en el panel de navegación, elija Users.

    3. En la lista de usuarios, busque y elija el nombre del IAM usuario en el que creóPaso 1: Crea un IAM usuario para la instancia local.

  1. En la pestaña Security credentials, si en la lista no figura ninguna clave o si figura una sola una clave, seleccione Create access key.

    Si se muestran dos claves de acceso, debe eliminar una de ellas. Elija Delete junto a una de las claves de acceso y luego seleccione Create access key.

    importante

    Si seleccionas Eliminar junto a una de estas claves de acceso y una instancia local ya está utilizando esta clave de acceso, tal y como se describe enPaso 4: Añadir un archivo de configuración a la instancia en las instalaciones, tendrás que Paso 4: Añadir un archivo de configuración a la instancia en las instalaciones volver a seguir las instrucciones para especificar un identificador de clave de acceso y una clave de acceso secreta diferentes asociados a este IAM usuario. De lo contrario, las implementaciones de esa instancia on-premises pueden quedarse bloqueadas en un estado pendiente perpetuo o producir errores.

  2. Elija Show y anote el ID de la clave de acceso y la clave de acceso secreta. Necesitará esta información para el siguiente paso. Como alternativa, puede elegir Download .csv file para guardar una copia del ID de la clave de acceso y la clave de acceso secreta.

    importante

    A menos que anote o descargue las credenciales, esta será la única vez que tendrá acceso a la clave de acceso secreta. Si olvida o pierde el acceso a esta clave de acceso secreta, tendrá que generar una nueva siguiendo los pasos de Paso 3: Obtenga las credenciales IAM de usuario.

  3. Seleccione Cerrar para volver a la sección Usuarios > IAM User Namepágina.

Paso 4: Añadir un archivo de configuración a la instancia en las instalaciones

Añada un archivo de configuración a la instancia on-premises, utilizando los permisos raíz o de administrador. Este archivo de configuración se utilizará para declarar las credenciales de IAM usuario y la AWS región de destino para la que se utilizará CodeDeploy. El archivo debe añadirse a una ubicación específica de la instancia on-premises. El archivo debe incluir el identificador de clave secreta del IAM ARN usuario, la clave de acceso secreta y la AWS región de destino. Este archivo debe seguir un formato específico.

  1. Cree un archivo con el nombre codedeploy.onpremises.yml (para un servidor Ubuntu o una instancia RHEL local) o conf.onpremises.yml (para una instancia local de Windows Server) en la siguiente ubicación de la instancia local:

    • Para Ubuntu Server: /etc/codedeploy-agent/conf

    • Para Windows Server: C:\ProgramData\Amazon\CodeDeploy

  2. Utilice un editor de texto para añadir la siguiente información al archivo codedeploy.onpremises.yml o conf.onpremises.yml recién creado:

    --- aws_access_key_id: secret-key-id aws_secret_access_key: secret-access-key iam_user_arn: iam-user-arn region: supported-region

    Donde:

    importante

    Si seleccionas Eliminar junto a una de las claves de acceso y tu instancia local ya usa el ID de clave de acceso y la clave de acceso secreta asociados, tendrás que seguir las instrucciones Paso 4: Añadir un archivo de configuración a la instancia en las instalaciones para especificar un ID de clave de acceso y una clave de acceso secreta diferentes asociadas a este IAM usuario. Paso 3: Obtenga las credenciales IAM de usuario De lo contrario, todas las implementaciones de su instancia on-premises pueden quedarse bloqueadas en un estado pendiente perpetuo o producir errores.

Paso 5: Instale y configure el AWS CLI

Instale y configure AWS CLI la instancia local. (Se AWS CLI usará Paso 7: Instalar el CodeDeploy agente para descargar e instalar el CodeDeploy agente en la instancia local).

  1. Para instalarlo AWS CLI en la instancia local, siga las instrucciones de la Guía del AWS CLIAWS Command Line Interface usuario sobre cómo configurarlo.

    nota

    CodeDeploy los comandos para trabajar con instancias locales estuvieron disponibles en la versión 1.7.19 de. AWS CLI Si AWS CLI ya tienes una versión de la instalada, puedes comprobar su versión llamando a. aws --version

  2. Para configurar AWS CLI la instancia local, sigue las instrucciones de Configuración de la AWS CLI Guía del AWS Command Line Interface usuario.

    importante

    Al configurar AWS CLI (por ejemplo, mediante una llamada al aws configure comando), asegúrese de especificar el ID de clave secreta y la clave de acceso secreta de un IAM usuario que tenga, como mínimo, los siguientes permisos de AWS acceso además de los permisos de acceso especificados en laRequisitos previos para configurar una instancia en las instalaciones. Esto le permite descargar e instalar el CodeDeploy agente en la instancia local:

    { "Version": "2012-10-17", "Statement" : [ { "Effect" : "Allow", "Action" : [ "codedeploy:*" ], "Resource" : "*" }, { "Effect" : "Allow", "Action" : [ "s3:Get*", "s3:List*" ], "Resource" : [ "arn:aws:s3:::aws-codedeploy-us-east-2/*", "arn:aws:s3:::aws-codedeploy-us-east-1/*", "arn:aws:s3:::aws-codedeploy-us-west-1/*", "arn:aws:s3:::aws-codedeploy-us-west-2/*", "arn:aws:s3:::aws-codedeploy-ca-central-1/*", "arn:aws:s3:::aws-codedeploy-eu-west-1/*", "arn:aws:s3:::aws-codedeploy-eu-west-2/*", "arn:aws:s3:::aws-codedeploy-eu-west-3/*", "arn:aws:s3:::aws-codedeploy-eu-central-1/*", "arn:aws:s3:::aws-codedeploy-il-central-1/*", "arn:aws:s3:::aws-codedeploy-ap-east-1/*", "arn:aws:s3:::aws-codedeploy-ap-northeast-1/*", "arn:aws:s3:::aws-codedeploy-ap-northeast-2/*", "arn:aws:s3:::aws-codedeploy-ap-southeast-1/*", "arn:aws:s3:::aws-codedeploy-ap-southeast-2/*", "arn:aws:s3:::aws-codedeploy-ap-southeast-4/*", "arn:aws:s3:::aws-codedeploy-ap-south-1/*", "arn:aws:s3:::aws-codedeploy-sa-east-1/*" ] } ] }

    Estos permisos de acceso se pueden asignar al IAM usuario en el que creó Paso 1: Crea un IAM usuario para la instancia local o a un IAM usuario diferente. Para asignar estos permisos a un IAM usuario, sigue las instrucciones que se indican en Paso 1: Crea un IAM usuario para la instancia local este paso y utiliza estos permisos de acceso en lugar de los que aparecen en ese paso.

Paso 6: Defina la variable de AWS_REGION entorno (RHELsolo en el servidor Ubuntu)

Si no está ejecutando Ubuntu Server o RHEL en una instancia local, omita este paso y vaya directamente aPaso 7: Instalar el CodeDeploy agente .

Instale el CodeDeploy agente en un servidor Ubuntu o en una instancia RHEL local y habilite la instancia para que actualice el CodeDeploy agente cada vez que haya una nueva versión disponible. Para ello, defina la variable de AWS_REGION entorno de la instancia en el identificador de una de las regiones compatibles CodeDeploy. Le recomendamos que establezca el valor en la región en la que se encuentran CodeDeploy las aplicaciones, los grupos de implementación y las revisiones de las aplicaciones (por ejemplo,us-west-2). Para obtener una lista de regiones, consulte Regiones y puntos de conexión en la Referencia general de AWS.

Para establecer la variable de entorno, llame al siguiente comando desde el terminal:

export AWS_REGION=supported-region

Donde supported-region es el identificador de la región (por ejemplo,us-west-2).

Paso 7: Instalar el CodeDeploy agente

Instale el CodeDeploy agente en la instancia local:

Paso 8: Registra la instancia local en CodeDeploy

En las instrucciones de este paso se da por supuesto que va a registrar la instancia on-premises desde la propia instancia on-premises. Puede registrar una instancia local desde un dispositivo o instancia independiente que la tenga AWS CLI instalada y configurada, tal y como se describe en. Paso 5: Instale y configure el AWS CLI

AWS CLI Utilícela para registrar la instancia local con el CodeDeploy fin de utilizarla en las implementaciones.

  1. Para poder usar el AWS CLI, necesitará el usuario ARN del usuario en el IAM que lo creó. Paso 1: Crea un IAM usuario para la instancia local Si aún no tiene el usuarioARN, ejecute el comando get-user, especifique el nombre del IAM usuario (con la --user-name opción) y busque solo el usuario ARN (con las opciones --query y--output):

    aws iam get-user --user-name CodeDeployUser-OnPrem --query "User.Arn" --output text
  2. Ejecute el comando register-on-premises-instance especificando lo siguiente:

    • Un nombre que identifique de manera única la instancia en las instalaciones (con la opción --instance-name).

      importante

      Para ayudarle a identificar la instancia on-premises, especialmente a efectos de depuración, recomendamos encarecidamente que especifique un nombre que se asigne a algunas características exclusivas de la instancia on-premises (por ejemplo, el número de serie o un identificador de recurso interno, si procede). Si especifica una MAC dirección como nombre, tenga en cuenta que MAC las direcciones contienen caracteres CodeDeploy no permitidos, como dos puntos (). : Para obtener una lista de los caracteres permitidos, consulte CodeDeploy cuotas.

    • El usuario ARN del IAM usuario en el que creaste Paso 1: Crea un IAM usuario para la instancia local (con la --iam-user-arn opción).

      Por ejemplo:

      aws deploy register-on-premises-instance --instance-name AssetTag12010298EX --iam-user-arn arn:aws:iam::444455556666:user/CodeDeployUser-OnPrem

Paso 9: Etiquetar la instancia en las instalaciones

Puedes usar la consola AWS CLI o la CodeDeploy consola para etiquetar la instancia local. (CodeDeployusa etiquetas de instancias locales para identificar los objetivos de implementación durante una implementación).

Para etiquetar la instancia local () CLI
  • Llama al comando add-tags-to-on-premises-instances y especifica:

    • El nombre que identifica de manera única la instancia on-premises (con la opción --instance-names).

    • El nombre de la clave de etiqueta y el valor de etiqueta de la instancia on-premises que desea utilizar (con la opción --tags). Debe especificar un nombre y un valor. CodeDeploy no permite etiquetas de instancias locales que solo tengan valores.

      Por ejemplo:

      aws deploy add-tags-to-on-premises-instances --instance-names AssetTag12010298EX --tags Key=Name,Value=CodeDeployDemo-OnPrem
Para etiquetar la instancia on-premises (consola)
  1. Inicia sesión AWS Management Console y abre la CodeDeploy consola en https://console.aws.amazon.com/codedeploy.

    nota

    Inicie sesión con el mismo usuario que configuró en Empezar con CodeDeploy.

  2. En el CodeDeploy menú, selecciona Instancias locales.

  3. En la lista de instancias on-premises, elija la flecha situada junto a la instancia on-premises que desea etiquetar.

  4. En la lista de etiquetas, seleccione o introduzca la clave y el valor que desee para la etiqueta. Cuando introduzca la clave y el valor de la etiqueta, aparecerá otra fila. Puede repetir esta acción para un máximo de 10 etiquetas. Para quitar una etiqueta, elija el icono de eliminación ( The delete icon. ).

  5. Después de añadir las etiquetas, seleccione Update Tags.

Paso 10: Implementar revisiones de aplicaciones en la instancia en las instalaciones

Ahora está listo para implementar revisiones de aplicaciones en la instancia on-premises registrada y etiquetada.

Las revisiones de las aplicaciones se implementan en las instancias locales de forma similar a la implementación de las revisiones de las aplicaciones en las EC2 instancias de Amazon. Para obtener instrucciones, consulte Cree una implementación con CodeDeploy. Estas instrucciones incluyen un enlace a los requisitos previos, incluida la creación de una aplicación, la creación de un grupo de implementaciones y la preparación de la revisión de una aplicación. Si necesita una revisión de una aplicación sencilla para implementar, puede crear la que se describe en Paso 2: Crear una revisión de aplicación de ejemplo en el Tutorial: Implemente una aplicación en una instancia local con CodeDeploy (Windows Server, Ubuntu Server o Red Hat Enterprise Linux).

importante

Si reutilizas un rol de CodeDeploy servicio como parte de la creación de un grupo de despliegue dirigido a instancias locales, debes Tag:get* incluirlo en la Action parte de la declaración de política del rol de servicio. Para obtener más información, consulte Paso 2: Crear un rol de servicio para CodeDeploy.

Paso 11: Hacer un seguimiento de las implementaciones en la instancia en las instalaciones

Después de implementar una revisión de una aplicación en instancias en las instalaciones registradas y etiquetadas, puede hacer un seguimiento del progreso de la implementación.

El seguimiento de las implementaciones en las instancias locales es similar al seguimiento de las implementaciones en las instancias de Amazon. EC2 Para obtener instrucciones, consulte Ver detalles CodeDeploy de la implementación .