Node.js アプリケーションサーバーの AWS OpsWorks スタックレイヤー - AWS OpsWorks

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

Node.js アプリケーションサーバーの AWS OpsWorks スタックレイヤー

重要

AWS OpsWorks Stacks は新規顧客を受け付けなくなりました。既存のお客様は、2024 年 5 月 26 日までは、通常どおり OpsWorks コンソール、API、CLI、および CloudFormation リソースを使用できます。その時点で廃止されます。この移行に備えて、できるだけ早くスタックを AWS Systems Manager に移行することをおすすめします。詳細については、「AWS OpsWorks Stacks サポート終了に関する FAQ」および「AWS Systems Manager アプリケーションマネージャへの AWS OpsWorks Stacks アプリケーションの移行」を参照してください。

注記

このレイヤーは、Linux ベースのスタックでのみ使用できます。

Node.js アプリケーションサーバーレイヤーは、Node.js アプリケーションサーバーとして機能するインスタンスのブループリントとなる AWS OpsWorks スタックレイヤーです。AWS OpsWorksスタックでは Express (エクスプレス) もインストールされるため、そのレイヤーのインスタンスでは標準と Express の両方のアプリケーションがサポートされます。

インストール: Node.js は /usr/local/bin/node にインストールされます。

[Add Layer] ページには、以下の設定オプションがあります。

Node.js バージョン

現在サポートされているバージョンのリストについては、「AWS OpsWorks Stacks のオペレーティングシステム」を参照してください。

Custom security groups

この設定は、AWS OpsWorks スタックの組み込みセキュリティグループをレイヤーと自動的に関連付けないことを選択している場合に表示されます。レイヤーに関連付けるセキュリティグループを指定する必要があります。詳細については、「新しいスタックを作成する」を参照してください。

[Elastic Load Balancer]

レイヤーのインスタンスに Elastic Load Balancing のロードバランサーをアタッチできます。

重要

Node.js アプリケーションが SSL を使用する場合は、CVE-2015-8027 で説明されている脆弱性に対応するために、可能であれば SSLv3 を無効にすることをお勧めします。そのためには、[Node.js version] を 0.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 アプリケーションサーバーレイヤーの組み込みセキュリティグループ AWSOpsWorks--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 のキーと証明書を取得できます。