AWS
ElasticBeanstalk

ElasticBeanstalkでhttp2対応

ElasticBeanstalkでは、ロードバランサーの種類がClassicロードバランサーとApplicationロードバランサーの2つが選べます。

Applicationロードバランサーの主な特徴としては、リクエストされるパスごとに複数のエンドポイントに振り分けるられることなのですが、ApplicationロードバランサーにはClassicロードバランサーではできないhttp2対応ができます。

Applicationロードバランサーを使うには、ElasticBeanstalkのアプリケーションを何故かeb cliで作らなければなりません。WebのGUIでは今のところできないようです。

事前にVPCとVPCに紐付いたサブネットを2作っておき、以下のようにコマンドを使ってアプリケーションを作成します。

eb create xxxxxxxx \
    --elb-type application \
    --vpc.id vpc-xxxxxxxx \ # 作成したVPC
    --vpc.elbsubnets subnet-xxxxxxxx,subnet-xxxxxxxx \ # 作成したサブネット
    --vpc.ec2subnets subnet-xxxxxxxx,subnet-xxxxxxxx \ # 作成したサブネット
    --vpc.elbpublic \
    --vpc.publicip

事前にVPCとサブネットを作らないで eb createだけでapplicationロードバランサーのアプリケーションを作るとVPC外のところにアプリケーションができてよくわからないことになります…