

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

# ステップ 2: Windows Server の Amazon EC2 instance インスタンスにデプロイするソースコンテンツを設定する
<a name="tutorials-windows-configure-content"></a>

ここでは、アプリケーションのソースコンテンツを設定して、Amazon EC2 インスタンスにデプロイできるものを準備します。このチュートリアルでは、 Windows Server を実行する Amazon EC2 インスタンスに 1 つのウェブページをデプロイします。これはウェブサーバーとして Internet Information Services (IIS) を実行します。このウェブページには、「Hello, World\$1」というシンプルなメッセージが表示されます。メッセージ

**Topics**
+ [ウェブページの作成](#tutorials-windows-configure-content-download-code)
+ [アプリケーションを実行するスクリプトの作成](#tutorials-windows-configure-content-create-scripts)
+ [アプリケーション仕様ファイルの追加](#tutorials-windows-configure-content-add-appspec-file)

## ウェブページの作成
<a name="tutorials-windows-configure-content-download-code"></a>

1. `HelloWorldApp` フォルダで `c:\temp` というサブディレクトリ (サブフォルダ) を作成し、そのフォルダに切り替えます。

   ```
   mkdir c:\temp\HelloWorldApp
   cd c:\temp\HelloWorldApp
   ```
**注記**  
`c:\temp` という場所、または `HelloWorldApp` というサブフォルダ名を必ず使用する必要はありません。別の場所またはサブフォルダ名を使用する場合は、必ずこのチュートリアル全体で使用してください。

1. テキストエディタを使用して、フォルダ内にファイルを作成します。ファイルを `index.html` と名付けます。

   ```
   notepad index.html
   ```

1. 次の HTML コードをファイルに追加し、ファイルを保存します。

   ```
   <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
   <html>
   <head>
     <title>Hello, World!</title>
     <style>
       body {
         color: #ffffff;
         background-color: #0188cc;
         font-family: Arial, sans-serif;  
         font-size:14px;
       }
     </style>
   </head>
   <body>
     <div align="center"><h1>Hello, World!</h1></div>
     <div align="center"><h2>You have successfully deployed an application using CodeDeploy</h2></div>
     <div align="center">
       <p>What to do next? Take a look through the <a href="https://aws.amazon.com/codedeploy">CodeDeploy Documentation</a>.</p>
     </div>
   </body>
   </html>
   ```

## アプリケーションを実行するスクリプトの作成
<a name="tutorials-windows-configure-content-create-scripts"></a>

次に、ターゲットの Amazon EC2 インスタンスでウェブサーバーをセットアップするために CodeDeploy が使用するスクリプトを作成します。

1. `index.html` ファイルが保存されているのと同じサブフォルダで、テキストエディタを使用して別のファイルを作成します。ファイルを `before-install.bat` と名付けます。

   ```
   notepad before-install.bat
   ```

1. 次のバッチスクリプトコードをファイルに追加し、ファイルを保存します。

   ```
   REM Install Internet Information Server (IIS).
   c:\Windows\Sysnative\WindowsPowerShell\v1.0\powershell.exe -Command Import-Module -Name ServerManager
   c:\Windows\Sysnative\WindowsPowerShell\v1.0\powershell.exe -Command Install-WindowsFeature Web-Server
   ```

## アプリケーション仕様ファイルの追加
<a name="tutorials-windows-configure-content-add-appspec-file"></a>

次に、ウェブページとバッチスクリプトファイルに加えて、 アプリケーション指定のファイル (AppSpec ファイル) を追加します。AppSpec ファイルは、CodeDeploy によって次の方式で使用される [YAML](http://www.yaml.org) ファイルです。
+ アプリケーションリビジョンのソースファイルを、インスタンスの宛先にマッピングします。
+ デプロイ中にインスタンスで実行するスクリプトを指定します。

AppSpec のファイル名は、`appspec.yml` とする必要があります。アプリケーションソースコードのルートフォルダに配置する必要があります。

1. `index.html` および `before-install.bat` ファイルが保存されているのと同じサブフォルダで、テキストエディタを使用して別のファイルを作成します。ファイルを `appspec.yml` と名付けます。

   ```
   notepad appspec.yml
   ```

1. 次の YAML コードをファイルに追加し、ファイルを保存します。

   ```
   version: 0.0
   os: windows
   files:
     - source: \index.html
       destination: c:\inetpub\wwwroot
   hooks:
     BeforeInstall:
       - location: \before-install.bat
         timeout: 900
   ```

CodeDeploy は、この AppSpec ファイルを使用してアプリケーションソースコードのルートフォルダにある `index.html` ファイルを、ターゲット Amazon EC2 インスタンスの `c:\inetpub\wwwroot` フォルダにコピーします。デプロイ中に、CodeDeploy は `before-install.bat` デプロイライフサイクルイベントの間にターゲット Amazon EC2 インスタンスで **BeforeInstall** バッチスクリプトを実行します。このスクリプトの実行に 900 秒 (15 分) 以上かかる場合、CodeDeploy はデプロイを停止し、Amazon EC2 インスタンスへのデプロイを失敗とマークします。

これらの設定の詳細については、「[CodeDeploy AppSpec ファイルのリファレンス](reference-appspec-file.md)」を参照してください。

**重要**  
このファイルの項目間のスペースの場所と数は重要です。間隔が正しくない場合、 CodeDeploy はデバッグが困難な可能性のあるエラーを発生させます。詳細については、「[AppSpec ファイルの間隔](reference-appspec-file.md#reference-appspec-file-spacing)」を参照してください。