起動設定を使用して Amazon EC2 Windows インスタンスに AWS CodeDeploy エージェントを自動的にインストールする方法を教えてください。

最終更新日: 2019 年 8 月 2 日

Amazon Elastic Compute Cloud (Amazon EC2) Windows インスタンスに AWS CodeDeploy エージェントをインストールしたいと考えています。起動設定を使用してこれを行う方法を教えてください。

簡単な説明

以下のいずれかを実行します。

  • 起動設定を利用し、ユーザーデータを使用して Windows PowerShell コマンドをインスタンスに渡します。
  • CodeDeploy がインストールされているカスタムの Amazon Machine Image (AMI) からインスタンスを起動します。

解決方法

Windows PowerShell コマンドを使用して起動設定の詳細を指定する

注意: 次の手順では、Amazon EC2 Auto Scaling l起動構成を使用して CodeDeploy エージェントとエージェントアップデーターをインストールするものですが、個々のインスタンスに指示を適用することもできます。

1.    Amazon EC2 コンソールを開きます。

2.    ナビゲーションペインの AUTO SCALING セクションで、[Launch Configurations] を選択します。

3.    [Create Launch Configuration] を選択します。

4.    CodeDeploy エージェントによってサポートされている Microsoft Windows AMI を選択します。

5.    インスタンスタイプを選択してから、[Next: Configure details] を選択します。

注意: Windows Server を実行している場合は、t2.medium インスタンス以上を使用します。

6.    [Name] に、起動設定の名前を入力します。

7.    IAM ロールでは、CodeDeploy のアクセス許可と互換性がある AWS Identity and Access Management (IAM) ロールを選択します。

8.    [Advanced Details] を選択します。

9.    [User data] に、以下の Windows PowerShell コマンドを入力します。

<powershell>
Set-ExecutionPolicy RemoteSigned -Force
Import-Module AWSPowerShell
$REGION = (ConvertFrom-Json (Invoke-WebRequest -Uri http://169.254.169.254/latest/dynamic/instance-identity/document -UseBasicParsing).Content).region
New-Item -Path c:\temp -ItemType "directory" -Force
powershell.exe -Command Read-S3Object -BucketName aws-codedeploy-$REGION -Key latest/codedeploy-agent-updater.msi -File c:\temp\codedeploy-agent-updater.msi
// Start-Sleep -Seconds 30 *optional
c:\temp\codedeploy-agent-updater.msi /quiet /l c:\temp\host-agent-updater-log.txt
</powershell>

注意: これらの Windows PowerShell コマンドを実行すると、CodeDeploy エージェントアップデータがインストールされます。新規および既存の両方のインスタンスに、Windows Server 用の CodeDeploy エージェントアップデータをインストールすることをお勧めします。

10.    起動設定のストレージとセキュリティグループの手順を完了するか、[Skip to review] を選択します。

11.    [Create launch configuration] を選択します。

CodeDeploy がインストールされているカスタム AMI からインスタンスを起動する

警告: 以下の手順を順番に実行します。AMI を作成する前にインスタンスを正しく設定しないと、デプロイメントは失敗します。

1.    Windows を実行している Amazon EC2 インスタンスに CodeDeploy エージェントがインストールされていることを確認します。

2.    Windows インスタンスに接続します

3.    AWS CodeDeploy エージェントを停止状態に設定し、起動を手動に変更するには、以下のコマンドを実行します。

Set-Service -Name 'codedeployagent' -StartupType 'manual' -Status 'stopped'

4.    AWS CodeDeploy エージェントを起動してスタートアップの種類を自動に変更するには、インスタンスユーザーデータで以下のコマンドを実行します。

警告: 以下のコマンドは、インスタンスユーザーデータで実行される最後のコマンドである必要があります。

Set-Service -Name 'codedeployagent' -StartupType 'automatic' -Status 'running'

5.    インスタンスからカスタム AMI を作成します。

このカスタム AMI を使用して起動するすべてのインスタンスには、CodeDeploy エージェントがすでにインストールされています。


この記事は役に立ちましたか?

改善できることはありますか?


さらにサポートが必要な場合