2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Microsoft Azure TechAdvent Calendar 2024

Day 16

Azure Container Apps Serverless GPU を試す!

Last updated at Posted at 2024-12-16

先日の MICROSOFT IGNITE 2024 でも発表がありました、 Azure Container Apps Serverless GPU(パブリックプレビュー) を試してみたので記事にします。

試した内容は、公式ドキュメントのチュートリアルをベースになぞっただけですが、私の環境ではもともとサブスクリプションにAzure Container Apps Serverless GPU を利用するためのクォータがなかったため、クォータの引き上げ方法についても後半ふれています。なお、クォータ引き上げについて執筆時点でパブリックプレビューでもあることから、一部はまりポイントがありますので現時点でのワークアラウンドも踏まえて解説していきます。

注意
Azure Container Apps Serverless GPU は執筆時点(2024/12/16)ではパブリックプレビューとなりますので運用環境でのご利用などご注意ください。

0.はじめに

Azure Container Apps Serverless GPU(パブリックプレビュー)とは、
従来はGPUを利用する場合、専用プランのプロファイルを利用する形で、利用に関わらず料金が発生する形でしたが、Serverless GPUを利用することで、利用している分だけ課金ということができるようになりました。これにより、利用していない時間はGPUノードをゼロスケールすることができるようになりGPUの利用コストをより節約できるようになりました。

1.前提条件

Azure Container Apps Serverless GPU(パブリックプレビュー)を利用するためには、サブスクリプションでGPU利用のクォータが必要となります。
執筆時点(パブリックプレビュー)では、US West3 ならびに、 Australia East リージョンでのみ Azure Container Apps Serverless GPU を利用いただけます。
また、利用可能な GPU は以下の2種類となりますので、利用予定のリージョンにて利用種類に沿ったクォータの条件を満たしているかご確認ください。

以下の方法でクォータの条件を満たしているか事前に確認します。
もしも条件を満たしていない場合は、本記事後半クォータの申請方法を参考にしてください。

[クォータ] - [Azure Container Apps]
image.png

image.png

リージョンにて、現在パブリックプレビューが利用可能な「Austraria East」または[US WEST3]を選択してフィルタリング適用
image.png

image.png

さらに[Subscription Consumption]で検索し
利用したいリージョンおよびGPUの種類についてサブスクリプションにクォータが割り当てられていること確認します。
image.png

2.デプロイ

クォータの条件を満たしている、「Austraria East」リージョンにて、こちらの公式ドキュメントをベースにAzure Container Apps Serverless GPUの環境をデプロイしていきます。

image.png

  • 基本タブ
    • リージョン:Austraria East
    • 展開元:コンテナイメージ
    • Container Apps 環境:新規作成

image.png

  • Container Apps 環境新規作成
    • 名前以外すべてデフォルト値

image.png

image.png

image.png

image.png

  • コンテナータブ
    • イメージ ソース:Docker Hub またはその他のレジストリ
    • 画像の種類:パブリック
    • レジストリ ログイン サーバー:mcr.microsoft.com
    • イメージとタグ:k8se/gpu-quickstart:latest
    • ワークロード プロファイル:Consumption - 最大4個のvCPU、8Gibのメモリ
    • GPU [] チェックボックス:チェック
    • GPU の種類:Consumption-GPU-NC8as-T4 - 最大8個のvCPU、56Gibのメモリ

image.png

  • イングレスタブ
    • イングレス:有効にチェック
    • イングレス トラフィック:どこからでもトラフィックを受け入れます
    • ターゲット ポート:80

image.png

  • 確認と作成タブ

image.png

作成ボタンを押下して正常にデプロイできることを確認します。
なお、「ドキュメントには最大5分かかることがあります」とありますが、短いときは数分ですが長いときは10分ほどかかりました。

デプロイが完了したらリソースへ移動し、無駄にコストが発生しないように以下設定によりアクセスを制限します。

  • [イングレス]メニューより
    • IP制限
      • IP セキュリティ制限モード: 以下で構成されたIPからのトラフィックを許可し、他のすべてのトラフィックを拒否しますを選択
      • +追加より、自分のPCのグローバルIPアドレス(例えば https://ifconfig.me などで確認)と名前mypc登録して、自分以外のアクセスを拒否する設定を追加し保存します。

image.png

3.GPUの確認

コンソールより、nvidiaのコマンドを入力して、GPU の状態と出力を確認します。

  • コンソールから[再接続] を選択し、[スタートアップ コマンドの選択] ウィンドウで、[/bin/bash] を選択し、[接続] を選択します。
    シェルの設定が完了したら、コマンド nvidia-smi を入力して、GPU の状態と出力を確認します。

image.png

image.png

以上で Azure Container Apps Serverless GPU の利用が確認できました!
不要な場合はここでリソースを削除します。

ヒント
このリビジョンは 0 にスケーリングされています。と表示される場合
レプリカがZeroスケールしていてコンソールより接続可能なレプリカが存在しない場合は、Container Apps のエンドポイントへブラウザよりアクセスし、レプリカを起動します。
image.png

4.クォータ申請方法

前提条件の通り Azure Container Apps Serverless GPU を利用するために、執筆時点(パブリックプレビュー)では、US West3 または Australia East リージョンにて以下いずれかのクォータが必要となります。

  • T4 を利用する場合
    • Consumption-GPU-NC8as-T4
      • クォータ名:Subscription Consumption T 4 Gpus
  • A100 を利用する場合
    • Consumption-GPU-NC24-A100
      • クォータ名:Subscription Consumption NCA 100 Gpus

ただし、クォータの引き上げ申請について、執筆時点(パブリックプレビュー)では、以下のとおり[クォータの種類]としてContainer Appsを指定したクォータ申請画面では、まだServerless GPU用の新しいクォータの選択肢がポータルに反映されていない状況です。

image.png

調整の要求(オペレーターアイコン)より、新しいサポートリクエスト(SR)を起票します。

  • クォータの種類: Container Appsを選択し、次へ
    image.png

  • 要求の詳細: 詳細を入力よりクォータの種類を選択しますが、執筆時点では、Consumption-GPU関連の新しいクォータの種類をPortalから選択することができません。
    image.png

そのため、PortalからConsumption-GPU関連の新しいクォータの種類を選択できようになるまでの一時的な対処方法として、以下の通りクォータの種類についてその他の要求を選択して、必要情報を記載の上サポートリクエスト(SR)にて申請を行います。

注意
SRにて確認したところ、まだPortal画面が対応していないため、暫定的な対応として、以下の対応にて申請可能とのことです。ただし、あくまでワークアラウンドとなりますので、Portal画面から正規申請可能になった場合は、以下のその他の要求ではなく、正規の方法Container Appsにて申請を行ってください。

ContainerAppsクォータの正規申請方法は、「問題の種類」にて「サービスとサブスクリプションの制限(クォータ)」、「クォータの種類」にて「Container Apps」を選択いただく方法となりますが、新しいクォータの選択肢がまだポータルに反映されていない状況となります。(ポータルに反映された後は上記正規申請方法が正規申請方法となります。)
そのため、現段階で正規申請方法はございませんため、ご認識いただいていますようなクォータの種類:その他の要求にて、下記詳細情報を記入いただく方法が可能な申請手段になるかと存じます。
ContainerAppクォータ要求
リージョン:
SubscriptionID:
クォータタイプ: Consumption-GPU-NC8as-T4 or Consumption-GPU-NC24-A100
引き上げ後の上限値: NN
ご要求理由・背景情報:

image.png

  • 問題の詳細
    • 説明: 以下必要事項を記入の上、リクエスト
      • ContainerAppクォータ要求
        • リージョン:
        • SubscriptionID:
        • クォータタイプ: Consumption-GPU-NC8as-T4 or Consumption-GPU-NC24-A100
        • 引き上げ後の上限値: NN
        • ご要求理由・背景情報:

image.png

5.まとめ

Azure Container Apps Serverless GPUがパブリックプレビューとなりました。
現時点では、利用可能なリージョンが限られており、クォータ申請時の注意事項等もありますが、 このServerless GPUを利用することで、利用している分だけ課金ということができるようになります。利用していない時間はGPUノードをゼロスケールすることができるようになり、GPUの利用コストをより節約できるようになりますので、みなさんもぜひ活用を検討してみてください。

以上です。


2
0
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
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?