

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

# AppSpec ファイル構造
<a name="reference-appspec-file-structure"></a>

次に示すのは、 AWS Lambda および EC2/オンプレミスコンピューティングプラットフォームへのデプロイに使用される AppSpec ファイルのハイレベルな構造です。

文字列である YAML 形式の AppSpec ファイルの値は、別途指定されている場合を除き、引用符 ("") で囲んではいけません。

## Amazon ECS デプロイ向けの AppSpec ファイル構造
<a name="ecs-appspec-structure"></a>

**注記**  
この AppSpec ファイルは YAML で記述されますが、同じ構造を使用して JSON で記述することもできます。JSON 形式の AppSpec ファイルの文字列は、常に引用符 ("") で囲みます。

```
version: {{0.0}}
resources: 
  {{ecs-service-specifications}}
hooks: 
  {{deployment-lifecycle-event-mappings}}
```

この構造の説明

** **バージョン** **  
このセクションでは、AppSpec ファイルのバージョンを指定します。この値を変更しないでください。これは必須です。現在許容されている値は、**0.0** のみです。将来の利用のために CodeDeploy で予約されます。  
文字列で **version** を指定します。

** **リソース** **  
このセクションでは、デプロイする Amazon ECS アプリケーションに関する情報を指定します。  
詳細については、「[Amazon ECS デプロイ用の AppSpec の「resources」セクション](reference-appspec-file-structure-resources.md#reference-appspec-file-structure-resources-ecs)」を参照してください。

** **hooks** **  
このセクションでは、デプロイ検証のために特定のデプロイライフサイクルイベントフックで実行する、Lambda 関数を指定します。  
詳細については、「[Amazon ECS のデプロイ向けのライフサイクルイベントフックのリスト](reference-appspec-file-structure-hooks.md#reference-appspec-file-structure-hooks-list-ecs)」を参照してください。

## Lambda AWS デプロイの AppSpec ファイル構造
<a name="lambda-appspec-structure"></a>

**注記**  
この AppSpec ファイルは、YAML で記述されますが、同じ構造を使用して JSON で Lambda デプロイ用の AppSpec ファイルを記述することもできます。JSON 形式の AppSpec ファイルの文字列は、常に引用符 ("") で囲みます。

```
version: {{0.0}}
resources: 
  {{lambda-function-specifications}}
hooks: 
  {{deployment-lifecycle-event-mappings}}
```

この構造の説明

** **バージョン** **  
このセクションでは、AppSpec ファイルのバージョンを指定します。この値を変更しないでください。これは必須です。現在許容されている値は、**0.0** のみです。将来の利用のために CodeDeploy で予約されます。  
文字列で **version** を指定します。

** **リソース** **  
このセクションでは、デプロイする Lambda 関数に関する情報を指定します。  
詳細については、「[AppSpec の「リソース」セクション (Amazon ECS と AWS Lambda デプロイのみ)](reference-appspec-file-structure-resources.md)」を参照してください。

** **hooks** **  
このセクションでは、デプロイを検証するために特定のデプロイライフサイクルイベントで実行する Lambda 関数を指定します。  
詳細については、「[AppSpec の「hooks」セクション](reference-appspec-file-structure-hooks.md)」を参照してください。

## EC2/オンプレミスデプロイの AppSpec ファイル構造
<a name="server-appspec-structure"></a>

```
version: {{0.0}}
os: {{operating-system-name}}
files:
  {{source-destination-files-mappings}}
permissions:
  {{permissions-specifications}}
hooks:
  {{deployment-lifecycle-event-mappings}}
```

この構造の説明

** **バージョン** **  
このセクションでは、AppSpec ファイルのバージョンを指定します。この値を変更しないでください。これは必須です。現在許容されている値は、**0.0** のみです。将来の利用のために CodeDeploy で予約されます。  
文字列で **version** を指定します。

** **os** **  
このセクションでは、デプロイ先であるインスタンスのオペレーティングシステムの値を指定します。これは必須です。次の値を指定できます。  
+ **linux**— インスタンスは Amazon Linux、Ubuntu Server、RHEL インスタンスです。
+ **windows**— インスタンスは Windows Server インスタンスです。
文字列で **os** を指定します。

** **ファイル** **  
このセクションでは、デプロイの **Install** イベント中に、インスタンスにコピーするファイル名を指定します。  
詳細については、「[AppSpec の「ファイル」セクション (EC2/オンプレミスデプロイのみ)](reference-appspec-file-structure-files.md)」を参照してください。

** **アクセス権限** **  
このセクションでは、インスタンスへのコピー中に特別なアクセス権限をファイルの `files` セクションに適用する方法を指定します。このセクションは、Amazon Linux、Ubuntu Server、および Red Hat Enterprise Linux (RHEL) インスタンスのみに適用されます。  
詳細については、「[AppSpec の「許可」セクション (EC2/オンプレミスデプロイのみ)](reference-appspec-file-structure-permissions.md)」を参照してください。

** **hooks** **  
このセクションでは、デプロイ中に特定のデプロイライフサイクルイベントで実行するスクリプトを指定します。  
詳細については、「[AppSpec の「hooks」セクション](reference-appspec-file-structure-hooks.md)」を参照してください。

**Topics**
+ [Amazon ECS デプロイ向けの AppSpec ファイル構造](#ecs-appspec-structure)
+ [Lambda AWS デプロイの AppSpec ファイル構造](#lambda-appspec-structure)
+ [EC2/オンプレミスデプロイの AppSpec ファイル構造](#server-appspec-structure)
+ [AppSpec の「ファイル」セクション (EC2/オンプレミスデプロイのみ)](reference-appspec-file-structure-files.md)
+ [AppSpec の「リソース」セクション (Amazon ECS と AWS Lambda デプロイのみ)](reference-appspec-file-structure-resources.md)
+ [AppSpec の「許可」セクション (EC2/オンプレミスデプロイのみ)](reference-appspec-file-structure-permissions.md)
+ [AppSpec の「hooks」セクション](reference-appspec-file-structure-hooks.md)