.ebextentionsでEB環境の詳細設定

記事タイトルとURLをコピーする

はじめに


こんにちは。當摩です。

梨が美味しい季節になってくれて嬉しいです。秋は美味しい果物がたくさんでスーパーの果物コーナーについつい長居してしまいます。


今回はAWS Elastic Beanstalk(以下ElasticBeanstalk)の.ebextentionsを使用してリソースの詳細設定をしました。 詳細設定の内容はALBの削除保護の有効化と無効なヘッダーフィールドを削除の有効化です。


ElasticBeanstalkで作成したALBの削除保護の有効化と無効なヘッダーフィールドを削除の有効化は、 ElasticBeanstalkのマネージメントコンソールから設定できない項目であるため、.ebextentionsを使用した詳細設定に挑戦することとなりました。


実際に設定してみる


アプリケーションバージョンの確認


設定変更するソースを確認します。


1.ElasticBeanstalkの環境に移動し、対象のElasticBeanstalk環境を選択します。

f:id:swx-chihoshi-taima:20210927161301p:plain


2.アプリケーションバージョンに移動し、現在デプロイされているアプリケーションバージョンを確認します。

f:id:swx-chihoshi-taima:20210927161609p:plain


3.すでに任意で作成されたアプリケーションバージョンがある場合は現在デプロイされているバージョンのソースをダウンロードします。
任意で作成されたアプリケーションバージョンがない場合はサンプルアプリケーションページに飛び、対象環境のプラットフォームと同じものをダウンロードします。

f:id:swx-chihoshi-taima:20210927161901p:plain

f:id:swx-chihoshi-taima:20210927162015p:plain

プラットフォームは左タブの環境に移動して確認できます。

f:id:swx-chihoshi-taima:20210927162304p:plain



.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のアプリケーションバージョンに移動し、アップロードを押します。

f:id:swx-chihoshi-taima:20210927162925p:plain


2.バージョンラベルを任意の名前で入力し、zip化したファイルを選択してアップロードします。

f:id:swx-chihoshi-taima:20210927163450p:plain



アップロードしたソースのデプロイ


作成したソースをElasticBeanstalkにアップロードします。


1.アップロードしたアプリケーションバージョンを選択し、アクションからデプロイを選択します。

f:id:swx-chihoshi-taima:20210927163837p:plain


2.デプロイする環境名を選択してデプロイをします。

f:id:swx-chihoshi-taima:20210927164400p:plain

対象の環境で作成されたALBの削除保護と無効なヘッダーフィールドを削除が有効化になっていることが確認できましたか?

f:id:swx-chihoshi-taima:20210927164630p:plain


おわりに


.ebextentionsの設定が必要と聞くとなんだか身構えてしまいました。

CloudFormationととても似ているので、CloudFormation使い手の方はすぐに設定できてしまいそうです!

秋果物を冒頭でお話しましたが、冬はみかんをむきすぎて手が黄色になってしまいますよね。