Zend_Service_Amazon_Ec2: Amazon Maschinen Images (AMI)
Amazon Maschinen Images (AMIs) sind mit einer bereits wachsenden Listen von
Betriebssystemen vorkonfiguriert.
AMI Informations Tools
Ein AMI mit EC2 registrieren
register Jedes AMI ist mit einer eideutigen ID assoziiert welche
vom Amazon EC2 Service über die RegisterImage Operation zur Verfügung gestellt
wird. Wärend der Registrierung empfängt Amazon EC2 das spezifizierte Manifest des
Images von Amazon S3 und überprüft das das Image dem Benutzer gehört der das Image
registriert.
register gibt die imageId für das registrierte Image zurück.
register('imageLocation');
]]>
De-Registrieren einer AMI von EC2
deregister, de-registriert ein AMI. Einmal de-registriert können
Instanzen dieses AMI nicht mehr gestartet werden.
deregister gibt ein boolsches true oder false zurück.
deregister('imageId');
]]>
Beschreiben einer AMI
describe gibt Informationen über AMIs, AKIs und ARIs zurück die für
den Benutzer verfügbar sind. Die zurückgegebenen Informationen enthalten den
Imagetyp, Produktcodes, Architektur, Kernel und RAM Disk ISs. Images die für den
Benutzer verfügbar sind, enthalten öffentliche Images die zum Starten für jeden
Benutzer vorhanden sind, private Images die dem Benutzer gehören der die Anfrage
stellt, und private Images die anderen Benutzern gehören welche dem Benutzer
explizit die Rechte zum Starten gegeben haben.
Die Rechte für das Starten fallen in drei Kategorien
Name
Beschreibung
public
Der Eigentümer des AMI gibt allen Gruppen das Recht das AMI zu
starten. Alle Benutzer haben Startberechtigung für diese AMIs.
explicit
Der Eigentümer des AMI gibt einem spezifischen Benutzer die
Startberechtigung.
implicit
Ein Benutzer hat implizit die Startberechtigung für alle AMIs die
Ihm gehören.
Die Liste der zurückgegebenen AMIs kann durch die Spezifikation von AMI IDs, AMI
Eigentümer oder Benutzern mit Starterechtigung, geändert werden. Wenn keine
Option spezifiziert wird, gibt Amazon EC2 alle AMIs zurück für die der Benutzer
eine Startberechtigung hat.
Wenn eine oder mehrere AMI IDs spezifiziert werden, werden nur die AMIs
zurückgegeben die die spezifizierten IDs besitzen. Wenn man eine ungültige AMI ID
spezifiziert, wird ein Fehler zurückgegeben. Wenn man eine AMI ID spezifiziert
für die man keinen Zugriff hat, wird diese nicht in den zurückgegebenen Ergebnissen
enthalten sein.
Wenn ein oder mehrere AMI Eigentümer spezifiziert werden, werden nur die AMIs der
spezifizierten Eigentümer, für die man auch Zugriffsrechte hat, zurückgegeben.
Die Ergebnisse können account für die Account IDs des spezifizierten Eigentümers
enthalten, amazon für AMIs die Amazon selbst gehören oder self für AMIs die man
selbst besitzt.
Wenn man eine Liste von ausführbaren Benutzern spezifiziert, werden nur die
Benutzer zurückgegeben die eine Startberechtigung für die AMIs haben. Man kann
mit account, Account IDs spezifizieren (wenn man die AMIs besitzt), self für AMIs
die man selbst besitzt oder explizite Zugriffsrechte hat, oder all für öffentliche
AMIs.
describe gibt ein Array für alle Images zurück die den übergebenen
Kriterien entsprechen. Das Array enthält imageId, imageLocation, imageState,
imageOwnerId, isPublic, architecture, imageType, kernedId, ramdiskId und platform.
describe();
]]>
Utilities für AMI Attribute
Image Attribute verändern
Ein Attribut eines AMI verändern
Gültige Attribute
Name
Beschreibung
launchPermission
Kontrolliert wer die Berechtigung hat das AMI zu starten.
Startberechtigung kann spezifischen Benutzern durch das
hinzufügen von userIds gegeben werden.
Um das AMI öffentlich zu machen, sollte man die
add Gruppe hinzufügen.
productCodes
Assoziiert einen Produktcode mit AMIs. Das erlaubt es Entwicklern
Benutzer für die Verwendung von AMIs zu benennen. Der Benutzer
muß für das Produkt angemeldet sein bevor er das AMI starten kann.
Das ist ein Write-Once Attribut; nachdem es gesetzt wurde
kann es nicht mehr geändert oder gelöscht werden.
modifyAttribute gibt ein boolsches true oder false zurück.
modifyAttribute('imageId',
'launchPermission',
'add',
'userId',
'userGroup');
// Setzt den Produktcode des AMI.
$return = $ec2_img->modifyAttribute('imageId',
'productCodes',
'add',
null,
null,
'productCode');
]]>
Resetieren eines AMI Attributes
resetAttribute resetiert die Attribute eines AMI zu dessen
Standardwerten.
Das productCodes Attribut kann nicht resetiert werden.
resetAttribute('imageId', 'launchPermission');
]]>
AMI Attribute beschreiben
describeAttribute gibt Informationen über ein Attribut eines AMI
zurück. Pro Aufruf kann nur ein Attribut spezifiziert werden. Aktuell werden
nur launchPermission und productCodes unterstützt.
describeAttribute gibt ein Array mit dem Wert des Attributes zurück
das angefragt wurde.
describeAttribute('imageId', 'launchPermission');
]]>