Azure portal で App Service アプリを構成するConfigure an App Service app in the Azure portal

このトピックでは、Azure portal を使用して Web アプリ、モバイル バックエンド、または API アプリの一般的な設定を構成する方法について説明します。This topic explains how to configure common settings for web apps, mobile back end, or API app using the Azure portal.

アプリケーションの設定の構成Configure app settings

App Service では、環境変数などのアプリ設定を使用します。In App Service, you use app settings like environment variables. Azure portal で、アプリの管理ページに移動します。In the Azure portal, navigate to your app's management page. アプリの左側のメニューで、 [構成] > [アプリケーションの設定] をクリックします。In the app's left menu, click Configuration > Application settings.

アプリケーションの設定

ASP.NET および ASP.NET Core 開発者の場合、App Service でのアプリ設定の設定は Web.config 内の <appSettings> での設定と同様ですが、App Service での値によって Web.config 内の値がオーバーライドされます。運用シークレット (Azure MySQL データベースのパスワードなど) を除き、Web.config 内の開発設定 (ローカルの MySQL パスワードなど) は App Service で安全に保持できます。For ASP.NET and ASP.NET Core developers, setting app settings in App Service are like setting them in <appSettings> in Web.config, but the values in App Service override the ones in Web.config. You can keep development settings (e.g. local MySQL password) in Web.config, but production secrets (e.g. Azure MySQL database password) safe in App Service. ローカルでデバッグするときに開発設定を使用するコードと、Azure にデプロイされたときに運用シークレットを使用するコードは同じです。The same code uses your development settings when you debug locally, and it uses your production secrets when deployed to Azure.

同様に、他の言語スタックも実行時に環境変数としてアプリ設定を取得します。Other language stacks, likewise, get the app settings as environment variables at runtime. 言語スタック固有の手順については、次を参照してください。For language-stack specific steps, see:

アプリの設定は、格納されるときに常に暗号化されます (保存時の暗号化)。App settings are always encrypted when stored (encrypted-at-rest).

注意

アプリ設定は、Key Vault 参照を使用して Key Vault から解決することもできます。App settings can also be resolved from Key Vault using Key Vault references.

非表示の値を表示するShow hidden values

既定では、アプリ設定の値は、セキュリティのためにポータルでは非表示になっています。By default, values for app settings are hidden in the portal for security. アプリ設定の非表示の値を表示するには、その設定の [値] フィールドをクリックします。To see a hidden value of an app setting, click the Value field of that setting. すべてのアプリ設定の値を表示するには、 [値の表示] ボタンをクリックします。To see the values of all app settings, click the Show value button.

追加または編集するAdd or edit

新しいアプリ設定を追加するには、 [新しいアプリケーション設定] をクリックします。To add a new app setting, click New application setting. ダイアログで、設定を現在のスロットに固有として構成することができます。In the dialog, you can stick the setting to the current slot.

設定を編集するには、右側にある [編集] ボタンをクリックします。To edit a setting, click the Edit button on the right side.

完了したら、 [更新] をクリックします。When finished, click Update. 忘れずに [構成] ページに戻って [保存] をクリックください。Don't forget to click Save back in the Configuration page.

注意

既定の Linux コンテナーまたはカスタム Linux コンテナーでは、ApplicationInsights:InstrumentationKey などの、アプリ設定名の中の入れ子になった JSON キー構造はすべて、App Service ではキー名を ApplicationInsights__InstrumentationKey として構成する必要があります。In a default Linux container or a custom Linux container, any nested JSON key structure in the app setting name like ApplicationInsights:InstrumentationKey needs to be configured in App Service as ApplicationInsights__InstrumentationKey for the key name. つまり、: はすべて __ (二重アンダースコア) で置き換える必要があります。In other words, any : should be replaced by __ (double underscore).

一括で編集するEdit in bulk

アプリ設定を一括で追加または編集するには、 [Advanced edit] (詳細な編集) ボタンをクリックします。To add or edit app settings in bulk, click the Advanced edit button. 完了したら、 [更新] をクリックします。When finished, click Update. 忘れずに [構成] ページに戻って [保存] をクリックください。Don't forget to click Save back in the Configuration page.

アプリ設定には、次の JSON 形式が含まれています。App settings have the following JSON formatting:

[
  {
    "name": "<key-1>",
    "value": "<value-1>",
    "slotSetting": false
  },
  {
    "name": "<key-2>",
    "value": "<value-2>",
    "slotSetting": false
  },
  ...
]

接続文字列の構成Configure connection strings

Azure portal で、アプリの管理ページに移動します。In the Azure portal, navigate to the app's management page. アプリの左側のメニューで、 [構成] > [アプリケーションの設定] をクリックします。In the app's left menu, click Configuration > Application settings.

アプリケーションの設定

ASP.NET および ASP.NET Core 開発者の場合、App Service での接続文字列の設定は Web.config 内の <connectionStrings> での設定と同様ですが、App Service で設定した値によって Web.config 内の値がオーバーライドされます。Web.config 内の開発設定 (データベース ファイルなど) や運用シークレット (SQL Database の資格情報など) は App Service で安全に保持できます。For ASP.NET and ASP.NET Core developers, setting connection strings in App Service are like setting them in <connectionStrings> in Web.config, but the values you set in App Service override the ones in Web.config. You can keep development settings (e.g. a database file) in Web.config and production secrets (e.g. SQL Database credentials) safe in App Service. ローカルでデバッグするときに開発設定を使用するコードと、Azure にデプロイされたときに運用シークレットを使用するコードは同じです。The same code uses your development settings when you debug locally, and it uses your production secrets when deployed to Azure.

他の言語スタックの場合は、値にアクセスするために接続文字列の変数キーに特殊な形式が必要になるため、代わりにアプリ設定を使用することをお勧めします。For other language stacks, it's better to use app settings instead, because connection strings require special formatting in the variable keys in order to access the values. ただし、例外が 1 つあります。特定の Azure データベースの種類は、その接続文字列をアプリで構成した場合、アプリと共にバックアップされます。Here's one exception, however: certain Azure database types are backed up along with the app if you configure their connection strings in your app. 詳細については、「バックアップ対象」を参照してください。For more information, see What gets backed up. この自動バックアップが必要ない場合は、アプリ設定を使用してください。If you don't need this automated backup, then use app settings.

実行時に、接続文字列は、前に次の接続の種類が付加された環境変数として使用できます。At runtime, connection strings are available as environment variables, prefixed with the following connection types:

  • SQL Server: SQLCONNSTR_SQL Server: SQLCONNSTR_
  • MySQL: MYSQLCONNSTR_MySQL: MYSQLCONNSTR_
  • SQL Database: SQLAZURECONNSTR_SQL Database: SQLAZURECONNSTR_
  • カスタム: CUSTOMCONNSTR_Custom: CUSTOMCONNSTR_

たとえば、connectionstring1 という名前の MySql 接続文字列には環境変数 MYSQLCONNSTR_connectionString1 としてアクセスできます。For example, a MySql connection string named connectionstring1 can be accessed as the environment variable MYSQLCONNSTR_connectionString1. 言語スタック固有の手順については、次を参照してください。For language-stack specific steps, see:

接続文字列は、格納されるときに常に暗号化されます (保存時の暗号化)。Connection strings are always encrypted when stored (encrypted-at-rest).

注意

接続文字列は、Key Vault 参照を使用して Key Vault から解決することもできます。Connection strings can also be resolved from Key Vault using Key Vault references.

非表示の値を表示するShow hidden values

既定では、接続文字列の値は、セキュリティのためにポータルでは非表示になっています。By default, values for connection strings are hidden in the portal for security. 接続文字列の非表示の値を表示するには、その文字列の [値] フィールドをクリックするだけです。To see a hidden value of a connection string, just click the Value field of that string. すべての接続文字列の値を表示するには、 [値の表示] ボタンをクリックします。To see the values of all connection strings, click the Show value button.

追加または編集するAdd or edit

新しい接続文字列を追加するには、 [新しい接続文字列] をクリックします。To add a new connection string, click New connection string. ダイアログで、接続文字列を現在のスロットに固有として構成することができます。In the dialog, you can stick the connection string to the current slot.

設定を編集するには、右側にある [編集] ボタンをクリックします。To edit a setting, click the Edit button on the right side.

完了したら、 [更新] をクリックします。When finished, click Update. 忘れずに [構成] ページに戻って [保存] をクリックください。Don't forget to click Save back in the Configuration page.

一括で編集するEdit in bulk

接続文字列を一括で追加または編集するには、 [Advanced edit] (詳細な編集) ボタンをクリックします。To add or edit connection strings in bulk, click the Advanced edit button. 完了したら、 [更新] をクリックします。When finished, click Update. 忘れずに [構成] ページに戻って [保存] をクリックください。Don't forget to click Save back in the Configuration page.

接続文字列には、次の JSON 形式が含まれています。Connection strings have the following JSON formatting:

[
  {
    "name": "name-1",
    "value": "conn-string-1",
    "type": "SQLServer",
    "slotSetting": false
  },
  {
    "name": "name-2",
    "value": "conn-string-2",
    "type": "PostgreSQL",
    "slotSetting": false
  },
  ...
]

全般設定を構成するConfigure general settings

Azure portal で、アプリの管理ページに移動します。In the Azure portal, navigate to the app's management page. アプリの左側のメニューで、 [構成] > [アプリケーションの設定] をクリックします。In the app's left menu, click Configuration > Application settings.

全般設定

ここでは、アプリのいくつかの一般的な設定を構成できます。Here, you can configure some common settings for the app. 一部の設定では、より高い価格レベルにスケールアップする必要があります。Some settings require you to scale up to higher pricing tiers.

  • [Stack settings] (スタックの設定) : アプリを実行するためのソフトウェア スタック (言語や SDK バージョンを含む)。Stack settings: The software stack to run the app, including the language and SDK versions. Linux アプリやカスタム コンテナー アプリの場合は、オプションのスタートアップ コマンドまたはファイルを設定することもできます。For Linux apps and custom container apps, you can also set an optional start-up command or file.
  • [プラットフォームの設定] : ホスティング プラットフォームの設定を構成できます。次のものが含まれます。Platform settings: Lets you configure settings for the hosting platform, including:
    • [ビット] : 32 ビットまたは 64 ビット。Bitness: 32-bit or 64-bit.
    • [WebSocket プロトコル] : ASP.NET SignalRsocket.io など。WebSocket protocol: For ASP.NET SignalR or socket.io, for example.
    • [常時接続] : トラフィックがない場合も、アプリを読み込まれたままにします。Always On: Keep the app loaded even when there's no traffic. これは、継続的な Web ジョブや、CRON 式を使用してトリガーされる Web ジョブに対して有効にする必要があります。You need to enable it for continuous WebJobs or for WebJobs that are triggered using a CRON expression.
    • [Managed pipeline version] (マネージド パイプライン バージョン) : IIS のパイプライン モードManaged pipeline version: The IIS pipeline mode. 以前のバージョンの IIS を必要とするレガシ アプリがある場合は、これを [Classic] (クラシック) に設定します。Set it to Classic if you have a legacy app that requires an older version of IIS.
    • [HTTP version] (HTTP バージョン) :HTTPS/2 プロトコルのサポートを有効にするには、 [2.0] に設定します。HTTP version: Set to 2.0 to enable support for HTTPS/2 protocol.

    注意

    最新のブラウザーのほとんどは、TLS 上でのみ HTTP/2 プロトコルをサポートし、暗号化されていないトラフィックには引き続き HTTP/1.1 を使用しています。Most modern browsers support HTTP/2 protocol over TLS only, while non-encrypted traffic continues to use HTTP/1.1. クライアント ブラウザーが確実に HTTP/2 を使用してアプリに接続するようにするには、アプリのカスタム ドメイン用に App Service 証明書を購入するか、またはサードパーティの証明書をバインドします。To ensure that client browsers connect to your app with HTTP/2, either buy an App Service Certificate for the app's custom domain or bind a third party certificate.

    • [ARR affinity] (ARR アフィニティ) :マルチインスタンス デプロイでは、クライアントがセッションの有効期間を通して同じインスタンスにルーティングされることを確認してください。ARR affinity: In a multi-instance deployment, ensure that the client is routed to the same instance for the life of the session. ステートレス アプリケーションの場合は、このオプションを [オフ] に設定できます。You can set this option to Off for stateless applications.
  • [デバッグ] : ASP.NETASP.NET Core、または Node.js アプリに対するリモート デバッグを有効にします。Debugging: Enable remote debugging for ASP.NET, ASP.NET Core, or Node.js apps. このオプションは、48 時間後に自動的に無効になります。This option turns off automatically after 48 hours.
  • [Incoming client certificates] (受信クライアント証明書) : 相互認証でクライアント証明書を必要とします。Incoming client certificates: require client certificates in mutual authentication.

既定のドキュメントを構成するConfigure default documents

この設定は、Windows アプリでのみ使用されます。This setting is only for Windows apps.

Azure portal で、アプリの管理ページに移動します。In the Azure portal, navigate to the app's management page. アプリの左側のメニューで、 [構成] > [既定のドキュメント] をクリックします。In the app's left menu, click Configuration > Default documents.

全般設定

既定のドキュメントは、Web サイトのルート URL に表示される Web ページです。The default document is the web page that's displayed at the root URL for a website. 一覧で最初に一致するファイルが使用されます。The first matching file in the list is used. 新しい既定のドキュメントを追加するには、 [New document] (新しいドキュメント) をクリックします。To add a new default document, click New document. 忘れずに [保存] をクリックください。Don't forget to click Save.

アプリが、静的コンテンツの処理ではなく URL に基づいてルーティングされるモジュールを使用している場合、既定のドキュメントは必要ありません。If the app uses modules that route based on URL instead of serving static content, there is no need for default documents.

パス マッピングを構成するConfigure path mappings

Azure portal で、アプリの管理ページに移動します。In the Azure portal, navigate to the app's management page. アプリの左側のメニューで、 [構成] > [Path mappings] (パス マッピング) をクリックします。In the app's left menu, click Configuration > Path mappings.

全般設定

[Path mappings] (パス マッピング) ページには、OS の種類に基づいてさまざまな内容が表示されます。The Path mappings page shows you different things based on the OS type.

Windows アプリ (コンテナー化されていない)Windows apps (uncontainerized)

Windows アプリの場合は、IIS ハンドラー マッピングや仮想アプリケーションおよびディレクトリをカスタマイズできます。For Windows apps, you can customize the IIS handler mappings and virtual applications and directories.

ハンドラー マッピングを使用すると、特定のファイル拡張子への要求を処理するためのカスタム スクリプト プロセッサを追加できます。Handler mappings let you add custom script processors to handle requests for specific file extensions. カスタム ハンドラーを追加するには、 [New handler] (新しいハンドラー) をクリックします。To add a custom handler, click New handler. 次のようにハンドラーを構成します。Configure the handler as follows:

  • [拡張子]Extension. 処理するファイル拡張子 ( *.phphandler.fcgi など)。The file extension you want to handle, such as *.php or handler.fcgi.
  • [Script processor] (スクリプト プロセッサ)Script processor. スクリプト プロセッサの絶対パス。The absolute path of the script processor to you. ファイル拡張子に一致するファイルへの要求は、スクリプト プロセッサによって処理されます。Requests to files that match the file extension are processed by the script processor. アプリのルート ディレクトリは D:\home\site\wwwroot というパスを使って参照します。Use the path D:\home\site\wwwroot to refer to your app's root directory.
  • [引数]Arguments. スクリプト プロセッサの省略可能なコマンド ライン引数。Optional command-line arguments for the script processor.

各アプリには、D:\home\site\wwwroot にマップされた既定のルート パス (/) があります。コードは、既定ではここにデプロイされます。Each app has the default root path (/) mapped to D:\home\site\wwwroot, where your code is deployed by default. アプリのルートが別のフォルダーにあるか、またはリポジトリに複数のアプリケーションが含まれている場合は、ここで仮想アプリケーションおよびディレクトリを編集または追加できます。If your app root is in a different folder, or if your repository has more than one application, you can edit or add virtual applications and directories here. [New virtual application or directory] (新しい仮想アプリケーションまたはディレクトリ) をクリックします。Click New virtual application or directory.

仮想アプリケーションおよびディレクトリを構成するには、各仮想ディレクトリと、Web サイトのルート (D:\home) を基準としたその対応する物理パスを指定します。To configure virtual applications and directories, specify each virtual directory and its corresponding physical path relative to the website root (D:\home). 必要に応じて、 [アプリケーション] チェック ボックスをオンにして、仮想ディレクトリをアプリケーションとしてマークすることもできます。Optionally, you can select the Application checkbox to mark a virtual directory as an application.

コンテナー化されたアプリContainerized apps

コンテナー化されたアプリのカスタム ストレージを追加できます。You can add custom storage for your containerized app. コンテナー化されたアプリには、すべての Linux アプリのほか、App Service 上で実行されている Windows および Linux カスタム コンテナーも含まれます。Containerized apps include all Linux apps and also the Windows and Linux custom containers running on App Service. [New Azure Storage Mount] (新しい Azure Storage のマウント) をクリックし、次のようにカスタム ストレージを構成します。Click New Azure Storage Mount and configure your custom storage as follows:

  • [名前] :表示名。Name: The display name.
  • [構成オプション] : [基本] または [詳細]Configuration options: Basic or Advanced.
  • [ストレージ アカウント] :必要なコンテナーを含むストレージ アカウント。Storage accounts: The storage account with the container you want.
  • [Storage type](ストレージの種類) : [Azure BLOB] または [Azure Files]Storage type: Azure Blobs or Azure Files.

    注意

    Windows コンテナー アプリは Azure Files のみをサポートします。Windows container apps only support Azure Files.

  • ストレージ コンテナー:基本構成のときの必要なコンテナー。Storage container: For basic configuration, the container you want.
  • [Share name] (共有名) : 詳細な構成のときのファイル共有名。Share name: For advanced configuration, the file share name.
  • [アクセス キー] : 詳細な構成のときのアクセス キー。Access key: For advanced configuration, the access key.
  • [Mount path] (マウント パス) : カスタム ストレージをマウントするためのコンテナー内の絶対パス。Mount path: The absolute path in your container to mount the custom storage.

詳細については、「Linux 上の App Service 内の Azure Storage からコンテンツを提供する」を参照してください。For more information, see Serve content from Azure Storage in App Service on Linux.

言語スタックの設定を構成するConfigure language stack settings

Linux アプリについては、次を参照してください。For Linux apps, see:

カスタム コンテナーを構成するConfigure custom containers

Azure App Service のカスタム Linux コンテナーを構成する」を参照してください。See Configure a custom Linux container for Azure App Service

次の手順Next steps