ステップ 2: Windows Server の Amazon EC2 instance インスタンスにデプロイするソースコンテンツを設定する - AWS CodeDeploy

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

ステップ 2: Windows Server の Amazon EC2 instance インスタンスにデプロイするソースコンテンツを設定する

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

ウェブページの作成

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

    mkdir c:\temp\HelloWorldApp cd c:\temp\HelloWorldApp
    注記

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

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

    notepad index.html
  3. 次の 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>

アプリケーションを実行するスクリプトの作成

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

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

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

    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

アプリケーション仕様ファイルの追加

次に、ウェブページとバッチスクリプトファイルに加えて、アプリケーション仕様ファイル (AppSpec ファイル) を追加します。 AppSpec ファイルは、 が次の CodeDeploy 目的で使用する YAML 形式のファイルです。

  • アプリケーションリビジョンのソースファイルを、インスタンスの宛先にマッピングします。

  • デプロイ中にインスタンスで実行するスクリプトを指定します。

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

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

    notepad appspec.yml
  2. 次の 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 はBeforeInstallデプロイライフサイクルイベント中にターゲット Amazon EC2 インスタンスでbefore-install.batバッチスクリプトを実行します。このスクリプトの実行に 900 秒 (15 分) 以上かかる場合、 CodeDeploy はデプロイを停止し、Amazon EC2 インスタンスへのデプロイを失敗としてマークします。

これらの設定の詳細については、「CodeDeploy AppSpec ファイルリファレンス」を参照してください。

重要

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