AWS OpsWorks
ユーザーガイド (API バージョン 2013-02-18)

カスタムクックブックの更新

AWS OpsWorks スタックにカスタムクックブックを渡すと、新たに起動された各インスタンスに対し、組み込み Setup レシピによってローカルキャッシュが作成され、そこにクックブックがダウンロードされます。その後 AWS OpsWorks スタックは、リポジトリからではなくキャッシュからレシピを実行します。リポジトリ内のカスタムクックブックに変更を加えた場合、ご使用のインスタンスのローカルキャッシュに、更新したクックブックがインストールされていることを確認する必要があります。AWS OpsWorks スタックは最新のクックブックを新しいインスタンスに対し、その起動時に自動的にデプロイします。ただし、既存のインスタンスは事情が異なります。

  • オンラインのインスタンスには、更新したカスタムクックブックを手動でデプロイする必要があります。

  • 負荷ベースのインスタンスと時間ベースのインスタンスを含め、オフラインの Instance Store-Backed インスタンスには、更新したカスタムクックブックをデプロイする必要はありません。

    インスタンスの再起動時に、最新のクックブックが AWS OpsWorks スタックによって自動的にデプロイされます。

  • 負荷ベースまたは時間ベースでない、オフラインの EBS-backed 24/7 インスタンスを開始する必要があります。

  • オフライン EBS-Backed の負荷ベースのインスタンスと時間ベースのインスタンスを開始することはできません。そこで、オフラインインスタンスを削除し、新しいインスタンスを追加してそれらを置き換えるのが最も簡単な方法となります。

    それらは新しいインスタンスと見なされるので、AWS OpsWorks スタックはその起動時に最新のカスタムクックブックを自動的にデプロイします。

カスタムクックブックを手動で更新するには

  1. 変更後のクックブックでリポジトリを更新します。クックブックのルートファイル名、リポジトリの場所、アクセス権は変更しないでください。AWS OpsWorks スタックは、最初にクックブックがインストールされたときに指定されたキャッシュの URL を使用します。

    • Amazon S3 または HTTP のリポジトリの場合、元の .zip ファイルを同じ名前の新しい .zip ファイルに置き換えます。

    • Git または Subversion のリポジトリの場合、スタックの設定を編集して、[Branch/Revision] フィールドを新しいバージョンに変更します。

  2. スタックのページで、[Run Command] をクリックし、[Update Custom Cookbooks] コマンドを選択します。

    
                     [Run Command] ページ
  3. 必要に応じてコメントを追加します。

  4. 必要に応じて、AWS OpsWorks スタックによってインスタンスにインストールされるスタック設定およびデプロイ属性にカスタム属性を追加するコマンド用に、カスタム JSON オブジェクトを指定します。詳細については、「カスタム JSON の使用」および「属性の上書き」を参照してください。

  5. デフォルトでは、AWS OpsWorks スタックはすべてのインスタンスのクックブックを更新します。更新するインスタンスを指定するには、ページの最後にある一覧から適切なインスタンスを選択します。Layer 内のすべてのインスタンスを選択するには、左側の列で目的の Layer のチェックボックスをオンにします。

  6. [Update Custom Cookbooks] をクリックすると、更新済みのクックブックがインストールされます。AWS OpsWorks スタックにより指定したインスタンスのキャッシュ済みのカスタムクックブックが削除され、リポジトリから新しいクックブックがインストールされます。

注記

この手順は、既存のインスタンスで、古いバージョンのクックブックがキャッシュに存在する場合のみ必要となります。その後レイヤーにインスタンスを追加した場合、AWS OpsWorks スタックによって現在リポジトリにあるクックブックがデプロイされ、自動的に最新版が適用されます。