IntelliJ IDEA環境で開発されたJavaアプリケーションをAlibaba Cloud ECSインスタンスにデプロイ

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

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

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/647921/095b1147-dadf-04e6-7b46-38fc6d786fa6.png)

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

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/647921/058dc18b-dbaf-d5a5-2ba8-025b956d75bf.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.7e79457cxOPl5q&file=IndexSer...%5B%E9%93%B6%E6%97%B6%5D.1540514368.zip)からソースコードをダウンロードできます。

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

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

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

このIntellij IDEAベースのプラグインのインストールプロセスは、一般的なプラグインと似ているので、ここでは詳細を説明しません。

#プラグインの環境設定
プラグインをインストールしたら、下図のようにツールバーのAlibaba Cloudアイコンをクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/647921/ceaf784d-ff16-d606-087e-45b6b26dda69.png)

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

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/647921/467adb1e-c4c0-2f7f-77d5-89ecb5bbd953.png)

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

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/647921/887eb1ef-e894-9437-4d23-090e8d55dfe6.png)

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

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/647921/810eb1c7-cc4e-0e21-eab2-60cb5341fca3.png)

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

#配置パラメータの説明
デプロイファイル: 2つのオプションがあります。


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

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