Azure Spring Apps のアプリケーション コンソール ログをリアルタイムでストリーミングする
Note
Basic、Standard、Enterprise プランは、2025 年 3 月中旬以降非推奨になり、廃止期間は 3 年間です。 Azure Container Apps に移行することをお勧めします。 詳細については、「Azure Spring Apps の廃止のお知らせ」を参照してください。
Standard 従量課金と専用プランは、2024 年 9 月 30 日以降に非推奨になり、6 か月後に完全にシャットダウンされます。 Azure Container Apps に移行することをお勧めします。 詳細については、「Azure Spring Apps の Standard 従量課金および専用プランを Azure Container Apps に移行する」を参照してください。
この記事の適用対象:✅ Java ✅ C#
この記事の適用対象:✅ Basic/Standard ✅ Enterprise
この記事では、トラブルシューティングのためにリアルタイムでアプリケーション コンソール ログを取得するために、Azure CLI でログ ストリーミングを有効にする方法を説明します。 診断設定を使って、Azure Spring Apps で診断データを分析することもできます。 詳しくは、「診断設定でログとメトリックを分析する」をご覧ください。 ストリーミング ログの詳細については、「Azure Spring Apps ジョブのログをリアルタイムでストリーム配信する」と「Azure Spring Apps のマネージド コンポーネント ログをリアルタイムでストリームする」を参照してください。
前提条件
- Azure Spring Apps 拡張機能を備えた Azure CLI バージョン 1.0.0 以降。 この拡張機能をインストールするには、
az extension add --name spring
コマンドを使用します。 - 実行中のアプリケーションを含む Azure Spring Apps のインスタンス。 詳細については、「クイックスタート: 初めてのアプリケーションを Azure Spring Apps にデプロイする」を参照してください。
ログのストリーミング
Azure portal でログをストリーミングするには、次の手順に従います。
Azure Spring Apps サービス インスタンスの [概要] ページに移動し、ナビゲーション ペインの [アプリ] を選択します。
ターゲット アプリを見つけ、コンテキスト メニューを選択します。
ポップアップ コンテキスト メニューで、[ログ ストリームの表示] を選択します。
既定では、ランダムに選択されたアプリ インスタンスについてログのストリーミングが開始されます。 その後で、目的とする操作を実行できます。
便宜上、ログをストリーミングするためのエントリ ポイントは多数あります。 それらは、次のペインにあります。
- [アプリ リスト] ペイン
- [デプロイ リスト] ペイン
- [アプリ インスタンス リスト] ペイン
仮想ネットワーク インジェクション インスタンスで Azure Spring Apps のアプリ ログをストリーミングする
カスタム仮想ネットワークにデプロイされた Azure Spring Apps インスタンスの場合、既定でプライベート ネットワークからログ ストリーミングにアクセスできます。 詳細については、「仮想ネットワークに Azure Spring Apps をデプロイする」を参照してください。
Azure Spring Apps では、Azure portal または Azure CLI を使って、パブリック ネットワークからリアルタイムのアプリ ログにアクセスすることもできます。
Note
公衆ネットワークでログ ストリーミング エンドポイントを有効にすると、パブリック受信 IP がご利用の仮想ネットワークに追加されます。 これが問題である場合は注意してください。
公衆ネットワークでログ ストリーミング エンドポイントを有効にするには、次の手順に従います。
ログ ストリーム パブリック エンドポイントを有効にした後は、通常のインスタンスにアクセスする場合と同様に、パブリック ネットワークからアプリ ログにアクセスできます。
ログ ストリーミング パブリック エンドポイントへのトラフィックをセキュリティで保護する
ログ ストリーミングでは、「Azure Spring Apps でステージング環境を設定する」で説明されているテスト エンドポイントと同じキーを使って、デプロイへの接続の認証を行います。 その結果、テスト キーへの読み取りアクセス権を持つユーザーのみが、ログ ストリーミングにアクセスできます。
それらに対するパブリック エンドポイントを公開するときにアプリケーションのセキュリティを実現するには、ネットワーク セキュリティ グループを使って自分のサービスへのネットワーク トラフィックをフィルター処理することにより、エンドポイントをセキュリティで保護します。 詳細については、「Azure portal を使用してネットワーク セキュリティ グループでネットワーク トラフィックをフィルター処理する」を参照してください。 ネットワーク セキュリティ グループには、いくつかの種類の Azure リソースとの受信ネットワーク トラフィックまたは送信ネットワーク トラフィックを許可または拒否するセキュリティ規則が含まれています。 規則ごとに、送信元と宛先、ポート、プロトコルを指定できます。
Note
ログ ストリーム パブリック エンドポイントを有効にした後で、インターネットから仮想ネットワーク インジェクション インスタンスのアプリ ログにアクセスできない場合は、ネットワーク セキュリティ グループを調べて、そのような受信トラフィックが許可されているかどうかを確認します。
次の表は、Microsoft がお勧めする基本的なルールの例を示しています。 エンドポイント <service-name>.private.azuremicroservices.io
で nslookup
などのコマンドを使用して、サービスのターゲット IP アドレスを取得できます。
Priority | 名前 | [ポート] | プロトコル | ソース | Destination (公開先) | アクション |
---|---|---|---|---|---|---|
100 | ルール名 | 80 | TCP | インターネット | サービス IP アドレス | Allow |
110 | ルール名 | 443 | TCP | インターネット | サービス IP アドレス | Allow |