翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
詳細: このウォークスルーで使用されているクックブックの学習
重要
- AWS OpsWorks Stacks サービスは 2024 年 5 月 26 日にサポート終了となり、新規および既存のお客様の両方で無効になっています。できるだけ早くワークロードを他のソリューションに移行することを強くお勧めします。移行についてご質問がある場合は、 にお問い合わせください。 AWS Support でのチーム AWS re:Post
このトピックでは、 クックブックについて説明します。 AWS OpsWorks ウォークスルーに使用されるスタック。
クックブックは Chef の概念です。クックブックは、レシピ、属性値、ファイル、テンプレート、ライブラリ、定義、カスタムリソースなどの設定情報を含むアーカイブファイルです。レシピは、Chef の概念でもあります。レシピは、Ruby 言語の構文で書かれた手順であり、使用するリソースと、それらのリソースを適用する順序を指定します 詳細については、「Learn Chef」
このチュートリアルで使用したクックブックの内容を確認するには、opsworks-linux-demo-cookbooks-nodejs.tar.gz/var/chef/cookbooks
ディレクトリの内容を確認することもできます。)
cookbooks/nodejs_demo/recipes
ディレクトリの default.rb
ファイルは、クックブックがそのコードを実行する場所です。
app = search(:aws_opsworks_app).first app_path = "/srv/#{app['shortname']}" package "git" do options "--force-yes" if node["platform"] == "ubuntu" && node["platform_version"] == "18.04" end application app_path do javascript "4" environment.update("PORT" => "80") git app_path do repository app["app_source"]["url"] revision app["app_source"]["revision"] end link "#{app_path}/server.js" do to "#{app_path}/index.js" end npm_install npm_start end
ファイルで実行される操作は次のとおりです。
-
search(:aws_opsworks_app).first
は Chef 検索を使用して、最終的にインスタンスにデプロイされるアプリケーションについての情報を検索します。この情報には、アプリケーションの短縮名、ソースリポジトリの詳細などの設定が含まれます。このウォークスルーでデプロイされたのは 1 つのアプリケーションのみであるため、Chef 検索ではインスタンスのaws_opsworks_app
検索インデックス内の情報の最初の項目から、これらの設定を取得します。インスタンスが起動されるたびに、 AWS OpsWorks スタックは、この情報およびその他の関連情報をインスタンス自体に一連のデータバッグとして保存し、Chef 検索を通じてデータバッグの内容を取得します。このレシピにこれらの設定をハードコードすることができますが、データバッグと Chef 検索を使用するのが、より堅牢な方法です。データバッグの詳細については、Chef の詳細ウェブサイトで「AWS OpsWorks スタックデータバッグリファレンス」を参照してください。[Learn Chef](Chef の説明) ウェブサイトで [About Data Bags] (データバッグについて) も参照してください。Chef の検索の詳細については、[Learn Chef] (Chef の説明) ウェブサイトで [About Search] (検索について) を参照してください。 -
package
リソースはインスタンスに Git をインストールします。 -
application
リソースはウェブアプリケーションを記述し、デプロイします。-
javascript
は、インストールする JavaScript ランタイムのバージョンです。 -
environment
は環境変数を設定します。 -
git
は指定されたリポジトリとブランチからソースコードを取得します。 -
app_path
はリポジトリをクローン化するパスです。パスがインスタンスに存在しない場合は、 AWS OpsWorks スタックによって作成されます。 -
link
はシンボリックリンクを作成します。 -
npm_install
は、Node.js 用のデフォルトのパッケージマネージャーであるノードパッケージマネージャをインストールします。 -
npm_start
は Node.js を実行します。
-
ただし、 AWS OpsWorks スタックは、このチュートリアルで使用したクックブックを作成し、独自のクックブックを作成できます。この方法の詳細は、使用開始: クックブックを参照してください。また、「Learn Chef