翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Node.js アプリケーションサーバー AWS OpsWorks スタックレイヤー
重要
この AWS OpsWorks Stacks サービスは 2024 年 5 月 26 日にサポート終了となり、新規および既存のお客様の両方で無効になっています。できるだけ早くワークロードを他のソリューションに移行することを強くお勧めします。移行についてご質問がある場合は、 AWS re:Post
注記
このレイヤーは、Linux ベースのスタックでのみ使用できます。
Node.js アプリケーションサーバーレイヤーは、Node.js
インストール: Node.js は /usr/local/bin/node
にインストールされます。
[Add Layer] ページには、以下の設定オプションがあります。
- Node.js バージョン
-
現在サポートされているバージョンのリストについては、「AWS OpsWorks スタックオペレーティングシステム」を参照してください。
- Custom security groups
-
この設定は、組み込みの AWS OpsWorks スタックセキュリティグループをレイヤーに自動的に関連付けないことを選択した場合に表示されます。レイヤーに関連付けるセキュリティグループを指定する必要があります。詳細については、「新しいスタックを作成する」を参照してください。
- [Elastic Load Balancer]
-
レイヤーのインスタンスに Elastic Load Balancing のロードバランサーをアタッチできます。
重要
Node.js アプリケーションが SSL を使用する場合は、CVE-2015-80270.12.9
に設定する必要があります。
Node.js アプリケーションのデプロイ
AWS OpsWorks スタック用にシンプルな Node.js アプリケーションを実装してそれをスタックにデプロイする方法の手順については、「Node.js スタックの初回作成」を参照してください。一般に、 AWS OpsWorks スタック用の Node.js アプリケーションは、以下の条件を満たす必要があります。
-
メインファイルは
server.js
という名前にして、デプロイされたアプリケーションのルートディレクトリに置く必要があります。 -
Express
アプリケーションには、アプリケーションのルートディレクトリに package.json
ファイルを含める必要があります。 -
デフォルトでは、アプリケーションはポート 80 (HTTP) またはポート 443 (HTTPS) でリッスンする必要があります。
他のポートでリッスンすることは可能ですが、Node.js アプリケーションサーバーレイヤーの組み込みセキュリティグループ AWS-OpsWorks-nodejs-App-Server では、ポート 80、443、22 (SSH) へのインバウンドユーザートラフィックのみが許可されます。他のポートへの着信ユーザートラフィックを許可するには、適切なインバウンドルールを使用してセキュリティグループを作成し、Node.js アプリケーション-サーバーレイヤーに割り当てます。組み込みのセキュリティグループを編集することでインバウンドルールを変更しないでください。スタックを作成するたびに、 AWS OpsWorks スタックは組み込みセキュリティグループを標準設定で上書きするため、行った変更は失われます。
注記
AWS OpsWorks スタックは PORT 環境変数を 80 (デフォルト) または 443 (SSL を有効にしている場合) に設定するため、次のコードを使用してリクエストをリッスンできます。
app.listen(process.env.PORT);
SSL をサポートするように Node.js アプリケーションを設定する場合は、キーと証明書を指定する必要があります。 AWS OpsWorks スタックは、次のように、各アプリケーションサーバーインスタンスのデータを /srv/www/
ディレクトリ内の個別のファイルとして配置します。app_shortname
/shared/config
-
ssl.crt
– SSL 証明書。 -
ssl.key
– SSL キ ー。 -
ssl.ca
– チェーン証明書 (指定した場合)。
アプリケーションで、この各ファイルから SSL のキーと証明書を取得できます。