しばやん雑記

ASP.NET とメイドさんが大好きなフリーランスのプログラマーのブログ

Azure Cloud Shell に ACS Engine をインストールする

昨日の Build 2017 Keynote で Scott Hanselman がデモをしていた Azure Cloud Shell が、自分のサブスクリプションでもやっと使えるようになったので、最近はまっている ACS Engine をインストールしてみました。

前に試した時は Docker を使ってサクッと動かしましたが、Azure Cloud Shell 自体が Docker 内で動いているようなので、今回は手動でビルドしてみました。

ただし Azure Cloud Shell には予め git と go が入っているので手順は少ないです。

f:id:shiba-yan:20170512010209p:plain

後はドキュメントに書いてある通り、GOPATH が定義されていないので .profile を弄ったり、go get で acs-engine と関連するパッケージをダウンロードしてきたりします。

go get all を実行すると一部エラーになりましたが、ビルドと実行は問題なかったので今回はスルーしました。もうちょっと調べたいところではありますが。

f:id:shiba-yan:20170512005854p:plain

ACS Engine のコードは $GOPATH/src/github.com/Azure/acs-engine に保存されているので、そこまで移動してから go build を実行すると acs-engine が完成です。

コマンドを実行すると問題なく動作することが確認できます。これでインストールは完了です。

f:id:shiba-yan:20170512005954p:plain

Azure Cloud Shell は vim などのエディタも使えるので、最後に実際に ARM Template を ACS Engine で生成してみたいと思います。examples にある json を適当に選びます。

Managed Disk で楽したいので、Swarm + VMSS + Managed Disk なサンプルを選びました。

f:id:shiba-yan:20170512010752p:plain

dnsPrefix と SSH Key は必須なので、エディタで修正しておく必要があります。修正したファイルを acs-engine に食わせると、ARM Template 一式が生成されます。

この ARM Template をデプロイする方法は前回書いたのと全く同じです。

しかも Azure Cloud Shell には Azure CLI 2.0 がログインされた状態でインストール済みなので、ACS Engine を使ったテンプレート生成から、Azure へのデプロイまで完結させることが出来ます。

f:id:shiba-yan:20170512010930p:plain

ログイン済みというのが最高に便利ですね。Azure CLI 2.0 になって Python が必要になったので、Windows に入れるのが面倒だったのですが、大体のことは Azure Cloud Shell で賄えそうです。

まだ iOS 版 Azure アプリからの Cloud Shell は有効になってません。アプリの更新を待ちたいと思います。