翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
カスタム の使用 JSON
重要
この AWS OpsWorks Stacks サービスは 2024 年 5 月 26 日にサポート終了となり、新規および既存のお客様の両方で無効になっています。できるだけ早くワークロードを他のソリューションに移行することを強くお勧めします。移行についてご質問がある場合は、 AWS re:Post
いくつかの AWS OpsWorks スタックアクションでは、 AWS OpsWorks スタックがインスタンスにインストールしJSON、レシピで使用できるカスタム を指定できます。
カスタム は、以下の状況JSONで指定できます。
-
スタックを作成、更新、またはクローン化する
AWS OpsWorks スタックは、後続のすべてのライフサイクルイベントのカスタム をすべてのインスタンスJSONにインストールします。
-
デプロイメントコマンドまたはスタックコマンドを実行する
AWS OpsWorks スタックは、そのイベントのインスタンスにのみカスタムJSONを渡します。
カスタム JSON は、有効な JSON オブジェクトで表され、その形式である必要があります。以下に例を示します。
{ "att1": "value1", "att2": "value2" ... }
AWS OpsWorks スタックは次のJSON場所にカスタム を保存します。
Linux インスタンスの場合:
-
/var/chef/runs/
run-ID
/attribs.json -
/var/chef/runs/
run-ID
/nodes/hostname
.json
Windows インスタンスの場合:
-
drive
:\chef\runs\run-ID
\attribs.json -
drive
:\chef\runs\run-ID
\nodes\hostname
.json
注記
Linux 用の Chef 11.10 以前のバージョンでは、カスタム JSONは Linux インスタンスの次のパスにあり、Windows インスタンスは使用できず、 attribs.json
ファイルもありません。ログは、 と同じフォルダまたはディレクトリに保存されますJSON。Linux 用の JSON Chef 11.10 以前のバージョンのカスタムの詳細については、「カスタムログと Chef ログによる属性の上書きJSON」を参照してください。 https://docs.aws.amazon.com/opsworks/latest/userguide/troubleshoot-debug-log.html#troubleshoot-debug-log-instance
/var/lib/aws/opsworks/chef/
hostname
.json
上記のパスでは、 run-ID
は AWS OpsWorks スタックがインスタンスで実行される各 Chef に割り当てる一意の ID であり、 hostname
はインスタンスのホスト名です。
Chef レシピJSONからカスタムにアクセスするには、標準の Chef node
構文を使用します。
たとえば、デプロイするアプリケーション用のシンプルな設定 (アプリケーションが最初に表示されるかどうか、アプリケーションの初期の前景色と背景色など) を定義するとします。次のようにJSON、 オブジェクトを使用してこれらのアプリ設定を定義するとします。
{ "state": "visible", "colors": { "foreground": "light-blue", "background": "dark-gray" } }
スタックのカスタムJSONを宣言するには:
-
スタックのページで、[Stack Settings]、[Edit] の順番に選択します。
-
カスタム Chef でJSON、 JSON オブジェクトを入力し、保存を選択します。
注記
カスタム JSONは、デプロイ、レイヤー、スタックレベルで宣言できます。カスタムを個々のデプロイまたはレイヤーにのみ表示する場合はJSON、これを行うことができます。または、例えば、スタックレベルでJSON宣言されたカスタム をレイヤーレベルでJSON宣言されたカスタム で一時的に上書きできます。JSON 複数のレベルでカスタムを宣言する場合、デプロイレベルでJSON宣言されたカスタムは、レイヤーレベルとスタックレベルの両方でJSON宣言されたカスタムよりも優先されます。レイヤーレベルでJSON宣言されたカスタムは、スタックレベルでのみJSON宣言されたカスタムを上書きします。
AWS OpsWorks スタックコンソールを使用してデプロイJSONのカスタムを指定するには、アプリケーションのデプロイページでアドバンストを選択します。カスタム Chef ボックスにJSONカスタムJSONを入力し、保存を選択します。
AWS OpsWorks スタックコンソールを使用してJSONレイヤーのカスタムを指定するには、レイヤーページで、目的のレイヤーの設定を選択します。カスタム ボックスにJSONカスタム JSON を入力し、保存 を選択します。
詳細については、 OpsWorks レイヤーの設定の編集およびアプリケーションのデプロイを参照してください。
デプロイまたはスタックコマンドを実行すると、レシピは、カスタムJSONオブジェクトの階層に直接マッピングされる標準の Chef node
構文を使用して、これらのカスタム値を取得できます。たとえば、次のレシピコードは、前述のカスタムJSON値に関するメッセージを Chef ログに書き込みます。
Chef::Log.info("********** The app's initial state is '#{node['state']}' **********") Chef::Log.info("********** The app's initial foreground color is '#{node['colors']['foreground']}' **********") Chef::Log.info("********** The app's initial background color is '#{node['colors']['background']}' **********")
このアプローチは、レシピにデータを渡すのに役立ちます。 AWS OpsWorks スタックはそのデータをインスタンスに追加し、 レシピは標準の Chef node
構文を使用してデータを取得できます。
注記
カスタムJSONは 120 KB に制限されています。さらに容量が必要な場合は、Amazon Simple Storage Service (Amazon S3) でデータの一部を保存することをお勧めします。その後、カスタムレシピは AWSCLI