Asignaciones de dispositivos de bloques para volúmenes en instancias de Amazon EC2 - Amazon Elastic Compute Cloud

Asignaciones de dispositivos de bloques para volúmenes en instancias de Amazon EC2

Cada instancia que lance tiene un volumen de dispositivo raíz asociado, que puede ser un volumen de Amazon EBS o un volumen de almacén de instancias. Puede utilizar la asignación de dispositivos de bloques para especificar los volúmenes de EBS adicionales o volúmenes de almacén de instancias para adjuntar a una instancia a la hora de iniciarla. También se pueden asociar volúmenes de EBS adicionales a una instancia en ejecución. Sin embargo, la única forma de adjuntar volúmenes de almacén de instancias a una instancia es utilizar la asignación de dispositivos de bloques para adjuntarlos a los volúmenes al iniciar dicha instancia.

Conceptos sobre la asignación de dispositivos de bloques

Un dispositivo de bloques es un dispositivo de almacenamiento que traslada los datos en secuencias bytes o bits (bloques). Estos dispositivos admiten el acceso aleatorio y, por lo general, usan E/S en búfer. Entre los ejemplos de este tipo de dispositivos se incluyen los discos duros, las unidades de CD-ROM y las memorias flash. Un dispositivo de bloques se puede conectar físicamente a un equipo o bien se puede obtener acceso a él de forma remota como si estuviera conectado físicamente al equipo.

Amazon EC2 admite dos tipos de dispositivo de bloques:

  • Volúmenes de almacén de instancias (dispositivos virtuales cuyo hardware subyacente está conectado físicamente al equipo host de la instancia)

  • Volúmenes de EBS (dispositivos de almacenamiento remoto)

Una asignación de dispositivos de bloques define los dispositivos de bloques (volúmenes de almacén de instancias y volúmenes de EBS) que se deben asociar a la instancia. Puede especificar una asignación de dispositivos de bloques como parte la creación de una AMI para que el mapeo sea utilizado por todas las instancias que se lancen desde la AMI. También puede especificar una asignación de dispositivos de bloques cuando se inicia una instancia, de forma que este mapeo anula al especificado en la AMI desde la que se lanzó la instancia. Tenga en cuenta que todos los volúmenes de almacenes de instancias NVMe admitidos por un tipo de instancia se enumeran automáticamente y se les asigna un nombre de dispositivo al iniciar la instancia; su inclusión en la asignación de dispositivos de bloques no tiene ningún efecto.

Entradas de asignación de dispositivos de bloques

Cuando crea una asignación de dispositivos de bloques, se especifica la siguiente información para cada dispositivo de bloques que necesita adjuntar a la instancia:

Para volúmenes de almacén de instancias, también se especifica la siguiente información:

  • El dispositivo virtual: ephemeral[0-23]. Tenga en cuenta que el número y el tamaño de los volúmenes de almacén de instancias disponibles para la instancia varía según el tipo de instancia.

Para volúmenes de almacenamiento de instancias NVMe, también se aplica la siguiente información:

  • Estos volúmenes se enumeran automáticamente y se les asigna un nombre de dispositivo; su inclusión en la asignación de dispositivos de bloques no tiene ningún efecto.

Para los volúmenes de EBS, también debe especificar la siguiente información:

  • El ID de la instantánea que se utiliza para crear el dispositivo de bloques (snap-xxxxxxxx). Este valor es opcional siempre que especifique un tamaño de volumen. No se puede especificar el ID de una instantánea archivada.

  • El tamaño del volumen, en GiB. El tamaño especificado debe ser superior o igual al tamaño de la instantánea especificada.

  • Si se elimina el volumen de la terminación de instancias (true o false). El valor predeterminado es true para el volumen de dispositivo raíz y false para volúmenes adjuntos. Al crear una AMI, su asignación de dispositivos de bloques hereda esta configuración de la instancia. Al iniciar una instancia, hereda esta configuración de la AMI.

  • El tipo de volumen, que puede ser gp2 y gp3 para los SSD de uso general, io1 e io2 para los SSD de IOPS aprovisionadas, st1 para los HDD con rendimiento optimizado, sc1 para los HDD en frío o standard para los magnéticos.

  • El número de operaciones de entrada/salida por segundo (IOPS) que admite el volumen. (Se utiliza solo con volúmenes io1 e io2).

Advertencias del almacén de instancias de la asignación de dispositivos de bloques

Existen varias salvedades que se deben tener en cuenta a la hora de iniciar instancias con AMIs que tienen volúmenes de almacén de instancias en sus mapeos de dispositivos de bloques.

  • Algunos tipos de instancia incluyen más volúmenes de almacén de instancias que otros, mientras que algunos tipos de instancia no contienen ninguno. Si su tipo de instancia admite un volumen de almacén de instancias y la AMI tiene mapeos para dos volúmenes de almacén de instancias, la instancia se inicia con uno solo.

  • Los volúmenes de almacén de instancias solo se pueden mapear durante la inicialización. No puede parar una instancia sin volúmenes de almacén de instancias (como t2.micro), cambie la instancia a un tipo que admita volúmenes de almacén de instancias y, a continuación, reinicie la instancia con volúmenes de almacén de instancias. Sin embargo, puede crear una AMI desde la instancia y iniciarla en un tipo de instancia que admita volúmenes de almacén de instancias y, a continuación, mapear dichos volúmenes de almacén de instancias en la instancia.

  • Si inicia una instancia con volúmenes de almacén de instancias mapeados y, a continuación, para la instancia, la cambia por un tipo de instancia con menos volúmenes de almacén de instancias y, a continuación, la reinicia, los mapeos de los volúmenes de almacén de instancias de la inicialización inicial seguirán mostrándose en los metadatos de la instancia. Sin embargo, solo estará disponible para la instancia el número máximo de volúmenes de almacén de instancias admitido para ese tipo de instancia.

    nota

    Cuando se para una instancia, se pierden todos los datos de los volúmenes de almacén de instancias.

  • Dependiendo de la capacidad del almacén de instancias en el momento de la inicialización, las instancias M3 podrían omitir los mapeos de dispositivos de bloques del almacén de instancias de la AMI durante la inicialización, salvo que se especifiquen en se momento. Debe especificar las asignaciones de dispositivos de bloques del almacén de instancias en el momento de la inicialización, incluso si la AMI que va a iniciar tiene los volúmenes de almacén de instancias mapeados en la AMI, para garantizar que los volúmenes de almacén de instancias estén disponibles cuando se lance la instancia.

Ejemplos de asignación de dispositivos de bloques

Esta figura muestra un ejemplo de asignación de dispositivos de bloques para una instancia respaldada por EBS. Mapea /dev/sdb en ephemeral0 y mapea dos volúmenes de EBS, un en /dev/sdh y el otro en /dev/sdj. También muestra el volumen de EBS que es el volumen de dispositivo raíz, /dev/sda1.

Relación entre instancia, volúmenes de almacén de instancias y volúmenes de EBS.

Tenga en cuenta que este ejemplo de asignación de dispositivos de bloques se utiliza en los comandos y API de muestra de este tema. Puede encontrar comandos y API de muestra que crean asignaciones de dispositivos de bloques en Especificar una asignación de dispositivos de bloques para una AMI y Actualizar la asignación de dispositivos de bloques al iniciar una instancia.

Disponibilidad de los dispositivos en el sistema operativo

Amazon EC2 utiliza nombres como /dev/sdh y xvdh para describir dispositivos de bloques. Amazon EC2 utiliza la asignación de dispositivos de bloques para especificar los dispositivos de bloques que se deben adjuntar a una instancia de EC2. Cuando un dispositivo de bloques se adjunta a una instancia, debe ser montado por el sistema operativo antes de que se pueda obtener acceso al dispositivo de almacenamiento. Cuando un dispositivo de bloques se separa de una instancia, es desmontado por el sistema operativo y ya no se puede obtener acceso al dispositivo de almacenamiento.

Instancias de Linux: los nombres de dispositivo especificados en la asignación de dispositivos de bloques se mapean en sus dispositivos de bloques correspondientes al arrancar la instancia por primera vez. El tipo de instancia determina qué volúmenes de almacén de instancias se formatean y montan de forma predeterminada. Puede montar volúmenes de almacén de instancias adicionales durante la inicialización siempre que no se supere el número de volúmenes de almacén de instancias disponibles para el tipo de instancia. Para obtener más información, consulte Almacenamiento de nivel de bloques temporal del almacén de instancias para las instancias de EC2. El controlador del dispositivo de bloques de la instancia determina qué dispositivos se utilizan al formatear y montar los volúmenes.

Instancias de Windows: los nombres de dispositivo especificados en la asignación de dispositivos de bloques se mapean en sus dispositivos de bloques correspondientes al arrancar la instancia por primera vez y, a continuación, el servicio Ec2Config inicializa y monta las unidades. El volumen del dispositivo raíz se monta como C:\. Los volúmenes de almacén de instancias se montan como Z:\, Y:\ y así sucesivamente. El volumen de EBS se puede montar en cualquier letra de unidad. Sin embargo, puede configurar la asignación de letras de unidad para volúmenes de EBS. Si desea obtener más información, consulte Agentes de inicialización en instancias de Windows de Amazon EC2.