Rol vinculado al servicio para solicitudes de instancias de spot
Amazon EC2 utiliza roles vinculados a un servicio para los permisos que necesita para llamar a otros servicios de AWS en su nombre. Un rol vinculado a un servicio es un tipo único de rol de IAM que está vinculado directamente a un Servicio de AWS. Los roles vinculados a servicios ofrecen una manera segura de delegar permisos a Servicios de AWS, ya que solo los servicios vinculados pueden asumir roles vinculados a servicios. Para obtener más información, consulte Roles vinculados al servicio en la Guía del usuario de IAM.
Amazon EC2 usa el rol vinculado a un servicio denominado AWSServiceRoleForEC2Spot para iniciar y administrar instancias de spot en su nombre.
Permisos concedidos por AWSServiceRoleForEC2Spot
Amazon EC2 usa AWSServiceRoleForEC2Spot para ejecutar las acciones siguientes:
-
ec2:DescribeInstances
: describir instancias de spot -
ec2:StopInstances
: detener instancias de spot -
ec2:StartInstances
: iniciar instancias de spot
Creación del rol vinculado a servicio
En la mayoría de los casos, no es necesario crear manualmente roles vinculados a servicios. Amazon EC2 crea el rol vinculado a un servicio AWSServiceRoleForEC2Spot la primera vez que se solicita una instancia de spot mediante la consola.
Si tenía una solicitud de instancia de spot activa antes de octubre de 2017, cuando Amazon EC2 empezó a admitir este rol vinculado a servicio, Amazon EC2 creó el rol AWSServiceRoleForEC2Spot en su cuenta de AWS. Para obtener más información, consulte Un nuevo rol ha aparecido en mi cuenta en la Guía del usuario de IAM
Si utiliza la AWS CLI o una API para realizar una solicitud de instancias de spot, debe asegurarse de que este rol exista.
Cómo crear AWSServiceRoleForEC2Spot mediante la consola
Abra la consola de IAM en https://console.aws.amazon.com/iam/
. -
Seleccione Roles en el panel de navegación.
-
Elija Create role.
-
En la página Seleccionar el tipo de entidad de confianza, elija EC2, EC2: instancias de spot y Siguiente: Permisos.
-
En la siguiente página, elija Next:Review (Siguiente: Revisión).
-
En la página Review (Revisión), elija Create role (Crear rol).
Cómo crear AWSServiceRoleForEC2Spot con la AWS CLI
Utilice el comando create-service-linked-role de la siguiente manera.
aws iam create-service-linked-role --aws-service-name spot.amazonaws.com
Si ya no tiene que utilizar instancias de spot, le recomendamos que elimine el rol AWSServiceRoleForEC2Spot. Después de eliminar este rol de la cuenta, Amazon EC2 volverá a crearlo cuando solicite instancias de spot.
Conceder acceso a las claves administradas por el cliente para su uso con AMI cifradas e instantáneas de EBS
Si especifica una AMI cifrada o una instantánea de Amazon EBS cifrada en sus instancias de spot y usa una clave administrada por el cliente para el cifrado, debe conceder permiso al rol AWSServiceRoleForEC2Spot para que use esa clave a fin de que Amazon EC2 pueda iniciar instancias de spot en su nombre. Para ello, debe agregar una concesión a la clave administrada por el cliente, como se muestra en el siguiente procedimiento.
Al proporcionar permisos, las concesiones son una alternativa a las políticas de claves. Para obtener más información, consulte Uso de concesiones y Uso de políticas de claves en AWS KMS en la Guía para desarrolladores de AWS Key Management Service.
Para conceder permisos al rol AWSServiceRoleForEC2Spot a fin de que utilice la clave administrada por el cliente
-
Use el comando create-grant para agregar una concesión a la clave administrada por el cliente y para especificar la entidad principal (el rol vinculado a un servicio AWSServiceRoleForEC2Fleet) que recibe permiso para realizar las operaciones que permite la concesión. La clave administrada por el cliente se especifica mediante el parámetro
key-id
y el ARN de la clave administrada por el cliente. La entidad principal se especifica con el parámetrograntee-principal
y el ARN del rol vinculado a un servicio AWSServiceRoleForEC2Spot.aws kms create-grant \ --region
us-east-1
\ --key-id arn:aws:kms:us-east-1
:444455556666
:key/1234abcd-12ab-34cd-56ef-1234567890ab
\ --grantee-principal arn:aws:iam::111122223333
:role/aws-service-role/spot.amazonaws.com/AWSServiceRoleForEC2Spot \ --operations "Decrypt" "Encrypt" "GenerateDataKey" "GenerateDataKeyWithoutPlaintext" "CreateGrant" "DescribeKey" "ReEncryptFrom" "ReEncryptTo"