Posted at

Web App on Linuxを使ってACR上のコンテナを10分でデプロイ

More than 1 year has passed since last update.


はじめに

コンテナは単一でも沢山メリットがあるので私の回りでも良く使われています。

Azureを久しぶりに触っていきなりAKS動かしてみましたが、

単一コンテナを利用する場合にはAKSはちょっとメンドクサイ。

ということで、Web App on Linuxがよさそうでしたので早速試してみました。

(AWSだとElastic Beans Talk的な感じですね)

初めての操作で1時間くらいでできて、2回目は10分でデプロイできます

(1時間のうちのほとんどは環境変数WEBSITES_PORTの存在に気付かなかったことです・・・)

コンテナレジストリにDockerHub使った例はWeb上に転がっていたので、ACRでやってみました。

AKSと違い、何も設定せずともイメージをpullできたので、特に難しい部分はありませんでした。


準備

AKS同様ACRのリポジトリを使おうと思います。こちらの記事を参考にACRにpushしてみてください。

AzureContainerRegistryにprivateイメージをpushしよう

今回使うリポジトリ名はuzresk0627です。


早速やってみよう

App ServiceをクリックしてWeb App on Linuxを選択します。(みつけにくいです)

image.png

必要事項を入れていきます。

「コンテナの構成」はACRを選択したときに補完候補がでてくるので入力が楽ですね。

image.png

すこし待つとリソースが構築されます。

image.png


ログの有効化

トラブルシュートにはログですね。ログの設定はデフォルトでは無効になっています。

有効化しないと切り分けができないので、有効化しておきましょう。

Retentionの期間は適当に入力します。(おこのみで)

image.png


環境変数の設定

コンテナの引数に環境変数を設定するには「アプリケーション設定」から行います。

任意の設定が入れられます。

WEBサイトを公開するときに必須になるのはWEBSITES_PORTです。忘れない様に入れておきましょう。

image.png


動かしてみる

環境変数の設定が終われば動かすだけです。コンテナの再起動をしましょう。

image.png

すこし待って、ドメインにアクセスして確認しましょう


トラブル対応

ローカルの環境で動作確認が取れているのであれば、あまり失敗することはないと思いますが、ログと環境変数の確認の仕方くらいは覚えておいた方が良さそうです。


ログの確認

すこし待つとログが見れますので、「コンテナの設定」をクリックしてエラーがでてないことを確認しましょう。

image.png


環境変数の確認

環境変数が正しく設定されているかはKudoを起動してみると良さそうです。

image.png

image.png


その他


カスタムドメインの設定

CNAMEを設定してあげれば問題なくカスタムドメインも利用できます。

SSLについてはドメインに紐付くものなのでカスタムドメイン利用時には別途証明書を用意する必要があります。

image.png


さいごに

AWSでいうEBの位置づけで、単一のコンテナであればこれで十分ですね。

最低限必要なログもしっかり機能統合してあるし、デプロイなどもサポートされていてとても良い感じでした。