私はNode.jsの新機能です。& Web APIサービスの作成に使用するExpress.js。 サービスは、次のコードを使用しているHTTPSを有効にするには:NodeJS/Express + HTTPS:キー&証明書をAWS EC2ノードにデプロイする方法は?
const server = https
.createServer({
key: fs.readFileSync('./cert/myservice.key'),
cert: fs.readFileSync('./cert/myservice.crt')
})
.listen(serverConfig.server.port,() => logger.info(`MyService is up and running`));
を、見やすいように、このコードは.key
と.crt
ファイルは、サービスアプリケーションの場所でローカルに利用可能であることを前提としています。 サービスを単一のAWS EC2ホストに展開したい場合(簡単にするために)、これらのファイルは安全な解決策ではないように思われます。
私はAWS IAMを使用して秘密を保護することを考えていました。 問題は、IAMからEC2ノードにシークレットを直接 "展開"することはできません。 秘密を得るためにIAMのAPIを使用する必要がありますが、次に質問はEC2でAWS資格情報を利用できるようにする方法です。
質問:秘密(証明書と鍵を含む)をAWS EC2ノードに展開するための推奨される安全な方法はありますか?
EC2インスタンスの前でELBレベルでSSLを適用すると、私のサービスでHTTPSセットアップコードを取り除くことはできますか? ELBが単一のインスタンスを超えて成長しないように設定すると(私のプロジェクトは初期アルファでもないので、オートスケールする必要はありません)、コストの大幅な変更はないと私は考えています。 –
正しい。まあ、わずかな費用がかかります。 ELBの価格を参照してください。 https://aws.amazon.com/elasticloadbalancing/classicloadbalancer/pricing – Manoj
コストが懸念される場合は、アプリケーションをサーバーレスに移行することで、コストをさらに削減できます。 (ラムダ&APIゲートウェイ)。これを見てください。 https://github.com/awslabs/aws-serverless-express – Manoj