こんにちは、初めまして、SBCloudエンジニアのryuです。
皆さんはいつもコンソールでマウスを使って、ポチポチインスタンスを作成すると思いますが、APIを使ってインスタンスを作成することもできます。APIと聞くと難しい!と思われる方もいるかもしれませんが、それほどではありません。今回は、みなさんがよく知っているJAVAを使ってインスタンスを作成してみましたので、ご紹介します。
尚、Alibaba CloudではJAVA以外のSDKにも対応していて、便利に利用できます。
先ず、今回の構成環境について、簡単に説明しましょう。
※今回は、Alibaba Cloudで既に作成したカスタムイメージを使用して、ECSを購入します。
上記画像は今回の流れです。個人のPCに統合開発環境 (IDE) のEclipseとJava SDKを最初に導入して、プロジェクト作成、必須のCoreと関連プロダクト(今回はECS) のJAVA Archiveをダウンロードし、ソースを書いてプログラムを作りましょう。
Core Jar : ダウンロード
ECS Jar : ダウンロード
テストプロジェクトの作成とJarファイルをインポートします。(下記画像の通り)
ソースサンプルは下記の通りです。
import com.aliyuncs.profile.DefaultProfile; import com.aliyuncs.DefaultAcsClient; import com.aliyuncs.IAcsClient; import com.aliyuncs.ecs.model.v20140526.*; class Test { public static void main(String[] args) { // 初期化 DefaultProfile profile = DefaultProfile.getProfile("ap-northeast-1", "<accessKeyId>","<accessSecret>"); //例:リージョンは日本です。アカウントのaccessKeyID/accessSecretを入れてください。 IAcsClient client = new DefaultAcsClient(profile); //コンフィグ設定 CreateInstanceRequest createInstance = new CreateInstanceRequest(); createInstance.setImageId("<ImageID>"); //カスタムイメージIDの指定*1 createInstance.setInstanceType("ecs.n4.small"); //スペックの設定*2 createInstance.setSystemDiskCategory("cloud_efficiency"); //クラウドディスクのタイプ*3 createInstance.setSystemDiskSize(40); //クラウドディスクの容量 createInstance.setVSwitchId("<VswitchID>"); //VswitchのID*4 //createInstance.setInstanceChargeType("PostPaid"); //デフォルトは従量課金,サブスクリプションが利用する場合は”PrePaid”に変更してください。 createInstance.setInstanceName("ryu_javatest"); //ECSに名前をつけ // リクエストの送信 try { CreateInstanceResponse response = client.getAcsResponse(createInstance); }catch (Exception e) { e.printStackTrace(); } } }
実行に成功した場合は下記画像の通りECSが作成されます。
*パブリックIPやEIPを付与する場合は、別のAPIを呼び出す必要があるので、今回は省略します。
*1 カスタムイメージはイメージリストから確認します。
*2 (例として"ecs.n4.small" は1core 2G) 詳細は https://jp.alibabacloud.com/notice/ecs-generation-price?spm=a3c0i.10721930.1996646101.72.5BsxVm 中の表のインスタンスの仕様をご参照ください。
*3 I/Oに最適化されたインスタンスでは、「cloud_ssd」と「cloud_efficiency」ディスクがサポートされています。
*4 VPC中のVSwitchにVSwitch IDが表示されます。(下記画像の通りです)
詳しい情報の関連リンク
JAR:https://develop.aliyun.com/tools/sdk?#/java (中国語ページ)
SDK: https://github.com/aliyun/aliyun-openapi-java-sdk
ECS パラメータ詳細:https://jp.alibabacloud.com/help/doc-detail/25499.htm
今回は、ECSの購入をJAVA APIを使ってやってみましたが、コンソールから
購入する時と比べて、みんなさんはどう思われましたか?大量に購入する時や、自分のプログラムに加えて、より簡単、より素早く、便利そうで、面白かったのではないでしょうか(笑)。みなさんも使ってみて下さいね。