翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ステップ 12: カスタムを使用するようにクックブックを更新する JSON
重要
- AWS OpsWorks Stacks サービスは 2024 年 5 月 26 日にサポート終了となり、新規および既存のお客様の両方で無効になっています。できるだけ早くワークロードを他のソリューションに移行することを強くお勧めします。移行についてご質問がある場合は、 にお問い合わせください。 AWS Support でのチーム AWS re:Post
インスタンスに保存されているカスタム を参照するレシピを追加してJSON、クックブックを更新します。
スタックを作成、更新、またはクローンするたびに、またはデプロイまたはスタックコマンドを実行するときに、カスタムJSON形式で情報を指定できます。これは、データベースからこのデータを取得する代わりに、インスタンスのレシピでデータのごく一部を固定するときに役立ちます。詳細については、「カスタム の使用 JSON」を参照してください。
このチュートリアルでは、カスタム を使用してJSON、顧客請求書に関する架空の情報を提供します。カスタムについてはJSON、このステップの後半で説明します。
インスタンスのクックブックを更新し、新しいレシピを実行するには
-
ローカルワークステーションの
recipes
ディレクトリにあるopsworks_cookbook_demo
サブディレクトリで、以下のレシピコードを含むcustom_json.rb
という名前のファイルを作成します。Chef::Log.info("********** For customer '#{node['customer-id']}' invoice '#{node['invoice-number']}' **********") Chef::Log.info("********** Invoice line number 1 is a '#{node['line-items']['line-1']}' **********") Chef::Log.info("********** Invoice line number 2 is a '#{node['line-items']['line-2']}' **********") Chef::Log.info("********** Invoice line number 3 is a '#{node['line-items']['line-3']}' **********")
このレシピは、カスタム の値に関するメッセージをログに表示しますJSON。
-
ターミナルまたはコマンドプロンプトで、tar コマンドを使用して
opsworks_cookbook_demo.tar.gz
というファイルの新しいバージョンを作成します。これには、opsworks_cookbook_demo
ディレクトリとその更新されたコンテンツが含まれます。 -
更新済みの
opsworks_cookbook_demo.tar.gz
ファイルを S3 バケットにアップロードします。 -
「ステップ 5: インスタンスのクックブックを更新し、レシピを実行する」の手順に従って、インスタンスのクックブックを更新し、レシピを実行します。「レシピを実行するには」の手順の [Recipes to execute] に、「
opsworks_cookbook_demo::custom_json
」と入力します。アドバンスト 、カスタム Chef JSONには、次のカスタム を入力しますJSON。{ "customer-id": "0123", "invoice-number": "9876", "line-items": { "line-1": "tractor", "line-2": "passenger car", "line-3": "trailer" } }
レシピをテストするには
-
前の手順の [Running command execute_recipes] ページを表示した状態で、[cookbooks-demo1]、[Log] の [show] を選択します。[execute_recipes] ログページが表示されます。
-
ログを下にスクロールして、次のようなエントリを見つけます。
[2015-11-14T14:18:30+00:00] INFO: ********** For customer '0123' invoice '9876' ********** [2015-11-14T14:18:30+00:00] INFO: ********** Invoice line number 1 is a 'tractor' ********** [2015-11-14T14:18:30+00:00] INFO: ********** Invoice line number 2 is a 'passenger car' ********** [2015-11-14T14:18:30+00:00] INFO: ********** Invoice line number 3 is a 'trailer' **********
これらのエントリには、アドバンスト JSON 、カスタム Chef ボックスに入力されたカスタム JSON からの情報が表示されます。
次のステップ では、クックブックを更新してデータバッグから情報を取得します。データバッグは、 AWS OpsWorks スタックは各インスタンスに を保存します。