AWS Beanstalk Docker Multicontainer について、
いいね!って記事は多いんだけど、エラーに関する記事が少なすぎる気がする。。
実戦投入は少ないのかな?
今回は、AWS Elastic BeanstalkのDocker Multicontainerを使って
サービスを構築しているときに生じたエラーがGetting “RESOURCE:MEMORY”
出たときの対応を書き溜め。
Multicontainerのとき、実態はECS EC2インタンスモードで起動するので
ECSでも同様のエラーがでます。(てかECSのエラーというほうが正しい)
先に対策
Dockerrun.aws.json内、memoryの値を小さくする。
これです。
原因
ECSクラスターで使用するEC2に割り当てられているメモリ以上を指定すると
アプリケーションは起動せずエラーを起こします。
公式によると、
コンテナに適用されるメモリの量 (MiB 単位)。コンテナは、ここで指定したメモリを超えようとすると、強制終了されます
だそうです。
t2.microだと1GiBなので、1024以内に抑えればokです。
それぞれのメモリと相談って感じ。
Multicontainerの場合、
コンテナの合計メモリが1024ということなので気をつけてね。
m5.largeなら8Gibと、インスタンスサイズに依存します。
nginxには、これだけで、Railsにはこれだけ。
みたいな感じでうまく割り振ってください。
詳しくは公式をどうぞ。
じゃあね〜〜。