今回は、Alibaba Cloud ECSインスタンスにGoアプリケーションをデプロイする方法を紹介します。
本ブログは英語版からの翻訳です。オリジナルはこちらからご確認いただけます。一部機械翻訳を使用しております。翻訳の間違いがありましたら、ご指摘いただけると幸いです。
前回の記事では、ローカルJavaアプリケーションをAlibaba Cloud ECSインスタンスに直接デプロイする方法を紹介しました。今回は、Alibaba Cloud Elastic Compute Service (ECS) インスタンスに Go アプリケーションをデプロイする方法を紹介します。
アプリケーションをローカルに開発する
クラウド上で動作するGoアプリケーションをコンパイルしても、ローカルで動作するGoアプリケーションをコンパイルしても、コーディング方法は同じです。そこで本記事では、Webページに「Hello World」を印刷するGoアプリケーションを例に、展開方法を説明します。
//Alibaba Cloud Toolkit. http://www.aliyun.com/product/cloudtoolkit
func setupRouter() *gin.Engine {
// Disable Console Color
// gin.DisableConsoleColor()
r := gin.Default()
// Ping test
r.GET("/ping", func(c *gin.Context) {
c.String(http.StatusOK, "Alibaba Cloud Toolkit: Hello World.")
})
return r
}
func main() {
r := setupRouter()
// Listen and Server in 0.0.0.0:8080
r.Run(":80")
}
このリンクからソースコードをダウンロードできます。
前述のコードは、Web ページに "Hello World" という文字列を表示するために使用される標準的な Go プロジェクトです。
プラグインのインストール
Alibaba Cloudは、開発者がローカルIDEで書かれたアプリケーションをECSインスタンスに効率的にデプロイできるようにするEclipseベースのプラグインを提供しています。
プラグインのURL: https://www.aliyun.com/product/cloudtoolkit_en
このEclipseベースのプラグインのインストール手順は、一般的なプラグインと似ているため、ここでは詳細を説明しません。
プラグインの環境設定
プラグインをインストールしたら、選択して環境設定を行います。
トップメニュー>ウィンドウ>環境設定>Alibaba Cloud Toolkit>アカウントの順に選択します。
次のページが表示されたら、Alibaba CloudアカウントのAKとSKを設定して、環境設定の設定は完了です(RAMユーザーアカウントを使用している場合は、RAMユーザーのAKとSKを入力してください)。
アプリケーションのデプロイ
Eclipseでプロジェクト名を右クリックし、ショートカットメニューからAlibaba Cloud > Deploy to ECSを選択します。以下のようなデプロイ画面が表示されます。
配置設定]ダイアログボックスで、配置パラメータを設定し、[配置]をクリックして初期配置を完了します。
配置パラメータの説明
- デプロイファイル: 2つのオプションがあります。
- Maven ビルド:現在のプロジェクトのビルドにMavenを使用している場合、Alibaba Cloud Toolkitを使用してアプリケーションを直接ビルドしてデプロイすることができます。
- ファイルのアップロード: 現在のプロジェクトのビルドにMavenを使用していない場合、またはローカルにパッケージ化されたデプロイファイルが既に存在する場合、ローカルのデプロイファイルを選択して直接アップロードすることができます。
- デプロイする ECSの選択:ドロップダウン リストからリージョンを選択し、そのリージョンにデプロイするECSインスタンスを選択します。
- デプロイ先を指定:ECS インスタンス上のデプロイパスを入力します。
- コマンド:アプリケーション起動コマンドを入力します。このパラメータは、アプリケーションパッケージがデプロイされた後に実行されるコマンドを指定します。Goプログラムの場合、通常は一連のプログラム起動コマンドを入力します。
source ~/.bash_profile
pkill -f 'go-demo'
mv /tmp/go-demo /root/go-demo
chmod 755 /root/go-demo
sh -c /root/go-demo
アリババクラウドは日本に2つのデータセンターを有し、世界で60を超えるアベラビリティーゾーンを有するアジア太平洋地域No.1(2019ガートナー)のクラウドインフラ事業者です。
アリババクラウドの詳細は、こちらからご覧ください。
アリババクラウドジャパン公式ページ