1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Azure Container Apps入門まとめ(1)

Posted at

はじめに

本記事は、Azure Container Apps(以下ACA)をお試しで使ってみるにあたり、メモを書き留めたものです。
数回に分けてACAを使って見たいと思います。

Azure Container Apps

Azureにはコンテナが利用できるリソース自体、いくつかありますが、
ACAは、開発者が Kubernetes の複雑な管理を意識せずに、
コンテナ化されたアプリケーションをデプロイして実行できるようになっています。
私が個人的に思う、AzureでフルマネージドなK8S環境を利用できるAzure Kubernetes Serviceとの比較は以下のとおりです。
導入ハードルはAKSと比較すると低いため、非常に使いやすいと思っています。
当たり前ですが、アプリ自体はコンテナで開発しているため、アプリ規模が大きくなってきて、
フルマネージドな環境が良いとなった場合は、AKSへ移行するのもありと感じました。

項目 Azure Container Apps (ACA) Azure Kubernetes Service (AKS)
管理の容易さ 非常に簡単 中級〜上級者向け
インフラ管理 不要 必要
カスタマイズ性 低い 高い
スケーリング 自動(イベント駆動、ゼロスケール可能) 手動または自動(詳細設定が可能)
ユースケース 小規模~中規模アプリケーション 大規模かつ複雑なアプリケーション
コスト 使用量に応じた課金(サーバーレス) クラスターの維持費が発生
Kubernetesの知識 必要なし 必要
マイクロサービス開発 簡単(Dapr 統合) フルカスタマイズ可能
ネットワークとセキュリティ 簡単な設定のみ 高度な設定が可能

今回のシリーズで目指す構成

画像2.png

今回は、イメージ管理にAzure Container Registry(以下、ACR)を利用します。
GitHub Packages等も利用可能です。

本記事で説明する構成

今回の記事では、ACRリソース作成~ACA環境構築~初期イメージデプロイまでを説明します。
画像3.png

環境

  • Windows11
  • Podmanv version 5.3.1

ACRリソース作成

Azure上で、ACRのリソースを作成します。

ACA作成時に、どのイメージを利用するか聞かれるので、先に作っておいたほうが便利です。
ACAスタートアップのイメージをそのまま使う場合は不要です。

ACRリソースを作成したら、管理ユーザを有効にすることを忘れないようにしてください。
ACA作成時にエラーとなります。

管理者ユーザの有効化

コンテナイメージの準備

Azureのリソースを利用する前に、コンテナイメージを準備します。
今回は、最低限画面が表示されればいいのでNginxのイメージを利用します。

# Dockerfile
FROM nginx:alpine
COPY . /usr/share/nginx/html

Dockerfileを保存、保存したディレクトリへ移動し、ビルドします。

podman build -f Dockerfile -t demo/myapp:latest .

タグ付けを実施

podman build -f Dockerfile -t demo/myapp:latest .

PodmanにてACRへログイン情報
先ほど有効にした管理者ユーザの情報を入力

podman login containerregistryasdfg.azurecr.io --username <ユーザ名> --password <パスワード>

ACRへプッシュ

podman push containerregistryasdfg.azurecr.io/demo/myapp:latest

ACAリソース作成

いよいよ本番のACAリソースの作成です。

Container Apps環境については、デフォルトで作成されますが、今回はリソース名も指定したいため、新規作成リンクから新規作成します。

Container Apps環境にてログ出力先の設定も行います。
今回は、LogAnalyticsWorkspaceの名前も指定したいため、こちらも新規作成します。

ACAリソースの構築画面でコンテナーの設定を行います。

HTTPのエンドポイントを有効にするため、
Ingressを有効にし、トラフィックはどこからでも受け入れるようにします。

最後に内容を確認し、作成を行います。

これですべてのリソースが作成され、コンテナイメージの起動までできました。

画面アクセス

最後に、画面にアクセスします。
コンテナアプリリソースを開き、アプリケーションURLをコピーします。

コピーしたURLをブラウザで開きます。

無事に開けました!!
最後に、今回のリソースはリソースグループごと削除しました。
今回はここまでです。

まとめ

ACAを利用することで簡単にコンテナアプリをデプロイすることができました。
手軽にコンテナをデプロイできるところがやはり一番のメリットだと感じました。
次回以降は、以下のようなことを試してみたいです。

  • AzureDevOpsを利用したCI/CD実装
  • ACAの各種設定
  • 環境内でのアプリ通信
  • その他諸々・・・・
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?