翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Node.js スタックの初回作成
重要
- AWS OpsWorks Stacks サービスは 2024 年 5 月 26 日にサポート終了となり、新規および既存のお客様の両方で無効になっています。できるだけ早くワークロードを他のソリューションに移行することを強くお勧めします。移行についてご質問がある場合は、 にお問い合わせください。 AWS Support でのチーム AWS re:Post
この例では、Node.js アプリケーションサーバーをサポートする Linux スタックの作成方法と、シンプルなアプリケーションのデプロイ方法について説明します。スタックは以下のコンポーネントから構成されます。
-
2 つのインスタンスを伴う [Node.js App Server Layer] (Node.js アプリケーションサーバーレイヤー)
-
アプリケーションサーバーインスタンスにトラフィックを分散させる Elastic Load Balancing (Elastic ロードバランシング)
-
バックエンドデータベースを提供する Amazon Relational Database Service (Amazon RDS) サービスレイヤー
前提条件
このウォークスルーでは、以下のことを前提としています。
-
AWS アカウントがあり、 の使用方法に関する基本的な理解がある AWS OpsWorks スタック。
を初めて使用する場合 AWS OpsWorks 「」の入門チュートリアルを完了してAWS、 スタックまたは への基本を学習しますChef 11 Linux スタックの使用開始。
-
Node.js アプリケーションの基本的な実装方法を理解している。
Node.js に慣れていない場合は、「Node: Up and Running
」などの入門チュートリアルを完了して、基本事項を学習してください。 -
この例に使用する予定のAWSリージョンに、少なくとも 1 つのスタックを作成済みです。
リージョンで最初のスタックを作成すると、 AWS OpsWorks スタックは、レイヤータイプごとに Amazon Elastic Compute Cloud (Amazon EC2) セキュリティグループを作成します。Amazon RDS データベース (DB) インスタンスを作成するには、これらのセキュリティグループが必要です。を初めて使用する場合 AWS OpsWorks スタックでは、この例で のチュートリアルに従ったときと同じリージョンを使用することをお勧めしますChef 11 Linux スタックの使用開始。新しいリージョンを使用する場合は、リージョンに新しいスタックを作成します。このスタックにレイヤーやインスタンスは必要ありません。スタックを作成するとすぐに、 AWS OpsWorks スタックは、リージョンに一連のセキュリティグループを自動的に追加します。
-
スタックはデフォルトの VPCで作成します。
このチュートリアルでは EC2-Classic を使用できますが、一部の詳細は若干異なります。例えば、EC2-Classic では、サブネットの代わりにインスタンスのアベイラビリティーゾーン (AZ) を指定します。
-
IAM ユーザーに のフルアクセス許可がある AWS OpsWorks スタック。
セキュリティ上の理由から、ウォークスルー用にアカウントのルート認証情報を指定しないことを強くお勧めします。代わりに、 を使用してユーザーを作成します。 AWS OpsWorks フルアクセス許可をスタックし、それらの認証情報を で使用する AWS OpsWorks スタック。詳細については、「 管理者ユーザーの作成」を参照してください。
アプリケーションの実装
このチュートリアルでは、Amazon RDS DB インスタンスに接続し、インスタンスのデータベースを一覧表示するシンプルな Express
アプリケーションを実装するには、ワークステーション上の使いやすい場所に nodedb
という名前のディレクトリを作成し、以下に示す 3 つのファイルを追加します。
パッケージディスクリプター
アプリケーションのパッケージディスクリプターを作成するには、以下に示す内容の package.json
というファイルを nodedb
ディレクトリに追加します。package.json
は、Express アプリケーションに必要であり、アプリケーションのルートディレクトリに配置されている必要があります。
{ "name": "Nodejs-DB", "description": "Node.js example application", "version": "0.0.1", "dependencies": { "express": "*", "ejs": "*", "mysql": "*" } }
この例の package.json
は、ほぼ最小限の内容です。必要な name
属性と version
属性が定義され、従属パッケージがリストされています。
-
express
は、Expressパッケージを参照しています。 -
ejs
は、アプリケーションがHTMLレイアウトファイルにテキストを挿入するために使用する EJSパッケージを参照します。 -
mysql
は、アプリケーションがRDSインスタンスへの接続に使用する node-mysqlパッケージを参照します。
パッケージディスクリプターファイルの詳細については、「package.json
レイアウトファイル
アプリケーションのレイアウトファイルを作成するには、views
ディレクトリに nodedb
ディレクトリを追加し、以下に示す内容の views
というファイルを index.html
に追加します。
<!DOCTYPE html> <html> <head> <title>AWS Opsworks Node.js Example</title> </head> <body> <h1>AWS OpsWorks Node.js Example</h1> <p>Amazon RDS Endpoint: <i><%= hostname %></i></p> <p>User: <i><%= username %></i></p> <p>Password: <i><%= password %></i></p> <p>Port: <i><%= port %></i></p> <p>Database: <i><%= database %></i></p> <p>Connection: <%= connectionerror %></p> <p>Databases: <%= databases %></p> </body> </html>
この例では、レイアウトファイルは Amazon からのデータを表示するシンプルなHTMLドキュメントですRDS。各 <%= ... =>
要素は、次に作成するコードファイル内で定義されている変数の値を示します。
コードファイル
アプリケーションのコードファイルを作成するには、以下に示す内容の server.js
ファイルを nodedb
ディレクトリに追加します。
重要
で AWS OpsWorks スタック、Node.js アプリケーションのメインコードファイルは、 という名前server.js
で、アプリケーションのルートフォルダに配置する必要があります。
var express = require('express'); var mysql = require('mysql'); var dbconfig = require('opsworks'); //[1] Include database connection data var app = express(); var outputString = ""; app.engine('html', require('ejs').renderFile); //[2] Get database connection data app.locals.hostname = dbconfig.db['host']; app.locals.username = dbconfig.db['username']; app.locals.password = dbconfig.db['password']; app.locals.port = dbconfig.db['port']; app.locals.database = dbconfig.db['database']; app.locals.connectionerror = 'successful'; app.locals.databases = ''; //[3] Connect to the Amazon RDS instance var connection = mysql.createConnection({ host: dbconfig.db['host'], user: dbconfig.db['username'], password: dbconfig.db['password'], port: dbconfig.db['port'], database: dbconfig.db['database'] }); connection.connect(function(err) { if (err) { app.locals.connectionerror = err.stack; return; } }); // [4] Query the database connection.query('SHOW DATABASES', function (err, results) { if (err) { app.locals.databases = err.stack; } if (results) { for (var i in results) { outputString = outputString + results[i].Database + ', '; } app.locals.databases = outputString.slice(0, outputString.length-2); } }); connection.end(); app.get('/', function(req, res) { res.render('./index.html'); }); app.use(express.static('public')); //[5] Listen for incoming requests app.listen(process.env.PORT);
この例では、データベース接続情報を表示し、データベースサーバーに照会して、サーバーのデータベースを表示しています。これは、必要に応じてデータベースとやり取りするために簡単に一般化することができます。コード内の番号付きのコメントに対応する注釈を以下に示します。
- [1] Include database connection data (データベース接続データを含める)
-
この
require
ステートメントでは、データベース接続データを含めています。後述するように、データベースインスタンスをアプリケーションにアタッチすると、 AWS OpsWorks スタックは、接続データを という名前のファイルに配置します。これはopsworks.js
、次のようになります。exports.db = { "host":"nodeexample.cdlqlk5uwd0k.us-west-2.rds.amazonaws.com", "database":"nodeexampledb", "port":3306, "username":"opsworksuser", "password":"
your_pwd
", "reconnect":true, "data_source_provider":"rds", "type":"mysql"}opsworks.js
はアプリケーションのshared/config
ディレクトリ/srv/www/
にあります。ただし、 AWS OpsWorks スタックはアプリケーションのルートディレクトリapp_shortname
/shared/configopsworks.js
にシンボリックリンクを に配置するため、 のみを使用して オブジェクトを含めることができますrequire 'opsworks'
。 - [2] Get database connection data (データベース接続データを取得する)
-
これら一連のステートメントは、
opsworks.js
に記述されている接続データを表示します。そのために、db
オブジェクトの値を一連のapp.locals
プロパティに割り当てています。これらのプロパティはそれぞれ、index.html
ファイル内の <%= ... %> 要素のいずれかに対応しています。レンダリング後のドキュメントでは、<%= ... %> 要素が、対応するプロパティ値に置き換わります。 - [3] Amazon RDSインスタンスに接続する
-
この例では、
node-mysql
を使用してデータベースにアクセスしています。データベースに接続するために、接続データをconnection
に渡してcreateConnection
オブジェクトを作成し、connection.connect
を呼び出して接続を確立しています。 - [4] Query the database (データベースを照会する)
-
接続を確立した後、データベースを照会するために
connection.query
呼び出します。この例では単純に、サーバーのデータベース名を照会しています。query
は、データベース名をDatabase
プロパティに割り当てて、各データベースに対応するresults
オブジェクトの配列を返します。この例では、名前を連結し、レンダリングapp.locals.databases,
されたHTMLページにリストを表示する に名前を割り当てます。この例では、5 つのデータベース、RDSインスタンスの作成時に指定した
nodeexampledb
データベース、および Amazon によって自動的に作成される他の 4 つのデータベースがありますRDS。 - [5] Listen for incoming requests(受信されるリクエストをリッスンする)
-
最後のステートメントは、指定されたポートで受信されるリクエストをリッスンします。明示的なポート値を指定する必要はありません。スタックにアプリケーションを追加するときは、アプリケーションが HTTPまたは HTTPSリクエストをサポートしているかどうかを指定します。 AWS OpsWorks スタックは環境
PORT
変数を 80 (HTTP) または 443 (HTTPS) に設定し、その変数をアプリケーションで使用できます。他のポートでリッスンすることは可能ですが、Node.js アプリケーションサーバーレイヤーの組み込みセキュリティグループ AWS-OpsWorks-nodejs-App-Server では、ポート 80、443、22 () へのインバウンドユーザートラフィックのみが許可されますSSH。他のポートへの着信ユーザートラフィックを許可するには、適切なインバウンドルールを使用してセキュリティグループを作成し、Node.js アプリケーション-サーバーレイヤーに割り当てます。組み込みのセキュリティグループを編集することでインバウンドルールを変更しないでください。スタックを作成するたびに、 AWS OpsWorks スタックは、組み込みのセキュリティグループを標準設定で上書きするため、行った変更は失われます。
注記
関連するアプリケーションを作成または更新するときに、カスタムの環境変数をアプリケーションに関連付けることができます。カスタムレシピJSONとカスタムレシピを使用して、アプリケーションにデータを渡すこともできます。詳細については、「アプリケーションへのデータの引き渡し」を参照してください。
データベースサーバーとロードバランサーの作成
この例では、Amazon RDS データベースサーバーと Elastic Load Balancing ロードバランサーインスタンスを使用します。各インスタンスは別々に作成し、スタックに組み込む必要があります。このセクションでは、新しいデータベースとロードバランサーのインスタンスを作成する方法を説明します。既存のインスタンスを使用することもできますが、この手順を読み、そのインスタンスが正しく設定されているか確認することをお勧めします。
以下に、この例で十分である最小限の設定の RDS DB インスタンスを作成する方法について説明します。詳細については、「Amazon ユーザーガイドRDS」を参照してください。
RDS DB インスタンスを作成するには
-
コンソールを開きます。
Amazon RDSコンソールを開き、
リージョンを米国西部 (オレゴン) に設定します。ナビゲーションペインで、RDSダッシュボード を選択し、DB インスタンスの起動 を選択します。 -
データベースエンジンを指定します。
データベースエンジンとして MySQL Community Edition を選択します。
-
マルチ AZ 配置を拒否します。
[No, this instance...] を選択し、[Next] を選択します。この例にマルチ AZ 配置は必要ありません。
-
基本的な設定を指定します。
[DB Instance Details] ページで、次の設定を指定します。
-
DB Instance Class: db.t2.micro
-
Multi-AZ Deployment: No
-
ストレージ割り当て:
5
GB -
DB インスタンス識別子:
nodeexample
-
マスターユーザーの名前:
opsworksuser
-
[Master Password]: 任意のパスワード
後で使用できるようにインスタンス識別子、ユーザー名、およびパスワードを書き留め、その他のオプションについてはデフォルト設定をそのままにして、[Next] を選択します。
-
-
詳細設定を指定します。
[Configure Advanced Settings] ページで、以下の設定を指定します。
-
データベース名:
nodeexampledb
-
DB セキュリティグループ (複数可): AWS-OpsWorks-DB-マスターサーバー
注記
AWS-OpsWorks-DB-Master-Server セキュリティグループでは、スタックのインスタンスのみがデータベースにアクセスできます。データベースに直接アクセスする場合は、適切なインバウンドルールを使用して DB RDSインスタンスに追加のセキュリティグループをアタッチします。詳細については、「Amazon RDS セキュリティグループ」を参照してください。インスタンスを に配置することで、アクセスを制御することもできますVPC。詳細については、「でのスタックの実行 VPC」を参照してください。
後で使用できるようにデータベース名を書き留め、その他の設定についてはデフォルト値をそのままにして、[Launch DB Instance] を選択します。
-
以下の手順では、この例の Elastic Load Balancing ロードバランサーを作成する方法を説明します。詳細については、Elastic Load Balancing ユーザーガイドを参照してください。
ロードバランサーを作成する方法
-
Amazon EC2コンソールを開きます。
Amazon EC2コンソール
を開き、リージョンが米国西部 (オレゴン) に設定されていることを確認します。ナビゲーションペインで、[Load Balancers] を選択し、[Create Load Balancer] を選択します。 -
ロードバランサーを定義します。
[Define Load Balancer] ページで、以下の設定を指定します。
-
名前 –
Node-LB
-
LB を内部で作成する – デフォルト VPC
その他のオプションについてはデフォルト設定をそのままにして、[Next] を選択します。
-
-
セキュリティグループを割り当てます。
[Assign Security Groups] ページで、以下のグループを指定します。
-
デフォルトのVPCセキュリティグループ
-
AWS-OpsWorks-nodejs-App-Server
[Next (次へ)] を選択します。[Configure Security Settings] ページで、[Next] を選択します。この例にセキュアリスナーは必要ありません。
-
-
ヘルスチェックを設定します。
[Configure Health Check (ヘルスチェックの設定)] ページで、[Ping Path (ping パス)] を
/
に設定し、その他の設定についてはデフォルト値をそのままにします。[Next (次へ)] を選択します。EC2 「インスタンスの追加」ページで、「次へ」を選択します。[Add Tags] ページで、[Review and Create] を選択します。 AWS OpsWorks スタックはロードバランサーにEC2インスタンスを追加するタスクを処理するため、この例のタグは必要ありません。 -
ロードバランサーを作成します。
[Review] ページで、[Create] を選択してロードバランサーを作成します。
スタックの作成
必要なコンポーネントがすべて揃ったので、スタックを作成できます。
スタックを作成するには
-
にサインインする AWS OpsWorks スタックコンソール。
にサインインする AWS OpsWorks スタックコンソール で
、スタックの追加 を選択します。 -
スタックを作成します。
新しいスタックを作成するには、[Chef 11 stack] を選択して、以下の設定を指定します。
-
–
NodeStack
-
[リージョン] – 米国西部 (オレゴン)
スタックはどのAWSリージョンでも作成できますが、チュートリアルでは米国西部 (オレゴン) をお勧めします。
[Add Stack] を選択します。スタック設定の詳細については、「新しいスタックを作成する」を参照してください。
-
-
ロードバランサーがアタッチされた Node.js App Server layer を追加します。
NodeStack ページで、レイヤー を追加 を選択し、次の設定を指定します。
-
Layer type (レイヤータイプ) – Node.js App Server (Node.js アプリケーションサーバー)
-
Elastic Load Balancer (Elastic ロードバランサー) – Node-LB (ノード-LB)
その他の設定についてはデフォルト値をそのままにして、[Add Layer] を選択します。
-
-
インスタンスをレイヤーに追加して起動します。
ナビゲーションペインで、[Instances] を選択し、次の手順に従って 2 つのインスタンスを Rails アプリケーションサーバーレイヤーに追加します。
-
Node.js App Server (Node.js アプリケーションサーバー) で、Add instance (インスタンスの追加) を選択します。
[Size] を [t2.micro] に設定し、その他の設定についてはデフォルト値をそのままにして、[Add Instance] を選択します。
-
[+Instance] を選択し、2 番目の t2.micro インスタンスを別のサブネット内のレイヤーに追加します。
これにより、インスタンスが別のアベイラビリティーゾーン (AZ) に配置されます。
-
[Add instance] を選択します。
-
両方のインスタンスを起動するには、[Start All Instances] を選択します。
Elastic Load Balancing ロードバランサーをこのレイヤーに割り当てました。インスタンスがオンライン状態に出入りすると、 AWS OpsWorks スタックは、ロードバランサーにインスタンスを自動的に登録または登録解除します。
注記
本番稼働用スタックの場合は、アプリケーションサーバーインスタンスを複数の に分散することをお勧めしますAZs。分散しておくと、ユーザーが 1 つの AZ に接続できない場合、着信トラフィックがロードバランサーによって別のゾーンにルーティングされるため、サイトの機能が続行します。
-
-
RDS DB インスタンスを スタックに登録します。
ナビゲーションペインで、次のようにリソースを選択し、RDSDB インスタンスをスタックに登録します。
-
RDS タブを選択し、未登録の RDS DB インスタンスを表示を選択します。
-
nodeexampledb インスタンスを選択し、以下の設定を指定します。
-
User (ユーザー) – インスタンスの作成時に指定したマスターユーザー名 (この例では、)
opsworksuser
。 -
[Password] (パスワード) – インスタンスの作成時に指定したマスターパスワード。
-
-
スタックに登録 を選択して、RDSDB インスタンスを Amazon RDSサービスレイヤー としてスタックに追加します。
警告
AWS OpsWorks スタックはユーザーまたはパスワードの値を検証せず、アプリケーションに渡します。これらを誤って入力すると、アプリケーションがデータベースに接続できません。
RDS DB インスタンスを Amazon RDSサービスレイヤー としてスタックに追加するには、スタック に登録 を選択します。
-
アプリケーションのデプロイ
アプリケーションはリモートリポジトリに保存する必要があります。デプロイすると、 AWS OpsWorks スタックは、コードと関連ファイルをリポジトリからアプリケーションサーバーインスタンスにデプロイします。便宜上、この例では、パブリック Amazon Simple Storage Service (Amazon S3) アーカイブをリポジトリとして使用していますが、Git や Subversion など、いくつか他の種類のリポジトリも使用できます。詳細については、「Application Source」を参照してください。
アプリケーションをデプロイするには
-
アプリケーションをアーカイブファイルにパッケージ化します。
.zip
ディレクトリおよびサブディレクトリのnodedb
アーカイブを nodedb.zip という名前で作成します。gzip、bzip2、tarball など、他の種類のアーカイブファイルを使用することもできます。次の点に注意してください。 AWS OpsWorks スタックは非圧縮 tarball をサポートしていません。詳細については、「Application Source」を参照してください。 -
アーカイブファイルを Amazon S3 にアップロードします。
Amazon S3 バケット
nodedb.zip
にアップロードし、ファイルを公開して、URL後で使用するためにファイルの をコピーします。バケットの作成方法とファイルのアップロード方法の詳細については、「Amazon Simple Storage Service の使用開始」を参照してください。注記
AWS OpsWorks スタックは Amazon S3 バケットからプライベートファイルをデプロイすることもできますが、わかりやすくするために、この例ではパブリックファイルを使用します。詳細については、「Application Source」を参照してください。
-
を作成する AWS OpsWorks スタックアプリケーション。
に戻る AWS OpsWorks スタックコンソールのナビゲーションペインで、アプリ を選択し、アプリの追加 を選択します。以下の設定を指定します。
-
[Name] (名前) –
NodeDB
。この文字列は、アプリケーションの表示名です。ほとんどの場合、アプリケーションの短縮名が必要です。 AWS OpsWorks スタックは、すべての文字を小文字に変換し、句読点を削除することで、表示名から を生成します。この例の場合、短縮名は
nodedb
になります。アプリケーションの短縮名を確認するには、アプリケーションの作成後、[Apps] ページでアプリケーションを選択して詳細ページを表示します。 -
Type (タイプ) –
Node.js
。 -
Data source type (データソースタイプ) –
RDS
。 -
データベースインスタンス – 以前に登録した Amazon RDS DB インスタンスを選択します。
-
Database name (データベース名) - 作成しておいたデータベースの名前を指定します (この例の場合は
nodeexampledb
)。 -
Repository type (リポジトリタイプ) -
Http Archive
。パブリック Amazon S3 ファイルには、このリポジトリタイプを使用する必要があります。
S3 Archive
は、プライベートアーカイブにのみ使用する種類です。 -
リポジトリ URL – アーカイブファイルの Amazon S3 URL。
残りの設定にはデフォルト値を使用し、[Add App] をクリックしてアプリケーションを作成します。
-
-
アプリケーションをデプロイします。
[Apps] ページに移動し、NodeDB アプリケーションの [Actions] 列で、[deploy] を選択します。次に、[Deploy] を選択して、アプリケーションをサーバーインスタンスにデプロイします。 AWS OpsWorks スタックによって各インスタンスに対して Deploy レシピが実行されます。これにより、アプリケーションがリポジトリからダウンロードされ、サーバーが再起動されます。各インスタンスに緑色のチェックマークが付き、[Status] が [successful] であれば、デプロイが完了しており、アプリケーションでリクエストの処理を開始できる状態になっています。
注記
デプロイが失敗した場合は、[Log] (ログ) 列で [show] (表示) を選択すると、デプロイメントの Chef ログが表示されます。エラー情報は下の方にあります。
-
アプリケーションを開きます。
アプリケーションを開くには、レイヤー を選択し、ロードバランサーを選択し、ロードバランサーにHTTPリクエストを送信するロードバランサーDNSの名前を選択します。次のような内容が表示されます。
注記
AWS OpsWorks スタックは、セットアップ中に新しいインスタンスにアプリケーションを自動的にデプロイします。オンラインインスタンスに対してのみ、手動のデプロイが必要になります。詳細については、「アプリケーションのデプロイ」を参照してください。高度なデプロイ方法など、デプロイ全般については、「アプリケーションとクックブックの管理とデプロイ」を参照してください。
次のステップ
重要
- AWS OpsWorks Stacks サービスは 2024 年 5 月 26 日にサポート終了となり、新規および既存のお客様の両方で無効になっています。できるだけ早くワークロードを他のソリューションに移行することを強くお勧めします。移行についてご質問がある場合は、 にお問い合わせください。 AWS Support でのチーム AWS re:Post
このウォークスルーでは、シンプルな Node.js アプリケーションサーバースタックのセットアップの基本について説明しました。ここでは、次のステップに関する推奨事項をいくつか示します。
- Node.js の組み込みクックブックを調べる
-
インスタンスの設定方法について詳しく知りたい場合は、レイヤーの組み込みクックブック opsworks_nodejs
を参照してください。これには、 AWS OpsWorks スタックは、 を使用してソフトウェアをインストールおよび設定し、組み込みのデプロイクックブック を使用します。これには、 AWS OpsWorks スタックは を使用してアプリケーションをデプロイします。 - サーバー設定をカスタマイズする
-
例では、基本的なスタックを使用しています。本稼働用に使用する場合は、スタックをカスタマイズすることをお勧めします。詳細については、「カスタマイズ AWS OpsWorks スタック」を参照してください。
- SSL サポートの追加
-
アプリSSLのサポートを有効にして、 AWS OpsWorks アプリケーションの作成時に適切な証明書を持つスタック。 AWS OpsWorks スタックによって、その証明書が適切なディレクトリにインストールされます。詳細については、「SSL の使用」を参照してください。
- メモリ内データのキャッシュを追加する
-
本稼働レベルのサイトでは、多くの場合、Redis や Memcache などのメモリ内キー値ストアにデータをキャッシュすることでパフォーマンスが向上します。のいずれかを で使用できます。 AWS OpsWorks スタックスタック。詳細については、「ElastiCache Redis」および「Memcached」を参照してください。
- 高度なデプロイ方法を使用する
-
ここに示した例では、すべてのインスタンスに更新を同時にデプロイするというシンプルな方法でアプリをデプロイしました。このアプローチは、シンプルで高速ですが、エラーに対する許容範囲がありません。デプロイが失敗した場合や、更新に問題がある場合、本稼働スタックのすべてのインスタンスが影響を受けることがあります。問題が解決されるまで、サイトのサービスが中断されるか無効になる可能性があります。デプロイ方法の詳細については、「アプリケーションとクックブックの管理とデプロイ」を参照してください。
- Node.js アプリケーションサーバーレイヤーを拡張する
-
レイヤーは、さまざまな方法で拡張できます。たとえば、インスタンスに対してスクリプトを実行するためのレシピや、アプリのデプロイをカスタマイズするための Chef デプロイフックを実装することができます。詳細については、「レイヤーの拡張」を参照してください。
- 環境変数を定義する
-
関連付けられたアプリケーションの環境変数を定義することによって、アプリケーションにデータを渡すことができます。アプリケーションをデプロイすると、 AWS OpsWorks スタックは、これらの変数をエクスポートして、アプリケーションからアクセスできるようにします。詳細については、「 環境変数の使用」を参照してください。