はじめに
こんにちは。當摩です。
梨が美味しい季節になってくれて嬉しいです。秋は美味しい果物がたくさんでスーパーの果物コーナーについつい長居してしまいます。
今回はAWS Elastic Beanstalk(以下ElasticBeanstalk)の.ebextentionsを使用してリソースの詳細設定をしました。
詳細設定の内容はALBの削除保護の有効化と無効なヘッダーフィールドを削除の有効化です。
ElasticBeanstalkで作成したALBの削除保護の有効化と無効なヘッダーフィールドを削除の有効化は、 ElasticBeanstalkのマネージメントコンソールから設定できない項目であるため、.ebextentionsを使用した詳細設定に挑戦することとなりました。
実際に設定してみる
アプリケーションバージョンの確認
設定変更するソースを確認します。
1.ElasticBeanstalkの環境に移動し、対象のElasticBeanstalk環境を選択します。
2.アプリケーションバージョンに移動し、現在デプロイされているアプリケーションバージョンを確認します。
3.すでに任意で作成されたアプリケーションバージョンがある場合は現在デプロイされているバージョンのソースをダウンロードします。
任意で作成されたアプリケーションバージョンがない場合はサンプルアプリケーションページに飛び、対象環境のプラットフォームと同じものをダウンロードします。
プラットフォームは左タブの環境に移動して確認できます。
.ebextensionsの更新
ALBの設定用のソースファイルを.ebextentionsに追加します。
1.ダウンロードしてきたソースを展開し、.ebextensionsの中に「alb.config」というファイルを作成します。
Resources: AWSEBV2LoadBalancer: Type: AWS::ElasticLoadBalancingV2::LoadBalancer Properties: LoadBalancerAttributes: - Key: deletion_protection.enabled Value: true - Key: routing.http.drop_invalid_header_fields.enabled Value: true
2..ebextentionsの最上位ディレクトリで全ファイルを選択してzip化し、任意の名前に変更します。
Point!フォルダごとzip化してしまうと、環境にデプロイするときに1つ余計なフォルダが作成されてしまい、うまく読み込むことができません。
ソースのアップロード
作成したソースをElasticBeanstalkにアップロードします。
1.ElasticBeanstalkのアプリケーションバージョンに移動し、アップロードを押します。
2.バージョンラベルを任意の名前で入力①し、zip化したファイルを選択②してアップロード③します。
アップロードしたソースのデプロイ
作成したソースをElasticBeanstalkにアップロードします。
1.アップロードしたアプリケーションバージョンを選択し、アクションからデプロイを選択します。
2.デプロイする環境名を選択①してデプロイ②をします。
対象の環境で作成されたALBの削除保護と無効なヘッダーフィールドを削除が有効化になっていることが確認できましたか?
おわりに
.ebextentionsの設定が必要と聞くとなんだか身構えてしまいました。
CloudFormationととても似ているので、CloudFormation使い手の方はすぐに設定できてしまいそうです!
秋果物を冒頭でお話しましたが、冬はみかんをむきすぎて手が黄色になってしまいますよね。