Amazon EC2の機能を詳しく見てみる(1)--インスタンス・WebサービスAPI

小田逸郎(VA Linux Systems Japan)
2009-05-18 14:53:01
  • このエントリーをはてなブックマークに追加

Amazon EC2のAPI一覧

 Amazon EC2で Webサービスとして提供されているAPIの一覧を以下に示します。機能分類ごとに整理してあります。個々の詳細は説明しませんが、どんな機能が用意されているのか雰囲気をつかむことはできるでしょう。Amazon EC2互換というからには、これらの機能をサポートする必要があります。


・AMI

RegisterImage AMIの登録
DescribeImage AMIの表示
DeregisterImage AMIの登録削除
ModifyImageAttribute AMIの属性の変更
DescribeImageAttribute AMIの属性の取得
ResetImageAttribute AMIの属性をデフォルトに戻す

・インスタンス

RunInstances インスタンスの起動
DescribeInstances インスタンスの状態表示
TerminateInstances インスタンスの停止
ConfirmProductInstance プロダクトコードがアタッチされているかの確認
RebootInstances インスタンスのリブート

・キーペア

CreateKeyPair キーペアの作成
DescribeKeyPairs キーペアの情報表示
DeleteKeyPair キーペアの削除

・セキュリティグループ

CreateSecurityGroup セキュリティグループの作成
DescribeSecurityGroups セキュリティグループの情報表示
DeleteSecurityGroup セキュリティグループの削除
AuthorizeSecurityGroupIngress アクセス権の付与
RevokeSecurityGroupIngress アクセス権の拒絶

・Elastic IP Adress

AllocateAddress Elastic IP Addressの獲得
DescribeAddresses Elastic IP Addressの表示
ReleaseAddress Elastic IP Addressの返却
AssociateAddress Elastic IP Addressをインスタンスに割り当てる
DisassociateAddress Elastic IP Addressの切り離し

・ゾーン、リージョン

DescribeAvailabilityZones Availability Zoneの表示
DescribeRegions リージョンの表示

・EBS

CreateVolume ボリュームの作成
DescribeVolumes ボリュームの情報表示
DeleteVolume ボリュームの削除
AttachVolume ボリュームをインスタンスに割り当てる
DetachVolume ボリュームのデタッチ
CreateSnapshot スナップショットの作成
DescribeSnapshots スナップショットの情報表示
DeleteSnapshot スナップショットの削除

・Windowsインスタンスのバンドル

BundleInstance Windowsインスタンスのバンドル(非同期のタスクを起動)
CancelBundleTask バンドルタスクのキャンセル
DescribeBundleTasks バンドルタスクの表示

・その他

GetConsoleOutput インスタンスのコンソール出力の取得

 APIには、「SOAP API」と「Query API」の2種類が用意されています。これらは、要求の出し方が異なるだけであり、サーバ側で提供する機能や応答の形式は同一です。SOAP APIでは、httpsを使用し、Query APIは、httpsとhttpのどちらも使用できます。

 SOAP APIのWSDLは、下記のリンクにあります。

 「SOAP APIのWSDL(AmazonEC2.wsdl)

 Query APIは、要求のパラメタをURLにエンコードする方式です。例えば、以下のような感じです。

https://ec2.amazonaws.com/?Action=DescribeImages&ImageId.1=ami-2bb65342&Version=2008-12-01&Expires=2008-02-10T12%3A00%3A00Z&Signature=....&SignatureVersion=2&SignatureMethod=HmacSHA256&AWSAccessKeyId=....

 AWSでは、以下の2種類の認証方法が使われています。

  • アクセスキーIDと秘密アクセスキー
  • X.509認証

 AWSを使用したことがある方は、どちらもウェブの画面から登録されたはずです。

 SOAP APIでは、X.509証明書を使用して、BinarySecurityToken profileによる認証が行われます。Query APIでは、秘密アクセスキーを使用しており、URLエンコードした内容を秘密アクセスキーを用いて計算した値を「Signature」パラメタに指定しています。

 Amazon EC2を使用するためのコマンドツールが用意されています。本稿では、そのコマンドツールを使用して実行例を示しています。その他にも、いろいろなツールやライブラリが提供されています。それらは、Amazon EC2のウェブページから、「Resources」→「Sample Code & Libraries」または「Developer Tools」とたどっていくと得られます。

 実際のところ、シグネチャの計算方法などは、Developer Guideにも載ってはいますが、ライブラリのコードを参照する方が確実です。ライブラリについては、主要な言語についてはほとんどそろっているので、お好きな言語のものをご参照ください。

 Amazon EC2互換にすることの利点のひとつとして、これらツールやライブラリがそのまま使用できるということがあります。ただし、用意されているのはクライアント側のものですので、サーバ側のシステムは自分で実装する必要があります。ただし、その際もクライアント側のコードは参考になります。

 次回は、Amazon EC2のネットワーク環境について見ていきましょう。

筆者紹介

VA Linux Systems Japan 高橋浩和・小田逸郎・箕浦真(MAIL
各種OS、仮想化、Linux Kernelおよびオープンソースにおける高度な技術と経験を基盤とした、技術コンサルティング、開発、インテグレーションとソフトウェアソリューションを提供。VA Linuxは、2000年9月に設立され、Linux Kernelや仮想化に関するグローバルレベルの技術力をベースにLinuxおよびオープンソース業界を牽引する中核企業として成長を続けている。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]