AWS CloudFormation でブートストラッピングする - AWS クラウドの PowerShell DSC

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

AWS CloudFormation でブートストラッピングする

AWS CloudFormation により、アプリケーションの実行に必要なリソースのセットを、宣言型の JSON (JavaScript Object Notation) の形式で定義できます。テンプレート内のリソースには、Amazon EC2 インスタンス、Elastic Load Balancer などを含めることができます。AWS CloudFormationは、すべての AWS リソースのプロビジョニングを行い、Amazon EC2 インスタンス上で稼働するアプリケーションのブートストラップに使用できる技術は、次のとおりです。このクイックスタートリファレンスデプロイメントのインスタンスは、AWS CloudFormationヘルパープロセスと呼ばれますcfn-init、スクリプトをダウンロードして初期化コマンドを定義することができます。インスタンスが起動して実行されると、PowerShell DSC によって Windows やアプリケーション固有の設定が行われます。

AWS CloudFormationメタデータと cfn-init

AWS CloudFormation テンプレートのすべてのリソースにメタデータをアタッチできます。cfn-init ヘルパースクリプトはリソースメタデータを取得して解釈し、ファイルの作成とダウンロード、サービスの開始、インスタンスで実行されるコマンドの定義を行います。図 4 に、AWS CloudFormation を使用してインスタンスをブートストラップするために、このクイックスタートリファレンスデプロイで使用する技術のシンプルな例を示します。


        を使用した DSC クライアントインスタンスのブートストラップのシンプルな例AWS CloudFormation

図 4: AWS CloudFormation を使用した DSC クライアントインスタンスのブートストラップのシンプルな例

インスタンスで実行された cfn-init は、AWS::CloudFormation::Init メタデータキーにルーティングされたリソースのメタデータを探します。メタデータは、設定キーに編成されます。オプションでこれを configset にグループ化することができます。configset を使用すると、コマンドのシーケンスを個別のグループに編成できます。また、cfn-init は各 configset を順番に処理します。この処理では、図 4 に示す点に注意する必要があります。

  • 41号線と42号線— 2 つの configset が定義されます。1 つはコンピュータの名前変更と再起動を、もう 1 つは再起動時の DSC クライアントのブートストラップを実行します。

  • 47 号線— 単一の PowerShell コマンドrenameconfigset を使用します。コンピュータの名前変更と再起動を実行します。各 configset 内には様々なセクションがある点に注意してください。各セクションは独自のファイルセットの作成、サービスの開始、またはコマンドを実行します。

  • 48号線waitAfterCompletionキーは、コマンドによって再起動が行われる場合に、コマンド終了後にどのぐらい待機するかを指定します (秒単位)。デフォルト値は 60 秒です。値を forever にすると cfn-init が終了し、再起動が完了した後に再開されます。

  • 53号線— 再起動の後に SetPullMode.ps1 スクリプトが実行され、PowerShell DSC クライアントがブートストラップされます。