※Azure Container Apps はこの投稿時点ではパブリック プレビューでの提供のため、一般提供 (GA) のタイミングで手順や挙動が変更になる場合があります。
パブリック プレビューとして公開中の Azure サービスである「Azure Container Apps (ACA)」について、ログ ストリーミングとコンソール接続がサポートされた旨のアナウンスがありました。
コンソール接続機能は、コンテナー アプリからプロセス状況などを確認、デバッグしやすくなりました。
GA する際には変更になる可能性はありますが、ACA のコンソール機能について確認してみました。
ACA のコンソール機能を確認する
ACA のコンソール機能は、Azure ポータルもしくは Azure CLI の containerapp 拡張機能から利用することがkな王です。
Azure ポータル
対象のコンテナー アプリの管理ブレードから、[監視] – [コンソール] でコンソール接続することが可能です。
※任意のリビジョンやレプリカ、コンテナーをドロップダウン リストから選択することも可能
接続が成功するとダイアログボックスが表示され、、シェル (sh or bash) もしくは任意のコマンドを入力して選択することで、コンソールに接続することが可能となっています。
※docker exec コマンドと同様のことを行っていると思われます。
ちなみにコンテナー アプリのインスタンスが起動していない場合は、以下のような画面が表示され、エラーとなるので注意が必要です。
ログインユーザーについては、確認すると root であることが確認できました。
そのため、アプリケーションを容易にインストールすることができますが、コンテナー アプリ (ホスト側のコンテナー アプリ環境ではない) 内に接続している、コンテナー ライフサイクルの性質上、永続化されないため、影響はそこまで大きくはないと思われます。
Azure CLI
containerapp 拡張機能を用いて、az containerapp exec コマンドでコンソール接続することが可能です。
Azure ポータルとは異なり、カスタム VNet を持つコンテナー アプリ環境 (内部) にデプロイされているコンテナー アプリにコンソール接続しようとしても、エンドポイントがパブリックに存在しないため、エラーになるようです。
じゃぁ、Azure ポータルはどうやってアクセスしてるんだ…