Las Amazon Machine Images (AMIs) vienen preconfiguradas con una lista cada vez mayor de sistemas operativos.
Ejemplo 64.30. Registrar una AMI con EC2
register Cada AMI está asociada a un ID único
proporcionado por el servicio Amazon EC2 mediante la operación RegisterImage.
Durante el registro, Amazon EC2 recupera el manifiesto de imagen especificado
desde Amazon S3 y verifica que la imagen pertenezca al
usuario que la registra.
register devuelve el imageId de la imagen registrada.
$ec2_img = new Zend_Service_Amazon_Ec2_Image('aws_key','aws_secret_key');
$ip = $ec2_img->register('imageLocation');
Ejemplo 64.31. Anular el registro de una AMI con EC2
deregister, anula el registro de una AMI. Una vez anulado el registro,
ya no se pueden lanzar instancias de la AMI.
deregister devuelve un valor booleano TRUE o
FALSE.
$ec2_img = new Zend_Service_Amazon_Ec2_Image('aws_key','aws_secret_key');
$ip = $ec2_img->deregister('imageId');
Ejemplo 64.32. Describir una AMI
describe Devuelve información sobre AMIs, AKIs y
ARIs disponibles para el usuario. La información devuelta incluye el tipo de imagen,
códigos de producto, arquitectura, y los IDs del kernel y del disco RAM. Las imágenes
disponibles para el usuario incluyen imágenes públicas que cualquier usuario
puede lanzar, imágenes privadas propiedad del usuario que hace la solicitud,
e imágenes privadas propiedad de otros usuarios para las que el usuario tiene
permisos de lanzamiento explícitos.
Tabla 64.12. Los permisos de lanzamiento se dividen en tres categorías
| Nombre | Descripción |
|---|---|
public |
El propietario de la AMI concedió permisos
de lanzamiento de la AMI al grupo all.
Todos los usuarios tienen permisos de lanzamiento para estas
|
explicit |
El propietario de la AMI concedió permisos de lanzamiento a un usuario específico. |
implicit |
Un usuario tiene permisos de lanzamiento implícitos para todas las
|
La lista de AMIs devuelta se puede modificar especificando IDs de AMI, propietarios de AMI, o usuarios con permisos de lanzamiento. Si no se especifican opciones, Amazon EC2 devuelve todas las AMIs para las que el usuario tiene permisos de lanzamiento.
Si especifica uno o más IDs de AMI, solo se devuelven las AMIs que tienen los IDs especificados. Si especifica un ID de AMI no válido, se devuelve un error. Si especifica un ID de AMI al que no tiene acceso, no se incluirá en los resultados devueltos.
Si especifica uno o más propietarios de AMI, solo se devuelven las AMIs de los propietarios especificados y a las que tiene acceso. Los resultados pueden incluir los IDs de cuenta de los propietarios especificados, amazon para AMIs propiedad de Amazon o self para AMIs que usted posee.
Si especifica una lista de usuarios ejecutables, solo se devuelven los usuarios que tienen permisos de lanzamiento para las AMIs. Puede especificar IDs de cuenta (si posee las AMI(s)), self para AMIs para las que tiene permisos propios o explícitos, o all para AMIs públicas.
describe devuelve un array con todas las imágenes que coinciden con los criterios
que se pasaron. El array contiene imageId, imageLocation, imageState,
imageOwnerId, isPublic, architecture, imageType, kernelId, ramdiskId y platform.
$ec2_img = new Zend_Service_Amazon_Ec2_Image('aws_key','aws_secret_key');
$ip = $ec2_img->describe();
Ejemplo 64.33. Modificar atributos de imagen
Modifica un atributo de una AMI
Tabla 64.13. Atributos válidos
| Nombre | Descripción |
|---|---|
launchPermission |
Controla quién tiene permiso para lanzar la AMI. Los permisos de lanzamiento se pueden conceder a usuarios específicos añadiendo userIds. Para hacer pública la AMI, añada el grupo all. |
productCodes |
Asocia un código de producto con las |
modifyAttribute devuelve un valor booleano TRUE o
FALSE.
$ec2_img = new Zend_Service_Amazon_Ec2_Image('aws_key','aws_secret_key');
// modify the launchPermission of an AMI
$return = $ec2_img->modifyAttribute('imageId',
'launchPermission',
'add',
'userId',
'userGroup');
// set the product code of the AMI.
$return = $ec2_img->modifyAttribute('imageId',
'productCodes',
'add',
null,
null,
'productCode');
Ejemplo 64.34. Restablecer un atributo de AMI
resetAttribute restablecerá el atributo de una AMI a
su valor predeterminado. El atributo productCodes no se puede restablecer.
$ec2_img = new Zend_Service_Amazon_Ec2_Image('aws_key','aws_secret_key');
$return = $ec2_img->resetAttribute('imageId', 'launchPermission');
Ejemplo 64.35. Describir atributo de AMI
describeAttribute devuelve información sobre un atributo de una
AMI. Solo se puede especificar un atributo por llamada. Actualmente solo
se admiten launchPermission y productCodes.
describeAttribute devuelve un array con el valor del atributo
que se solicitó.
$ec2_img = new Zend_Service_Amazon_Ec2_Image('aws_key','aws_secret_key');
$return = $ec2_img->describeAttribute('imageId', 'launchPermission');