Azure Functions での App Service 認証/承認

こんにちは。Azure サポートの板垣です。 Azure App Service では、組み込みの認証/承認機能がサポートされています。 Azure App Service での認証および承認 この機能は、Azure Functions でも利用することができ、HTTP トリガーで起動する Function に、任意の認証プロバイダーによる認証機能を付加することができます。 これにより、認証されたクライアントのみを Function にアクセスできるようにさせることができます。 今回は、認証プロバイダーとして Azure Active Directory を利用する場合の手順をご紹介します。   概要 認証/承認機能が有効化された Function App にアクセスするためには、認証プロバイダーから取得した認証トークンを Function App に提示します。 このため、Function App へのアクセス前に、認証プロバイダーから認証トークンを取得する必要があります。 以下より、認証トークンを取得するための構成と、認証トークンの取得、使用方法を記載します。   Function App で認証/承認を構成する Function App を作成し、プラットフォーム機能の [認証/承認] をクリックします。   App Service 認証をオンにして “Azure Active Directory でのログイン” を選択し、認証プロバイダーとして…


Azure Web App for Containers をご利用のお客様へのお知らせ (Docker Hub のメンテナンスについて)

Azure Web App for Containers のカスタム Docker イメージ ソースとして Docker Hub をご利用のお客様につきまして、サービス稼働に影響のある情報がありますので、お知らせします。 ※本投稿は、https://aka.ms/dockerhub に投稿された内容を補足する内容になっています。   先日 Docker 社より、2018 年 8 月 25 日 11:00 AM (PST) から、Docker 各サービスについて 15 分から 45 分のアップグレード作業が実施されることがアナウンスされました。以下、アナウンス情報をご確認ください。 Planned Downtime on Docker Hub, Docker Cloud, and Docker Store on August 25th, 2018   このアップグレード作業の実施中には、Docker Hub について、Docker イメージの Push および Docker イメージの…


[Advent Calendar 2017 Day15] Azure Web Apps お役立ち PowerShell スクリプトいろいろ

  こちらの記事は、Qiita に掲載した Microsoft Azure Tech Advent Calendar 2017 の企画に基づき、執筆した内容となります。 カレンダーに掲載された記事の一覧は、こちらよりご確認ください。   こんにちは。Azure サポートの板垣です。 今回は、Azure Web Apps の管理 API 呼び出しを行う、PowerShell スクリプトのサンプルをご紹介します。 情報採取やトラブルシューティングのために実行する他、Azure Functions や Web Jobs でスクリプトを実行することで、自動運用を実現するようなこともできます。是非ともご参考ください。 # Azure PowerShell のインストール方法につきましては、Azure PowerShell 最新版のインストール手順 もご参考ください。   API の認証方法 PowerShell を使って Azure Web Apps を管理する方法として、Azure PowerShell を使う方法と、Azure Web Apps の管理サービスである Kudu サイト (https://.scm.azurewebsites.net) で提供される API を使用する方法があります。 Azure Power…


App Service 環境でネットワークセキュリティグループ (NSG) を利用する際の注意点

こんにちは Azure CIE サポートの村山です。 今回は、最近様々なサービスの裏側で利用され始めている  App Service Environment (以下 ASE) にてネットワークセキュリティ機能を利用する際の注意点についてご紹介します。 ASE は普段他社様と環境を共有している通常の App Service とは異なり、お客様専用のApp Service の環境を作成することができます。 加えて、ASE はご利用者様の仮想ネットワーク上の、サブネット内にデプロイするため、仮想ネットワークのセキュリティ機能を利用して受信と送信のネットワークを制御することも可能です。 また、内部ロードバランサーを含む ASE を利用することで、仮想ネットワーク内からプライベート接続を行うこともできるので、セキュリティ要件が厳しいシステムを構築する際に利用されることが度々ございます。 下記では、このネットワークのセキュリティ機能をご利用の際ので注意点について説明します。   2017/10/31 時点 現在では、ASE を新規作成すると、NSG が一緒に作成されます。 このため、手作業で全部作る必要がなくなり、より便利になっています。     ASE でネットワークのセキュリティ機能を利用する ASE では、ASE リソースがデプロイされた仮想ネットワークに対し、ネットワークセキュリティグループ (以下 NSG) をバインドすることで、サブネット内にデプロイされた ASE のインスタンスに対して、受信と送信トラフィックの制御を行うことが可能です。 NSG については、以下のドキュメントに詳細が記載されています。 ネットワーク セキュリティ グループを使用したネットワーク トラフィック フローの制御 https://docs.microsoft.com/ja-jp/azure/virtual-network/virtual-networks-nsg NSG を作成後、Azure ポータルでは下記のような画面が表示され、受信/送信セキュリティ規則に、許可/拒否したいルールを利用者が追加します。 そして、作成した NSG…


Azure WebJobs をリモート デバッグする方法について

こんにちは。日本マイクロソフト Azure CIE サポートです。 今回は、Visual Studio を使用して Azure 上で動作している WebJobs をデバッグする方法についてご案内します。   事前準備 WebJobs をホストしている App Service の設定で、リモート デバッグが有効化されている必要があります。 Azure ポータルから対象の App Service を開き、[アプリケーション設定] の設定項目の中から [リモート デバッグ] を “オン” に設定し、使用する Visual Studio のバージョンを選択して、設定を [保存] してください。     方法 1 : サーバー エクスプローラーからデバッガーをアタッチする方法 本方法では、対象の WebJobs をホストしている App Service のサブスクリプションにおける管理者、共同管理者などの高い権限が必要となりますが、Visual Studio の画面上からの簡単な操作のみで WebJobs のデバッグを行っていただくことができます。以下に、手順をご案内します。   Visual Studio…


Azure ポータルから確認できる Web Apps の情報

こんにちは。日本マイクロソフト Azure CIE サポートの片岡です。 Azure Web Apps を利用する中で、Web サイトの動作が遅いなど、いろいろな問題が発生する可能性もあるかと思います。 そのため、Azure Web Apps で問題が発生した場合に、ご利用者様にてご実施可能なトラブルシューティング方法について、シリーズ化してご紹介させていただきます! 今回のブログでは、Azure ポータル上から確認できる、以下の 2 点についてご紹介させていただきます。 1. メトリック情報 2. アプリケーションの正常性確認 1. メトリック情報 Azure ポータル上では、CPU 使用率、HTTP エラー、平均応答時間など、様々な情報が確認可能です。 これらの情報は、Azure ポータル上で該当の Web App を選択し、以下の赤い四角で囲った ”インスタンスあたりのメトリックス” という項目から、確認が可能であり、例えばアプリケーションの動作が遅いなどの事象が発生した場合に、負荷状況を確認するためなどに有効です。 例えば、動作が遅いと感じたときは、以下の画像の表で、CPU 使用率を確認するのが効果的です。 CPU 使用率が高い場合には、アプリケーションの処理で非常に高い負荷がかかってしまっていると考えられます。 もし、CPU 使用率が高い状態が一時的に発生していた場合には、続いて [Site Metrics] タブから確認できる以下の表を確認するのがよいかもしれません。 HTTP 通信の状況が確認できますので、例えば CPU 使用率が一時的に向上していた時間帯に、HTTP リクエストの数も向上していた場合は、一時的に HTTP リクエストが急増したことによる負荷と判断できます。 一方で、常に CPU 使用率が高い、HTTP リクエストの数が多いといった場合には、非常にアクセス数の多いサイトであると思われます。 この場合は、スケール…


アラートルールの推奨設定

こんにちは。   Azure CIE サポートの村山です。   今日は、最近流行りの Azure メトリックを利用した監視方法の注意点に関してご案内します。 Azure メトリックではテレメトリを利用して、各リソースのパフォーマンスや、正常性を確認することができます。 Microsoft Azure のメトリックの概要 https://docs.microsoft.com/ja-jp/azure/monitoring-and-diagnostics/monitoring-overview-metrics   Azure Web Appsの場合、CPU や メモリなどを監視して、高負荷がかかった場合には、スケールアウトやスケールアップを行い、アクセスの増加に対応することもできます。 また、HTTP 500 エラーなどを監視して、アラートを設定することで、内部で何か問題が発生した際にその通知をメールで受け取ることが可能になります。   このアラートルールですが、下記画像のように、最短で ”直近 5 分間“ から “直近 6 時間” まで設定することが可能です。 しかしながら、この “直近 5 分間” は場合によってはうまく通知が送られないことがあります。 2018 年現在では、直近 5 分間でも動作することが確認されております。(2018/01/30 現在)   一番安定して動作する中で最短の時間は “直近 15 分間” であるため、確実にアラートを受け取りたい場合は、”直近 15 分間” の設定をご利用ください。    …


Azure Web Apps と VNET 統合

こんにちは。CIE サポート村山です。 今回は Azure App Service の VNET 統合について、説明します。   特に下記資料の中で、あまり説明されていない部分を中心に行います。 アプリを Azure 仮想ネットワークに統合する https://azure.microsoft.com/ja-jp/documentation/articles/web-sites-integrate-with-vnet/     Azure App Service を利用しているお客様から、「Web Apps から、社内のオンプレミスで稼働しているデータベースや、Azure の仮想ネットワーク上に配置した仮想マシンにアクセスさせたい」というご要望をよくお伺いします。 そのようなシナリオの場合に利用されるのが VNET 統合です。VNET 統合を利用することで、Web Apps から仮想ネットワークを経由して以下の環境にアクセスすることができます。 ・仮想マシン ・オンプレミスのサーバーやネットワーク   VNET 統合を使用する場合、プライベートネットワーク経由でアクセスを行いますので、仮想ネットワーク上に配置された VM 上のアプリケーション用にパブリックエンドポイントを公開する必要はありません。 ただし、VNET 統合を利用する場合は、下記の点を注意してください。   ・VNET 統合はStandard または Premium 価格プランでのみ利用可能です。 ・動的ルーティング ゲートウェイによるポイント対サイト VPNを有効にする必要があります。 ・作成する VNET と App Service Plan は同一サブスクリプション上で作成してください。…


Azure App Service の リージョンとスタンプ、IP アドレスについて

こんにちは。CIE サポート 澤田です。 今回は Azure App Service の IP アドレスについて、説明します。   Azure App Service は任意のプラットフォーム、任意のデバイスを対象とした Web アプリとモバイル アプリを作成することができ、Web Apps、Mobile Apps、Logic Apps、API Apps を総称して App Service と言います。 これらはいずれも同じアーキテクチャーに基づいています。   例えば、サポートには以下のようなご質問やご要望をいただくことがあります。 Web Apps で Azure SQL Database と連携する際に、SQL Database のホワイトリストに登録する IP アドレス (Web Apps の IP アドレス) はサイトごとに異なるのか、また、変動する可能性があるのか。 WAF を使用して Azure Web Apps への HTTP 要求を IP…


App Service プランの動作について

こんにちは、CIE サポートの板垣です。今回は、Azure App Service を利用する際に選択する App Service プランについて、既存資料からは分かりにくい部分を補足して説明します。運用にご利用いただく App Service プランを選定する際のご参考としてください。   Azure App Service のアプリケーション (Web Apps、Mobile Apps、Logic Apps、API Apps) は、App Service プランによって定義されるインスタンス上で実行されます。App Service プランでは 5 つの価格レベル (Free、Shared、Basic、Standard、Premium) がサポートされており、価格レベルごとに利用できる機能と容量が異なります。 1 つの App Service プランには、複数のアプリケーションを関連付けることができますが、同じ App Service プランに関連付けられたアプリケーションは、同じインスタンス上で動作することにご注意ください。 例えば、Standard プランで Small インスタンスを利用するプラン (S1) として “MyAppServicePlan” という App Service プランを作成したとします。この場合、1 コア、1.75 GB のインスタンスが、”MyAppServicePlan” を App Service…