ステップ 5: スタック設定 JSON にアクセス情報を追加する - AWS OpsWorks

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

ステップ 5: スタック設定 JSON にアクセス情報を追加する

generate.rb レシピは、Redis サーバーのホスト名とポートを表すスタック設定およびデプロイメント JSON の属性ペアによって異なります。これらの属性は標準の [:deploy] 名前空間に含まれますが、AWS OpsWorks スタックによって自動的に定義されるわけではありません。代わりに、カスタム JSON オブジェクトをスタックに追加して属性とその値を定義します。次の例は、この例のカスタム JSON を示しています。

スタック設定およびデプロイメント JSON にアクセス情報を追加するには

  1. AWS OpsWorks スタックの [Stack] ページで、[Stack Settings]、[Edit] の順にクリックします。

  2. [Configuration Management] セクションで、[Custom Chef JSON] ボックスにアクセス情報を追加します。以下の変更を加えると、次の例のようになります。

    { "deploy": { "elasticache_redis_example": { "redis": { "host": "mycluster.XXXXXXXXX.amazonaws.com", "port": "6379" } } } }

この方法の利点は、カスタムクックブックに変更を加えることなしに、ポートまたはホストの値をいつでも変更できることです。AWS OpsWorksスタックはカスタム JSON を組み込み JSON にマージし、以降のすべてのライフサイクルイベントでスタックのインスタンスにインストールします。これにより、アプリケーションは、「ステップ 3: カスタムクックブックの作成およびデプロイする」で説明した Chef ノード構文を使用して属性値にアクセスできるようになります。次回アプリケーションをデプロイするときには、AWS OpsWorks スタックによって、新しい定義が含まれたスタック設定およびデプロイメント JSON がインストールされ、generate.rb によって、ホストとポートの値が更新された設定ファイルが作成されます。

注記

[:deploy] にはデプロイするすべてのアプリケーションの属性が自動的に含まれるので、スタック設定 JSON には [:deploy][elasticache_redis_example] がすでに含まれています。ただし、[:deploy][elasticache_redis_example] には [:redis] 属性が含まれていないため、カスタム JSON で定義することによって、それらの属性を [:deploy][elasticache_redis_example] に追加するよう AWS OpsWorks スタックに指示します。カスタム JSON を使用して既存の属性を上書きすることもできます。詳細については、「属性の上書き」を参照してください。