

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

# CodeDeploy AppSpec ファイルのリファレンス
<a name="reference-appspec-file"></a>

このセクションは参照のみを目的としています。AppSpec ファイルの概念の概要については、[CodeDeploy アプリケーション仕様 (AppSpec) ファイル](application-specification-files.md) を参照してください。

アプリケーション仕様ファイル (AppSpec ファイル) は、CodeDeploy がデプロイを管理するために使用する [YAML](http://www.yaml.org) 形式または JSON 形式のファイルです。

**注記**  
EC2/オンプレミスデプロイの AppSpec ファイルは、ローカルデプロイを実行しない限り、`appspec.yml` という名前にする必要があります。詳細については、「[ローカルのデプロイを作成する。](deployments-local.md#deployments-local-deploy)」を参照してください。

**Topics**
+ [Amazon ECS コンピューティングプラットフォームの AppSpec ファイル](#appspec-reference-ecs)
+ [AWS Lambda コンピューティングプラットフォーム上の AppSpec ファイル](#appspec-reference-lambda)
+ [EC2/オンプレミスコンピューティングプラットフォームの AppSpec ファイル](#appspec-reference-server)
+ [AppSpec ファイル構造](reference-appspec-file-structure.md)
+ [AppSpec ファイルの例](reference-appspec-file-example.md)
+ [AppSpec ファイルの間隔](#reference-appspec-file-spacing)
+ [AppSpec ファイルの検証とファイルの場所](reference-appspec-file-validate.md)

## Amazon ECS コンピューティングプラットフォームの AppSpec ファイル
<a name="appspec-reference-ecs"></a>

Amazon ECS コンピューティングプラットフォームアプリケーションでは、AppSpec ファイルは CodeDeploy が判断するために使用されます。
+  Amazon ECS タスク定義ファイル これは、AppSpec ファイルの `TaskDefinition` 命令の ARN で指定されます。
+  置き換えタスクのコンテナとポートは、Application Load Balancer または Network Load Balancer がデプロイ中にトラフィックを再ルーティングする場所を設定します。これは、AppSpec ファイルの `LoadBalancerInfo` 命令で指定されます。
+  サービスが実行されるプラットフォームのバージョン、そのサブネット、およびそのセキュリティグループなどの、Amazon ECS サービスに関するオプション情報。
+  Amazon ECS のデプロイ中、ライフサイクルイベントに応じたフック中に実行される、オプションの Lambda 関数。詳細については、「[Amazon ECS のデプロイ向けの AppSpec の「hooks」セクション](reference-appspec-file-structure-hooks.md#appspec-hooks-ecs)」を参照してください。

## AWS Lambda コンピューティングプラットフォーム上の AppSpec ファイル
<a name="appspec-reference-lambda"></a>

 AWS Lambda コンピューティングプラットフォームアプリケーションの場合、AppSpec ファイルは CodeDeploy が以下を判断するために使用されます。
+ デプロイする Lambda 関数のバージョン。
+ 検証テストとして使用する Lambda 関数。

AppSpec ファイルは、YAML 形式または JSON 形式とすることができます。デプロイの作成時に、AppSpec ファイルの内容を直接 CodeDeploy コンソールに入力することもできます。

## EC2/オンプレミスコンピューティングプラットフォームの AppSpec ファイル
<a name="appspec-reference-server"></a>

 アプリケーションで EC2/オンプレミスコンピューティングプラットフォームを使用する場合、AppSpec ファイルは、`appspec.yml` という名前の YAML 形式のファイルで、アプリケーションのソースコードのディレクトリ構造のルートに配置する必要があります。それ以外の場合、デプロイは失敗します。CodeDeploy を決定するために使用されます。
+ Amazon S3 または GitHub のアプリケーションリビジョンからインスタンスにインストールする必要があるもの。
+ デプロイライフサイクルイベントに応じて実行するライフサイクルイベントフック。

AppSpec ファイルを完了したら、デプロイするコンテンツとともに、アーカイブファイル (zip、tar、または圧縮 tar) にバンドルします。詳細については、「[CodeDeploy のアプリケーションリビジョンの操作](application-revisions.md)」を参照してください。

**注記**  
tar および圧縮 tar アーカイブファイル形式 (.tar および .tar.gz) は、Windows Server インスタンスではサポートされていません。

アーカイブファイル (CodeDeploy では *リビジョン* と呼ばれます) をバンドルしたら、Amazon S3 バケットまたは Git レポジトリにアップロードします。次に、CodeDeploy を使用してリビジョンをデプロイします。手順については、「[CodeDeploy でデプロイを作成する](deployments-create.md)」を参照してください。

EC2/オンプレミスコンピューティングプラットフォームのデプロイの appspec.yml は、リビジョンのルートディレクトリに保存されます。詳細については、「[EC2/オンプレミスデプロイに AppSpec ファイルを追加する](application-revisions-appspec-file.md#add-appspec-file-server)」および「[CodeDeploy のリビジョンを計画する](application-revisions-plan.md)」を参照してください。

## AppSpec ファイルの間隔
<a name="reference-appspec-file-spacing"></a>

AppSpec ファイルの間隔の正しい形式を以下に示します。角括弧に含まれた番号は、項目の間に必要なスペースの数を示します。たとえば、`[4]` は、項目の間に 4 つのスペースを挿入することを意味します。CodeDeploy は、AppSpec ファイルの場所とスペースの数が正しくない場合、デバッグが困難なエラーを発生させることがあります。

```
version:[1]version-number
os:[1]operating-system-name
files:
[2]-[1]source:[1]source-files-location
[4]destination:[1]destination-files-location
permissions:
[2]-[1]object:[1]object-specification
[4]pattern:[1]pattern-specification
[4]except:[1]exception-specification
[4]owner:[1]owner-account-name
[4]group:[1]group-name
[4]mode:[1]mode-specification
[4]acls: 
[6]-[1]acls-specification 
[4]context:
[6]user:[1]user-specification
[6]type:[1]type-specification
[6]range:[1]range-specification
[4]type:
[6]-[1]object-type
hooks:
[2]deployment-lifecycle-event-name:
[4]-[1]location:[1]script-location
[6]timeout:[1]timeout-in-seconds
[6]runas:[1]user-name
```

正しい間隔が設定された AppSpec ファイルの例を次に示します。

```
version: 0.0
os: linux
files:
  - source: /
    destination: /var/www/html/WordPress
hooks:
  BeforeInstall:
    - location: scripts/install_dependencies.sh
      timeout: 300
      runas: root
  AfterInstall:
    - location: scripts/change_permissions.sh
      timeout: 300
      runas: root
  ApplicationStart:
    - location: scripts/start_server.sh
    - location: scripts/create_test_db.sh
      timeout: 300
      runas: root
  ApplicationStop:
    - location: scripts/stop_server.sh
      timeout: 300
      runas: root
```

間隔の詳細については、[YAML](http://www.yaml.org) の仕様を参照してください。