こんにちは、エキサイト新卒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とは
公式サイトより図を引用
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でもコンテナ環境を動かすことができました!
それではまた次回!!