amazon-web-services - tipos - tipo de instancia amazon
¿Cómo selecciona una instancia de Amazon EC2 su kernel? (6)
En mi experiencia con OpenSolaris AMIs, esto no es posible. La herramienta de actualización de imágenes pkg también está desactivada en el entorno EC2 para evitar esto de forma precisa. El razonamiento podría ser que cada imagen está asociada con un ramdisk y kernel específicos (aki y ari). Y no pueden actualizarse a otros nuevos. Creo que esto también se aplica a otros AMI, como se observó en su caso.
Tengo una instancia de Amazon EC2 que utiliza Fedora 8 AMI de 64 bits suministrado por Amazon, que me gustaría actualizar a Fedora 10.
Intenté hacer esto ejecutando "yum update" para actualizar el kernel y todos los paquetes. Esto pareció funcionar bien y veo que ahora tengo instalado el kernel fc10, y todos mis paquetes instalados también se han actualizado a las versiones de Fedora 10.
Sin embargo, también noté que el kernel fc8 todavía está instalado, y cuando reinicio mi imagen, vuelve ejecutando el kernel fc8, no el kernel fc10 (lo deduzco del resultado de "uname -a").
¿Hay algún paso adicional que deba realizar para que mi imagen arranque con el kernel fc10, o esto es posible? La documentación de Amazon no encontró nada útil para mí.
Parece que no puedes. Este chico lo intentó, pero aún no lo logró.
http://developer.amazonwebservices.com/connect/thread.jspa?messageID=72964#72964
Probablemente su mejor opción sea crear su propio AMI; el kernel que obtienes cuando cargas un AMI es cualquiera que sea el kernel que se estaba ejecutando cuando se creó el AMI.
Técnicamente, al menos hasta hace poco, no podías seleccionar un kernel. Solo puede seleccionar qué módulos puede empaquetar en la imagen. Amazon conserva el control total sobre el kernel. Esto probablemente sea necesario porque la virtualización de Xen tiene que interactuar con el núcleo de alguna manera especial.
En actualizaciones recientes (hace varios meses, la última vez que lo comprobé), Amazon extendió algunas de sus API y herramientas para permitirle seleccionar uno de los pocos kernels que proporcionan. Por ejemplo, puede elegir entre 2.6.16 y 2.6.18.
Parecía que eventualmente podría haber soporte para construir su propia "imagen del núcleo", pero las herramientas necesarias para esto no estaban completas. Supongo que ellos (Amazon) proporcionaron esta capacidad solo a socios especiales, ya que vi surgir varias imágenes de terceros que tenían imágenes del kernel asociadas especiales.
No puede cargar su propia imagen del kernel a EC2 / Amazon. Solo los usuarios autorizados pueden cargar imágenes del kernel. Incluso cuando carga su propia imagen de sistema operativo Linux y arranca desde EC2, se carga un kernel predeterminado que no es el mismo que el que cargó inicialmente. Esta es una decisión política tomada por Amazon. Lo máximo que puede hacer es cambiar la versión predeterminada del kernel seleccionando de una lista de kernels amazon predeterminados y disponibles que desea que su instancia arranque.
Sin embargo, puede construir sus propios módulos del kernel o reconstruir los del kernel que se carga. La compilación de su propio módulo o la recompilación de los módulos proporcionados por el kernel que se está cargando es un poco complicado ya que el kernel en Amazon es uno modificado con el hipervisor Xen. Necesitas encontrar el código fuente específico del kernel que se carga en tu instancia.
Aclamaciones
Ernesto Benedito
Puede crear su propio AMI pero necesita usar los kernels suministrados por Amazon. Lo más nuevo que proporcionan es 2.6.21. Tengo una lista de kernels fc (Fedora Core) que uso para las instancias de CentOS. Estoy bastante seguro de que funcionan bien con Ubuntu también.
Querrá hornearlos en tu AMI cuando lo registres usando ec2-register. Se pueden cambiar en el momento de iniciar una instancia, pero me gusta tener el AKI (kernel) y ARI (ramdisk) adecuados para empezar. También es útil agregar soporte para los discos efímeros. Estás pagando por el almacenamiento adicional con instancias más grandes, también podrías usarlo. Mi encantamiento mágico para ec2-register:
ec2-register --snapshot snap-12345678 -K pk-XXXXXXXXXXX.pem -C cert-XXXXXXXXXXX.pem /
--description "EBS CentOS 5.5 i386" --name "base-image-i386-4" --architecture i386 /
--root-device-name /dev/sda1 -b /dev/sdb=ephemeral0 -b /dev/sdc=ephemeral1 /
-b /dev/sdd=ephemeral2 -b /dev/sde=ephemeral3 --region us-east-1 /
--kernel aki-6eaa4907 --ramdisk ari-e7dc3c8e
Puede cambiar la región, la identificación de la instantánea, la descripción, el nombre, el arco, etc.
Recuerde también que los kernels y ramdisks son específicos de cada región. No recuerdo de dónde saqué esta lista, pero tuve problemas para encontrarla. Espero que ayude a alguien a salir.
2.6.21 kernels están disponibles como:
Región de los Estados Unidos:
32 bits:
* aki-6eaa4907
* ari-e7dc3c8e
* ami-48aa4921
64 bits:
* aki-a3d737ca
* ari-4fdf3f26
* ami-f61dfd9f
Región de la UE:
32 bits:
* aki-02486376
* ari-aa6348de
* ami-0a48637e
64 bits:
* aki-f2634886
* ari-a06348d4
* ami-927a51e6
Región AP:
64 bits:
* aki-07f58a55
* ari-27f58a75
* ami-ddf58a8f
32 bits
* aki-01f58a53
* ari-25f58a77
* ami-c3f58a91