

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

# ステップ 13: クックブックを更新してデータバッグを使用する
<a name="gettingstarted-cookbooks-data-bags"></a>

**重要**  
この AWS OpsWorks Stacks サービスは 2024 年 5 月 26 日にサポート終了となり、新規および既存のお客様の両方で無効になっています。できるだけ早くワークロードを他のソリューションに移行することを強くお勧めします。移行についてご質問がある場合は、[AWS re:Post](https://repost.aws/) または[AWS プレミアムサポート](https://aws.amazon.com/support)を通じて AWS サポート チームにお問い合わせください。

一連のデータバッグ内のインスタンスに OpsWorks スタックが保存するスタック設定を参照するレシピを追加して、クックブックを更新します。このレシピは、インスタンスに保存された特定のスタック設定についてログにメッセージを表示します。詳細については、「[OpsWorks スタックデータバッグリファレンス](data-bags.md)」を参照してください。

**インスタンスのクックブックを更新し、新しいレシピを実行するには**

1. ローカルワークステーションの `recipes` ディレクトリにある `opsworks_cookbook_demo` サブディレクトリで、以下のコードを含む `data_bags.rb` という名前のファイルを作成します。

   ```
   instance = search("aws_opsworks_instance").first
   layer = search("aws_opsworks_layer").first
   stack = search("aws_opsworks_stack").first
   
   Chef::Log.info("********** This instance's instance ID is '#{instance['instance_id']}' **********")
   Chef::Log.info("********** This instance's public IP address is '#{instance['public_ip']}' **********")
   Chef::Log.info("********** This instance belongs to the layer '#{layer['name']}' **********")
   Chef::Log.info("********** This instance belongs to the stack '#{stack['name']}' **********")
   Chef::Log.info("********** This stack gets its cookbooks from '#{stack['custom_cookbooks_source']['url']}' **********")
   ```

   このレシピは、インスタンスに保存された特定のスタック設定についてログにメッセージを表示します。

1. ターミナルまたはコマンドプロンプトで、**tar** コマンドを使用して `opsworks_cookbook_demo.tar.gz` というファイルの新しいバージョンを作成します。これには、`opsworks_cookbook_demo` ディレクトリとその更新されたコンテンツが含まれます。

1. 更新済みの `opsworks_cookbook_demo.tar.gz` ファイルを S3 バケットにアップロードします。

1. 「[ステップ 5: インスタンスのクックブックを更新し、レシピを実行する](gettingstarted-cookbooks-copy-cookbook.md)」の手順に従って、インスタンスのクックブックを更新し、レシピを実行します。「レシピを実行するには」の手順の [**Recipes to execute**] に、「**opsworks\$1cookbook\$1demo::data\$1bags**」と入力します。

**レシピをテストするには**

1. 前の手順の [**Running command execute\$1recipes**] ページを表示した状態で、[**cookbooks-demo1**]、[**Log**] の [**show**] を選択します。[**execute\$1recipes**] ログページが表示されます。

1. ログを下にスクロールして、次のようなエントリを見つけます。

   ```
   [2015-11-14T14:39:06+00:00] INFO: ********** This instance's instance ID is 'f80fa119-81ab-4c3c-883d-6028e52c89EX' **********
   [2015-11-14T14:39:06+00:00] INFO: ********** This instance's public IP address is '192.0.2.0' **********
   [2015-11-14T14:39:06+00:00] INFO: ********** This instance belongs to the layer 'MyCookbooksDemoLayer' **********
   [2015-11-14T14:39:06+00:00] INFO: ********** This instance belongs to the stack 'MyCookbooksDemoStack' **********
   [2015-11-14T14:39:06+00:00] INFO: ********** This stack gets its cookbooks from 'https://s3.amazonaws.com/amzn-s3-demo-bucket/opsworks_cookbook_demo.tar.gz' **********
   ```

   このレシピは、インスタンスに保存された特定のスタック設定についてメッセージを表示します。

[次のステップ](gettingstarted-cookbooks-iteration.md)では、クックブックを更新してレシピコードを複数回実行します。