タイトルの通りですが、NLBとECS Fargateの構成となっており、FargateのタスクではNginxとgRPCアプリケーションが稼働する構成となっております。 今回は内部通信の要件だったため、平文で通信しています。HTTP/2でTLS終端しようとすると、NLBはALPNに対応していないため問題となりうるのですが、今回は平文通信のためこの問題は回避できました。 ヘルスチェック問題 この構成で問題となるのがヘルスチェックです。 今回は平文のgRPCを採用しているためターゲットグループのプロトコルはTCPを選択する必要があるのですが、この場合、ヘルスチェックで使用できるオプションは、TCP、HTTP、HTTPSの三つのみです。HTTP、HTTPSはgRPCメソッドを呼び出すことはできず、TCPはポート監視のみとなり、アプリケーションの死活監視を行うことができません。 ECSのHEALTH
![ECS Fargate(Nginx + gRPC)構成のヘルスチェック設定 - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/fde56d3b386cd750070f0474e83f8e6f9d5a0b48/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZ0eHQ9RUNTJTIwRmFyZ2F0ZSVFRiVCQyU4OE5naW54JTIwJTJCJTIwZ1JQQyVFRiVCQyU4OSVFNiVBNyU4QiVFNiU4OCU5MCVFMyU4MSVBRSVFMyU4MyU5OCVFMyU4MyVBQiVFMyU4MiVCOSVFMyU4MyU4MSVFMyU4MiVBNyVFMyU4MyU4MyVFMyU4MiVBRiVFOCVBOCVBRCVFNSVBRSU5QSZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnR4dC1jbGlwPWVsbGlwc2lzJnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9N2I3Y2I3NDc4NWYyNWJhN2YxNzlkYzIyY2I5MWIxMWM%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwSWNoaTAxMjQmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTdmYTkyYjEyNjFlYWIxZTQwNWFiYmExZTJlMzFjZjVh%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3D06ae6a234e84693f73c29d98c60124e0)