ElasticBeanstalkで管理されているALBのアイドルタイムアウト値を変更する

こんにちは。SCSKの石原です。

皆様、Elastic Beanstalk使っていますか?
アプリケーション環境を用意する際に、いい感じにインフラを抽象化してくれて便利ですよね。デフォルト値でもそれなりに動きますし、細かい設定もコンソールや設定ファイルにより定義できるので、痒い所に手が届くサービスかと思います。

ただ、今回変更するALBタイムアウト値はElastic Beanstalkのコンソールから設定することができません(2022年4月現在)。

Application Load Balancer の設定 - AWS Elastic Beanstalk
Application Load Balancer を使用して、アプリケーションレイヤートラフィックを HTTP パスに基づいて環境インスタンスの別のポートにルーティングします。

では、設定方法を解説していきます。

設定方法

今回はEbextensionsを利用してオプション設定をしていきます。

アプリケーションのソースコードが格納されているリポジトリに「.ebextensions」を作成して、その配下にオプション設定を記載したファイルを格納します。

設定ファイル (.ebextensions) による高度な環境のカスタマイズ - AWS Elastic Beanstalk
設定オプションを設定する設定ファイル(.ebextensions)を使用し、環境内の EC2 インスタンスをカスタマイズし、追加リソースを作成します。

ファイル名は任意です。今回は「alb-setting.config」として作成しました。このファイルの拡張子は「.config」としてください。

設定内容は下記の通りです。タイムアウト値は10分としています。

option_settings:
  - namespace: aws:elbv2:loadbalancer
    option_name: IdleTimeout
    value: 600

あとは、パイプラインがあれば自動デプロイしても良いですし、Elastic Beanstalkのコンソールから手動でデプロイしてもOKです。

補足

Classic Load Balancerを利用されている場合は下記の設定になります。ご注意ください。

option_settings:
  - namespace: aws:elb:policies
    option_name: ConnectionSettingIdleTimeout
    value: 600

おわりに

今回はALBのタイムアウト値を変更しましたが、様々なパラメータを変更することができます。

インフラ視点でも痒い所に手が届くかと思います。

すべての環境に対する汎用オプション - AWS Elastic Beanstalk
Elastic Beanstalk 環境でグローバルに利用可能なオプションを設定します。

どなたかの参考になれば幸いです。

著者について

クラウドやオンプレでインフラ周りの設計・運用している人です
最近はクラウドをよく使っていています。
取得資格:AWS認定(SAA,DVA,SOA,DOP,SAP,DAS,SCS,ANS)
     GoogleCloud認定(ACE)
好きなAWSサービス:CloudFormation,IAM

石原雄太をフォローする
クラウドに強いによるエンジニアブログです。
SCSKは専門性と豊富な実績を活かしたクラウドサービス USiZE(ユーサイズ)を提供しています。
USiZEサービスサイトでは、お客様のDX推進をワンストップで支援するサービスの詳細や導入事例を紹介しています。
AWS技術ナレッジ
TechHarmony
タイトルとURLをコピーしました