翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ステップ 5: スタック設定 JSON にアクセス情報を追加する
重要
AWS OpsWorks Stacks は新規顧客を受け付けなくなりました。既存のお客様は、2024 年 5 月 26 日までは OpsWorks コンソール、 API、 CLI、および CloudFormation リソースを通常どおり使用できますが、その時点でこれらのリソースは廃止されます。この移行に備えて、できるだけ早くスタックを AWS Systems Manager に移行することをおすすめします。詳細については、AWS OpsWorks Stacks サポート終了に関する FAQ および AWS Systems Manager アプリケーションマネージャへの AWS OpsWorks Stacks アプリケーションの移行 を参照してください。
generate.rb
レシピは、Redis サーバーのホスト名とポートを表すスタック設定およびデプロイメント JSON の属性ペアによって異なります。これらの属性は標準の [:deploy]
名前空間に含まれますが、AWS OpsWorks スタックによって自動的に定義されるわけではありません。代わりに、カスタム JSON オブジェクトをスタックに追加して属性とその値を定義します。次の例は、この例のカスタム JSON を示しています。
スタック設定およびデプロイメント JSON にアクセス情報を追加するには
-
AWS OpsWorks スタックの [Stack] ページで、[Stack Settings]、[Edit] の順にクリックします。
-
[Configuration Management] セクションで、[Custom Chef JSON] ボックスにアクセス情報を追加します。以下の変更を加えると、次の例のようになります。
-
elasticache_redis_example
をアプリケーションの短縮名で置き換えます。 -
host
とport
の値を、「ステップ 1: ElastiCache の Redis クラスターを作成します」で作成した ElastiCacheRedis サーバーインスタンスの値で置き換えます。
{ "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 で定義することによって、それらの属性を AWS OpsWorks に追加するよう [:deploy][elasticache_redis_example]
スタックに指示します。カスタム JSON を使用して既存の属性を上書きすることもできます。詳細については、「属性の上書き」を参照してください。