カスタム Tomcat サーバーレイヤーの作成 - AWS OpsWorks

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

カスタム Tomcat サーバーレイヤーの作成

重要

この AWS OpsWorks Stacks サービスは 2024 年 5 月 26 日にサポート終了となり、新規および既存のお客様の両方で無効になっています。できるだけ早くワークロードを他のソリューションに移行することを強くお勧めします。移行についてご質問がある場合は、 AWS re:Post または AWS Premium Support を通じて AWS Support チームにお問い合わせください。

注記

このトピックでは、Linux スタックのカスタムレイヤーを実装する方法について説明します。ただし、一部の基本的な原則とコードは、特に、アプリケーションのデプロイのセクションで、Windows スタックのカスタムレイヤーの実装にも当てはまります。

AWS OpsWorks スタックインスタンスで非標準パッケージを使用する最も簡単な方法は、既存のレイヤー を拡張することです。ただし、この方法は、レイヤーのインスタンスに標準と標準外の両方のパッケージをインストールして実行するため、常に望ましいわけではありません。要求が厳しくなりますがより強力な方法は、カスタムレイヤーを実装することです。そうすれば、レイヤーのインスタンスに対して、次の事項をほぼ完全にコントロールできるようになります。

  • どのパッケージをインストールするか

  • 各パッケージをどのように設定するか

  • リポジトリからインスタンスにどのようにアプリケーションをデプロイするか

コンソールまたは API のどちらを使用する場合も、「カスタムレイヤー」で説明しているように、その他すべてのレイヤーと同様にカスタムレイヤーを作成して管理します。ただし、カスタムレイヤーの組み込みのレシピは、Ganglia クライアントをインストールして Ganglia マスターにメトリクスをレポートするなど、一部の最も基本的なタスクだけを実行します。カスタムレイヤーのインスタンスが最小限の機能にとどまらないようにするために、パッケージのインストールと設定、アプリケーションのデプロイなどのタスクを処理するための Chef レシピと関連ファイルを備えた 1 つ以上のカスタムクックブックを実装する必要があります。ただし、必ずしもすべてを最初から新しく実装する必要はありません。たとえば、標準のリポジトリの 1 つにアプリケーションを保存する場合は、組み込みのレシピを使用することで、アプリケーションをレイヤーのインスタンスにインストールする作業の多くを処理できます。

注記

Chef を初めて使う場合は、最初に「クックブック 101」をお読みください。これは、クックブックを実装してさまざまな一般的なタスクを実行する方法の基本事項を紹介するチュートリアルです。

次のウォークスルーでは、Tomcat アプリケーションサーバーをサポートするカスタムレイヤーの実装方法を説明します。このレイヤーは、パッケージのインストール、デプロイなどを処理するためのレシピを含む Tomcat というカスタムクックブックに基づいています。このウォークスルーは、Tomcat クックブックからの抜粋を含んでいます。完全なクックブックはGitHub 、リポジトリ からダウンロードできます。Opscode Chef に慣れていない場合は、最初に「クックブックとレシピ」をお読みください。

注記

AWS OpsWorks スタックには、本番稼働用のフル機能の Java App Server レイヤーが含まれています。Tomcat クックブックの目的は、カスタムレイヤーの実装方法を示すことです。したがって、SSL などの機能を含まない限定バージョンの Tomcat のみをサポートしています。フル機能の実装の例については、組み込みの opsworks_java クックブックを参照してください。

Tomcat クックブックは、インスタンスが次の特徴を持つカスタムレイヤーをサポートします。

  • インスタンスは、Apache のフロントエンドで Tomcat Java アプリケーションサーバーをサポートします。

  • Tomcat は、アプリケーションが JDBC DataSource オブジェクトを使用して、バックエンドデータストアとして機能する個別の MySQL インスタンスに接続できるように設定されています。

このプロジェクトのクックブックには、複数の主要コンポーネントがあります。

  • 属性ファイルには、さまざまなレシピで使用される設定が含まれます。

  • Setup レシピは、レイヤーの Setup ライフサイクルイベントに割り当てられます。このレシピは、インスタンスの起動後に実行され、パッケージのインストールや設定ファイルの作成などのタスクを行います。

  • Configure レシピは、レイヤーの Configure ライフサイクルイベントに割り当てられます。スタックの設定変更後、主にインスタンスがオンラインになったときやオフラインになったときに実行され、必要な構成変更を処理します。

  • Deploy レシピは、レイヤーの Deploy ライフサイクルイベントに割り当てられます。このレシピは、Setup レシピの後、アプリケーションを手動でデプロイし、レイヤーのインスタンスでコードおよび関連ファイルをインストールするときに実行されます。また、サービスの再起動などの関連タスクを処理するためにも実行されます。

最後のセクションである 「スタックの作成とアプリケーションの実行」では、Tomcat クックブックに基づいてカスタムレイヤーを含むスタックを作成する方法、および別個の MySQLレイヤーに属するインスタンスで実行中の MySQL データベースのデータを表示するシンプルな JSP アプリケーションをデプロイして実行する方法について説明します。

注記

Tomcat クックブックレシピは、一部の AWS OpsWorks スタックの組み込みレシピに依存します。各レシピのオリジンを明確にするために、このトピックでは Chef cookbookname::recipename 規則を使用してレシピを識別します。