翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Configure レシピ
重要
- AWS OpsWorks Stacks サービスは 2024 年 5 月 26 日にサポート終了となり、新規および既存のお客様の両方で無効になっています。できるだけ早くワークロードを他のソリューションに移行することを強くお勧めします。移行についてご質問がある場合は、 にお問い合わせください。 AWS Support でのチーム AWS re:Post
Configure レシピは、レイヤーの Configure ライフサイクルイベントに割り当てられます。このイベントは、スタックのすべてのインスタンスで、インスタンスがオンライン状態になったとき、またはオンライン状態から別の状態になったときに発生します。Configure レシピを使用することで、必要に応じ、変更に対応してインスタンスの設定を調整します。Configure レシピを実装するときは、スタックの設定の変更がこのレイヤーとは無関係なインスタンスに関与している場合があることに注意してください。このレシピは、適切に応答できる必要があります。それは、場合によっては何も処理を実行しないことがあることを意味します。
tomcat::configure
tomcat::configure
レシピは、レイヤーの Configure ライフサイクルイベントに対応します。
include_recipe 'tomcat::context' # Optional: Trigger a Tomcat restart in case of a configure event, if relevant # settings in custom JSON have changed (e.g. java_opts/JAVA_OPTS): #include_recipe 'tomcat::container_config'
tomcat::configure
レシピは、2 つの依存レシピを実行するメタレシピです。
-
tomcat::context
レシピは、ウェブアプリケーションのコンテキスト設定ファイルを作成します。このファイルは、次のセクションで説明するように、アプリケーションが My SQLインスタンスとの通信に使用するJDBCリソースを設定します。設定イベントに応じてこのレシピを実行すると、データベースレイヤーが変更された場合に、レイヤーでウェブアプリケーションのコンテキスト設定ファイルを更新することができます。
-
tomcat::container_config
Setup レシピは、コンテナ設定のあらゆる変更をキャプチャするために再度実行されます。
include
の tomcat::container_config
は、この例のようにコメントアウトされます。カスタム を使用して Tomcat JSON 設定を変更する場合は、コメントを削除できます。その後、Configure ライフサイクルイベントでは、tomcat::container_config
を実行することにより「tomcat::container_config」で説明するように Tomcat 関連の設定ファイルを更新し、Tomcat サービスを再起動します。
tomcat::context
Tomcat クックブックを使用すると、アプリケーションは J2EE DataSource
tomcat::context
レシピの主な目的は、この設定ファイルを作成することです。
include_recipe 'tomcat::service' node[:deploy].each do |application, deploy| context_name = deploy[:document_root].blank? ? application : deploy[:document_root] template "context file for #{application} (context name: #{context_name})" do path ::File.join(node['tomcat']['catalina_base_dir'], 'Catalina', 'localhost', "#{context_name}.xml") source 'webapp_context.xml.erb' owner node['tomcat']['user'] group node['tomcat']['group'] mode 0640 backup false only_if { node['datasources'][context_name] } variables(:resource_name => node['datasources'][context_name], :webapp_name => application) notifies :restart, resources(:service => 'tomcat') end end
Tomcat クックブックの属性に加えて、このレシピは、スタック設定とデプロイ属性を使用します。 AWS OpsWorks スタックは Configure イベントを使用してインストールします。- AWS OpsWorks スタックサービスは、データバッグを使用するか、各インスタンスで属性を検索してインストールすることで、レシピが通常取得する情報を含む属性を各インスタンスのノードオブジェクトに追加します。それらの属性に含まれるのは、スタック設定、デプロイされるアプリケーション、ユーザーに必要なカスタムデータに関する詳細情報です。レシピは、標準の Chef ノード構文を使用することで、スタック設定およびデプロイ属性からデータを取得できます。詳細については、「スタック設定およびデプロイメント属性」を参照してください。Chef 11.10 スタックの場合、Chef の検索を使用してスタック設定およびデプロイデータを取得することもできます。詳細については、「Chef の検索の使用」を参照してください。
deploy
属性とは、コンソールまたは を通じて定義されたAPI、または によって生成されたデプロイ関連の属性を含む[:deploy]
名前空間を指します。 AWS OpsWorks スタックサービス。deploy
属性には、デプロイされる各アプリケーションの属性が含まれています。この属性の名前はアプリケーションの短縮名です。各アプリケーション属性には、ドキュメントのルート ([:deploy][:
) など、アプリケーションの特性を示す一連の属性が含まれています。appname
][:document_root]
context
レシピは、最初に、tomcat::service を呼び出すことにより、この Chef 実行に対してサービスが定義されるようにします。次に、設定ファイルの名前を表す context_name
変数を定義します。拡張子の .xml
は除外されます。デフォルトのドキュメントのルートを使用する場合、context_name
はアプリケーションの短縮名に設定されます。それ以外の場合は、指定されたドキュメントのルートに設定されます。で説明されている例ではスタックの作成とアプリケーションの実行、ドキュメントのルートを に設定しているため"ROOT"
、コンテキストは ROOTで、設定ファイルの名前は ですROOT.xml
。
レシピの大部分は、デプロイされているアプリケーションのリストを対象として機能し、各アプリケーションに対して webapp_context.xml.erb
テンプレートを使用してコンテキスト設定ファイルを作成します。この例では、1 つのアプリケーションのみをデプロイしますが、deploy
属性でアプリケーションのリストとして定義する必要があります。
webapp_context.xml.erb
テンプレートは、オペレーティングシステム固有でないため、templates
ディレクトリの default
サブディレクトリに配置されています。
このレシピは、次のように設定ファイルを作成します。
-
デフォルトの属性値を使用すると、設定ファイル名は
に設定され、context_name
.xml/etc/tomcat6/Catalina/localhost/
ディレクトリにインストールされます。スタック設定属性の
['datasources']
ノードには 1 つ以上の属性が含まれており、それぞれがコンテキスト名を、関連付けられたアプリケーションがデータベースとの通信に使用するJDBCデータリソースにマッピングします。「」で後述するように、スタックの作成JSON時にノードとその内容はカスタム で定義されますスタックの作成とアプリケーションの実行。この例では、ROOTコンテキスト名を jdbc/mydb という名前のJDBCリソースに関連付ける単一の属性があります。 -
デフォルトの属性値を使用すると、ファイルのユーザーとグループはどちらも、Tomcat パッケージの
tomcat
(Amazon Linux の場合) またはtomcat6
(Ubuntu の場合) によって定義された値に設定されます。 -
template
リソースは、['datasources']
ノードが存在し、context_name
属性を含む場合にのみ、設定ファイルを作成します。 -
template
リソースは、2 つの変数resource_name
とwebapp_name
を定義します。resource_name
はcontext_name
に関連付けられているリソース名に設定され、webapp_name
はアプリケーションの短縮名に設定されます。 -
template リソースは、Tomcat サービスを再起動し、変更を読み込んでアクティブにします。
webapp_context.xml.erb
テンプレートは、属性の固有のセットを使用する Context
要素を含む Resource
要素で構成されています。
Resource
属性は、コンテキスト設定の特性を示します。
-
name – JDBCリソース名。 で定義されている
resource_name
値に設定されますtomcat::context
。たとえば、リソース名は jdbc/mydb に設定されます。
-
認証とタイプ — これらはJDBC
DataSource
接続の標準設定です。 -
maxActive、maxIdle、 maxWait- アクティブおよびアイドル接続の最大数、および接続が返される最大待機時間。
-
username (ユーザーネーム) および password (パスワードパスワード) - データベースのユーザー名およびルートパスワード。
deploy
属性から取得されます。 -
driverClassName– JDBCドライバーのクラス名。My SQLドライバーに設定されます。
-
url – 接続 URL。
プレフィックスはデータベースによって異なります。
jdbc:mysql
My では 、Postgres SQLjdbc:postgresql
では 、SQLServerjdbc:sqlserver
では に設定する必要があります。この例では、 を URLに設定します。ここでjdbc:mysql://
、host_IP_Address
:3306:simplejspsimplejsp
はアプリケーションの短縮名です。 -
Factory – データベースに必要な
DataSource
ファクトリSQL。
この設定ファイルの詳細については、Tomcat Wiki の「Using DataSources