デプロイマニフェストスキーマリファレンス - AWS Elastic Beanstalk

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

デプロイマニフェストスキーマリファレンス

デプロイマニフェストは、Elastic Beanstalk が Windows アプリケーションをデプロイおよび設定する方法を定義する JSON ファイルです。このセクションでは、マニフェストスキーマでサポートされているすべてのプロパティと設定オプションの包括的なリファレンスを提供します。

マニフェスト構造

デプロイマニフェストは、次の最上位構造を持つ特定の JSON スキーマに従います。

例 基本的なマニフェスト構造
{ "manifestVersion": 1, "skipIISReset": false, "iisConfig": { "appPools": [...] }, "deployments": { "msDeploy": [...], "aspNetCoreWeb": [...], "custom": [...] } }

最上位プロパティ

manifestVersion (必須)

タイプ: 数値

デフォルト: 1

有効な値: 1

マニフェストスキーマのバージョンを指定します。現在、バージョン 1 のみがサポートされています。

skipIISReset (オプション)

型: ブール

デフォルト: false

アプリケーションのデプロイ中に IIS をリセットするかどうかを制御します。このフラグは、 msDeployと の両方のaspNetCoreWebデプロイタイプに影響します。

動作:

  • または false (デフォルト): IIS リセットは、インストール、アンインストール、および更新オペレーション中に実行されます。これは従来の動作です。

  • true IIS リセットはデプロイオペレーション中にスキップされます。

利点:

  • ダウンタイムの短縮 – アプリケーションでは、デプロイ中のサービスの中断が短くなります。

  • デプロイの高速化 — IIS が完全に再起動して再初期化するために必要な時間を排除します。

注記

を使用する場合skipIISResetRestartAppServer オペレーションは、このフラグ設定に関係なく IIS リセットを実行します。

:

{ "manifestVersion": 1, "skipIISReset": true, "deployments": { "aspNetCoreWeb": [ { "name": "my-dotnet-core-app", "parameters": { "archive": "dotnet-core-app.zip", "iisPath": "/" } } ] } }
deployments (必須)

タイプ: オブジェクト

アプリケーションのデプロイ設定が含まれます。このオブジェクトにはmsDeploy、、aspNetCoreWeb、および のcustomデプロイタイプを含めることができます。

iisConfig (オプション)

タイプ: オブジェクト

アプリケーションをデプロイする前に適用する IIS 構成設定を定義します。現在、 はアプリケーションプール設定をサポートしています。

IIS 設定

iisConfig セクションでは、アプリケーションをデプロイする前に IIS 設定を構成することができます。これは、特定の設定でアプリケーションプールを設定する場合に特に便利です。

アプリケーションプール

アプリケーションプールはアプリケーション間の分離を提供し、アプリケーションのグループのランタイム設定を構成することができます。

例 アプリケーションプールの設定
{ "iisConfig": { "appPools": [ { "name": "MyAppPool", "enable32Bit": false, "managedPipelineMode": "Integrated", "managedRuntimeVersion": "v4.0", "queueLength": 1000, "cpu": { "limitPercentage": 80, "limitAction": "Throttle", "limitMonitoringInterval": 5 }, "recycling": { "regularTimeInterval": 1440, "requestLimit": 10000, "memory": 1048576, "privateMemory": 524288 } } ] } }
アプリケーションプールのプロパティ
name (必須)

タイプ: 文字列

アプリケーションプールの名前。この名前は、デプロイ設定でプールを参照するために使用されます。

enable32Bit (オプション)

型: ブール

32 ビットアプリケーションが 64 ビットバージョンの Windows で実行できるようにします。32 ビットの互換性を必要とするレガシーアプリケーションtrueの場合は、 に設定します。

managedPipelineMode (オプション)

タイプ: 文字列

有効な値: "Integrated"、"Classic"

アプリケーションプールのリクエスト処理モードを指定します。

managedRuntimeVersion (オプション)

タイプ: 文字列

有効な値:「マネージドコードなし」、「v2.0」、「v4.0」

アプリケーションプールの .NET Framework バージョンを指定します。

queueLength (オプション)

タイプ: 整数

追加のリクエストを拒否する前に HTTP.sys がアプリケーションプールに対してキューに入れるリクエストの最大数。

CPU 設定

cpu オブジェクトは、アプリケーションプールの CPU 使用率の制限とモニタリングを設定します。

limitPercentage (オプション)

タイプ: 数値

アプリケーションプール内のワーカープロセスが消費できる CPU 時間の最大パーセンテージ。

limitAction (オプション)

タイプ: 文字列

有効な値: "NoAction"、"KillW3wp"、"Throttle"、"ThrottleUnderLoad"

CPU 制限に達したときに実行するアクション。

limitMonitoringInterval (オプション)

タイプ: 数値

CPU モニタリングとスロットリングの制限のリセット期間 (分単位)。

リサイクル設定

recycling オブジェクトは、アプリケーションプールワーカープロセスをいつどのようにリサイクルするかを設定します。

regularTimeInterval (オプション)

タイプ: 整数

アプリケーションプールがリサイクルされるまでの時間間隔 (分単位)。時間ベースのリサイクルを無効にするには、0 に設定します。

requestLimit (オプション)

タイプ: 整数

リサイクル前にアプリケーションプールが処理するリクエストの最大数。

memory (オプション)

タイプ: 整数

ワーカープロセスのリサイクルをトリガーする仮想メモリの量 (キロバイト単位)。

privateMemory (オプション)

タイプ: 整数

ワーカープロセスのリサイクルをトリガーするプライベートメモリの量 (キロバイト単位)。

デプロイタイプ

deployments オブジェクトには、さまざまなアプリケーションタイプのデプロイ設定の配列が含まれています。各デプロイタイプには、特定のプロパティとユースケースがあります。

MSDeploy デプロイ

MSDeploy デプロイは、Web Deploy (MSDeploy) を使用してデプロイできる従来の .NET Framework アプリケーションに使用されます。

例 MSDeploy デプロイ設定
{ "deployments": { "msDeploy": [ { "name": "WebApp", "description": "Main web application", "parameters": { "appBundle": "webapp.zip", "iisPath": "/", "appPool": "DefaultAppPool" } } ] } }
MSDeploy デプロイプロパティ
name (必須)

タイプ: 文字列

デプロイの一意の名前。この名前は、マニフェスト内のすべてのデプロイで一意である必要があります。

description (オプション)

タイプ: 文字列

デプロイの人間が読める説明。

parameters (必須)

タイプ: オブジェクト

MSDeploy オペレーションの設定パラメータ。

scripts (オプション)

タイプ: オブジェクト

デプロイライフサイクルのさまざまな段階で実行する PowerShell スクリプト。

MSDeploy パラメータ

appBundle (必須)

タイプ: 文字列

マニフェストファイルに対するアプリケーションバンドル (ZIP ファイル) へのパス。このバンドルには、デプロイするアプリケーションファイルが含まれています。

iisPath (オプション)

タイプ: 文字列

デフォルト: "/"

アプリケーションがデプロイされる IIS の仮想ディレクトリパス。ルートパスには「/」、サブディレクトリには「/api」を使用します。

appPool (オプション)

タイプ: 文字列

このアプリケーションを実行するアプリケーションプールの名前。

ASP.NET Core デプロイ

ASP.NET Core デプロイは、.NET Core および .NET 5+ アプリケーション専用に設計されています。

例 ASP.NET Core デプロイ設定
{ "deployments": { "aspNetCoreWeb": [ { "name": "CoreAPI", "description": "ASP.NET Core Web API", "parameters": { "appBundle": "coreapi.zip", "iisPath": "/api", "appPool": "CoreAppPool" } } ] } }

ASP.NET Core デプロイでは、MSDeploy デプロイと同じプロパティ構造を使用します。主な違いは、アプリケーションに使用されるランタイム環境とホスティングモデルです。

ASP.NET Core デプロイパラメータ
appBundle (必須)

タイプ: 文字列

マニフェストファイルに対するアプリケーションバンドルへのパス。これは、ZIP アーカイブでも、公開された ASP.NET Core アプリケーションを含むディレクトリパスでもかまいません。

iisPath (オプション)

タイプ: 文字列

デフォルト: "/"

ASP.NET Core アプリケーションの IIS の仮想ディレクトリパス。

appPool (オプション)

タイプ: 文字列

ASP.NET Core アプリケーションのアプリケーションプール。プールは、ASP.NET Core ホスティング用に適切に設定されます。

カスタムデプロイ

カスタムデプロイでは、PowerShell スクリプトを使用してデプロイプロセスを完全に制御できます。このデプロイタイプは、カスタムインストール、設定、またはデプロイロジックを必要とする複雑なシナリオに役立ちます。

例 カスタムデプロイ設定
{ "deployments": { "custom": [ { "name": "CustomService", "description": "Custom Windows service deployment", "architecture": 32, "scripts": { "install": { "file": "install-service.ps1" }, "restart": { "file": "restart-service.ps1" }, "uninstall": { "file": "uninstall-service.ps1", "ignoreErrors": true } } } ] } }
カスタムデプロイプロパティ
name (必須)

タイプ: 文字列

カスタムデプロイの一意の名前。

description (オプション)

タイプ: 文字列

カスタムデプロイの説明。

architecture (オプション)

タイプ: 整数

デフォルト: 32

有効な値: 32、64

Powershell スクリプトの実行モードのアーキテクチャ仕様

scripts (必須)

タイプ: オブジェクト

デプロイ動作を定義する PowerShell スクリプト。カスタムデプロイでは、他のデプロイタイプと比較して追加のスクリプトタイプがサポートされています。

デプロイスクリプト

デプロイスクリプトは、デプロイライフサイクル中の特定の時点で実行される PowerShell スクリプトです。異なるデプロイタイプは、異なるスクリプトイベントのセットをサポートします。

スクリプトイベント

デプロイタイプに応じて、次のスクリプトイベントを使用できます。

標準デプロイスクリプト (msDeploy および aspNetCoreWeb)
preInstall

アプリケーションがインストールまたは更新される前に実行されます。

postInstall

アプリケーションのインストールまたは更新後に実行されます。

preRestart

アプリケーションを再起動する前に を実行します。

postRestart

アプリケーションが再起動された後に実行されます。

preUninstall

アプリケーションがアンインストールされる前に を実行します。

postUninstall

アプリケーションがアンインストールされた後に実行されます。

カスタムデプロイスクリプト (カスタムデプロイのみ)
install

カスタムデプロイ用のプライマリインストールスクリプト。このスクリプトは、アプリケーションまたはサービスのインストールを担当します。

restart

アプリケーションまたはサービスを再起動するスクリプト。環境が再起動されると呼び出されます。

uninstall

アプリケーションまたはサービスをアンインストールするスクリプト。環境の終了またはアプリケーションの削除中に呼び出されます。

スクリプトプロパティ

各スクリプトは、次のプロパティを持つオブジェクトとして定義されます。

file (必須)

タイプ: 文字列

マニフェストファイルに関連する PowerShell スクリプトファイルへのパス。スクリプトには.ps1拡張子が必要です。

ignoreErrors (オプション)

型: ブール

デフォルト: false

に設定するとtrue、スクリプトが失敗してもデプロイは続行されます。これは、重要ではないスクリプトまたはクリーンアップオペレーションに使用します。

例 スクリプト設定の例
{ "scripts": { "preInstall": { "file": "backup-config.ps1", "ignoreErrors": true }, "postInstall": { "file": "configure-app.ps1" } } }