JAVA SDKを使ってインスタンスを作成しませんか

こんにちは、初めまして、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を使ってやってみましたが、コンソールから

購入する時と比べて、みんなさんはどう思われましたか?大量に購入する時や、自分のプログラムに加えて、より簡単、より素早く、便利そうで、面白かったのではないでしょうか(笑)。みなさんも使ってみて下さいね。

この記事をシェアする