Azure Container Apps 入門 (ポータルから作成)

こんにちは、エキサイト新卒1年目、趣味は自宅鯖(オンプレ)のNOGU(@NOGU_D626🐤)です。

この記事とは別にAzure Container Registry(ACR)について取り上げているものがあります。
作業していく中でACRで事前作業している点があるので先にACRの記事について読むことをお勧めします。

公式のドキュメントはこちらになります。 docs.microsoft.com

前提

  • PCへのAzure CLI のインストール作業は済んでいること。
  • Azure上にアカウントがあり、$ az loginコマンドを実行しログイン済みであること。
  • PCにDockerなどがインストールされていること。
  • ACR上に何かしらのカスタムイメージを作成していること。

※ 画像やコンソールの結果等などに関しては、個人アカウントでの検証を行っておりプライバシの問題やセキュリティの観点から一部マスクした状態で掲載させていただきます。 あらかじめご了承ください。

Azure Container Appsとは

https://docs.microsoft.com/ja-jp/azure/container-apps/media/overview/azure-container-apps-example-scenarios.png 公式サイトより図を引用

Azure Container Appsの特徴として、Kubernetesのマネージドサービス環境であるAzure Kubernetes ServiceとNginxと似た機能を持つOSSのプロキシであるEnvoyから構成されており、KEDAによる自動スケーリングやDAPR(Distributed Application Runtime)によるサービス間通信や状態管理をAPIで利用可能となっています。
2022年5月24日に正式リリースされました。

コンテナーアプリの作成

コンテナー アプリを作成するには、まずAzure portal ホーム の検索バーに コンテナナーアプリと入力し該当のサービスを選択しクリックします。

ページに遷移後、コンテナーアプリの作成 を押します。

基本 タブでプロジェクトの詳細について各項目入力を行っていきます。

設定項目名 備考
サブスクリプション Azure subscription 1 デフォルトで設定したものを選択
リソース グループ rg-nogu-sandbox Azure Container Registry作成時のものを選択
コンテナー アプリ名 nogu-sandbox 任意のわかりやすいものを入力

各項目を入力しおえたらコンテナーアプリ環境を新規作成を行います。
コンテナーアプリ環境の項目付近にある新規作成のリンクをクリックします。

基本タブの Container Apps 環境の作成で、次の値を入力します。

設定項目名 備考
環境名 Environment-rgnogusandbox 任意のわかりやすいものを入力
ゾーン冗長 無効 今回は検証のためゾーン冗長を無効にしています。

次に、監視タブを選択して、ログ分析の項目で 新規作成のリンクをクリックします。

Log Analytics ワークスペースの新規作成のサイドバーが表示されるので、各項目入力を行っていきます。

設定項目名 備考
名前 log-analytices-sandbox-nogu 任意のわかりやすいものを入力
場所 Japan East グレイアウトで選択できないようになっています。※コンテナーアプリと同じリージョンになっています

新規作成するとLog Analytics ワークスペースの選択部分が今回新規作成したものに変わると思います。

次に、ネットワークタブを選択します。この項目では特に変更することはありませんが内部のロートバランサー(Application Gatewayなど)を使う際にvnetなどを選択することが可能となっています。

各項目入力を終えたら下の createボタンをクリックします。
次画面にて確認チェックが行われ、問題がなければ作成ボタンが押せるようになるので 作成 を押します。

作成ボタンを押すとデプロイが開始され以下のような画面が表示されます。

デプロイが正常に終了したら、コンテナー アプリのホーム画面へ戻りましょう。
アプリケーション URLが表示されていると思います。

表示されているURLをクリックすると以下のように表示されます。 ここまででAzure Container Appsのコンテナー アプリの作成は終了です。

Azure Container Registryにアップしたカスタムイメージを使用する

作業する前にあらかじめACR上にて管理者ユーザーを有効化してください。

実際にACRにアップしたイメージを使用して、現在動いているクイックイメージと入れ替えようと思います。
サイドバーの アプリケーション > コンテナー の順にクリックします。
そして編集とデプロイをクリックします。

次画面にて追加をクリックします。

コンテナーの編集と書かれたサイドバーが表示されるので各項目入力し、下の保存ボタンをクリックします。

設定項目名 備考
名前 docker-nginx 任意のわかりやすいものを入力
イメージのソース Azure Container Registry
認証 管理者資格情報
レジストリ nogusandbox.azurecr.io ACRに登録されているものを選択
イメージ docker-nginx ACRに登録されているものを入力
イメージ タグ dev ACRに登録されているものを入力

docker-nginxを残して、他のコンテナイメージを削除します。

スケーリング設定を以下のように設定し、作成をクリックします。

サイドバーにあるリビジョン管理をクリックし、プロビジョニングの状態にチェックが入っていれば正常にデプロイできています。そうでなければイメージなどのbuildエラーなどが考えられます。

デプロイが終了したら、サイドバーの概要からコンテナー アプリのホーム画面に出ているアプリケーション URLにアクセスしてみましょう。
自分の環境では以前に作成したNginxコンテナのhtmlの画面が表示されています。

最後に

今回はAzure Container Appsをポータル上から作成し。その後クイックスタートのコンテナを削除しカスタムイメージのコンテナを再デプロイしました。
Azureでもコンテナ環境を動かすことができました!

それではまた次回!!