Cloud Toolkitでローカルで開発されたJavaアプリケーションをAlibaba Cloud ECSインスタンスにデプロイ

このチュートリアルでは、ローカルで開発された**Java**アプリケーションをCloud Toolkitを使用して**Alibaba Cloud ECSインスタンス**にデプロイする方法を説明します。

*本ブログは英語版からの翻訳です。オリジナルは[こちら](https://www.alibabacloud.com/blog/deploying-a-java-application-to-an-ecs-instance-in-eclipse_594770)からご確認いただけます。一部機械翻訳を使用しております。翻訳の間違いがありましたら、ご指摘いただけると幸いです。*

クラウドコンピューティング技術の急速な発展に伴い、Alibaba Cloud [Elastic Compute Service](https://www.alibabacloud.com/ja/product/ecs) (ECS) インスタンスにアプリケーションをデプロイする開発者が増えています。このチュートリアルでは、ローカルで開発したJavaアプリケーションを[Cloud Toolkit](https://www.aliyun.com/product/cloudtoolkit_en?spm=a2c65.11461447.0.0.5c512950XiQYjf)を使用してAlibaba Cloud ECSインスタンスにデプロイする方法を説明します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/647921/c39f98ed-8681-d179-69fb-15d794ce38f4.png)

#ローカルでアプリケーションを開発する
クラウド上で動作するJavaアプリケーションをコンパイルしても、ローカルで動作するJavaアプリケーションをコンパイルしても、コーディング方法は同じです。そこで本記事では、Webページに「Hello World」を印刷するためのJavaサーブレットを例に、デプロイ方法を説明します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/647921/a7667f2c-d7c1-5d64-3057-2c19a82a6926.png)

```
public class IndexServlet extends HttpServlet {
    private static final long serialVersionUID = -112210702214857712L;

    @Override
    public void doGet( HttpServletRequest req, HttpServletResponse resp ) throws ServletException, IOException {
        PrintWriter writer = resp.getWriter();
        // Demo: Use Alibaba Cloud Toolkit to modify the code of a local application and deploy the application to the cloud.
        writer.write("Deploy from alibaba cloud toolkit. 2018-10-24");
        return;
    }
    @Override
    protected void doPost( HttpServletRequest req, HttpServletResponse resp ) throws ServletException, IOException {
        return;
    }}

```

[このリンク](https://alicloud-common.oss-ap-southeast-1.aliyuncs.com/Cloud_Toolkit_Blog/IndexSer...%5B%E9%93%B6%E6%97%B6%5D.1540514368.zip?spm=a2c65.11461447.0.0.5c512950XiQYjf&file=IndexSer...%5B%E9%93%B6%E6%97%B6%5D.1540514368.zip)からソースコードをダウンロードできます。

前述のコードは、Webページに "Hello World "という文字列を表示するための標準的なJavaプロジェクトです。

#プラグインのインストール
Alibaba Cloudは、開発者がローカルIDEで書かれたアプリケーションをECSインスタンスに効率的にデプロイできるようにするEclipseベースのプラグインを提供しています。

プラグインのURL: [https://www.aliyun.com/product/cloudtoolkit_en](https://www.aliyun.com/product/cloudtoolkit_en?spm=a2c65.11461447.0.0.5c512950XiQYjf)

このEclipseベースのプラグインのインストール手順は、一般的なプラグインと似ているため、ここでは詳細を説明しません。

#プラグインの環境設定
プラグインをインストールしたら、選択して環境設定を行います。

トップメニュー > ウィンドウ > 環境設定 > Alibaba Cloud Toolkit > アカウント

以下のページが表示されたら、Alibaba CloudアカウントのAKとSKを設定して、環境設定の設定は完了です(RAMユーザーアカウントを使用している場合は、RAMユーザーのAKとSKを入力してください)。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/647921/abdd3db7-adb4-f7cb-0c11-49f72f7edfe7.png)

#アプリケーションのデプロイ

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/647921/9a549419-89f0-f849-04a4-491c0e072176.png)

Eclipseでプロジェクト名を右クリックし、ショートカットメニューからAlibaba Cloud > Deploy to ECSを選択します。以下のようなデプロイ画面が表示されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/647921/74870555-f570-b692-47f7-d5c88d781b25.png)

配置設定]ダイアログボックスで、配置パラメータを設定し、[配置]をクリックして初期配置を完了します。

#配置パラメータの説明
- デプロイファイル: 2つのオプションがあります。
- Maven Build:現在のプロジェクトのビルドにMavenを使用している場合、Alibaba Cloud Toolkitを使用してアプリケーションを直接ビルドしてデプロイすることができます。
- ファイルのアップロード: 現在のプロジェクトのビルドにMavenを使用していない場合、またはローカルにパッケージ化されたデプロイファイルが既に存在する場合、ローカルのデプロイファイルを選択して直接アップロードすることができます。
- デプロイするECSの選択:ドロップダウン リストからリージョンを選択し、そのリージョンにデプロイするECSインスタンスを選択します。
- デプロイ先を指定:ECS インスタンス上のデプロイパスを入力します。
- コマンド:アプリケーション起動コマンドを入力します。このパラメータは、アプリケーションパッケージがデプロイされた後に実行されるコマンドを指定します。Java プログラムの場合、通常は Tomcat 起動コマンドです。

*アリババクラウドは日本に２つのデータセンターを有し、世界で60を超えるアベラビリティーゾーンを有するアジア太平洋地域No.1(2019ガートナー)のクラウドインフラ事業者です。
アリババクラウドの詳細は、こちらからご覧ください。
[アリババクラウドジャパン公式ページ](https://www.alibabacloud.com/ja)*