[小ネタ] マネジメントコンソールでALBと一緒につくったGlobal AcceleratorはALBを削除しても残るので注意しよう
はじめに
清水です。AWSマネジメントコンソールでALB作成時にGlobal Acceleratorを一緒に作成することが可能です。ALBのIPアドレスの固定化などに利用できます。しかしこのALBと一緒につくったGlobal Accelerator、ALBを削除しても一緒には消えてくれません。このことに気がつかないまま、使用されていないAcceleratorでAWS利用費を発生させたままになってしまっていました。反省も込めてブログにまとめておきたいと思います。
マネジメントコンソールからALBにアタッチするAcceleratorが簡単に作成できる
AWS Global Accelerator、AWSのグローバルネットワークを活用してアプリケーションの可用性やパフォーマンスを向上させることができるサービスです。2つのグローバルな静的パブリックIPアドレスが提供されることから、ALB (Application Load Balancer)に固定IPアドレスでアクセスするというユースケースでも利用可能です。
- Global Acceleratorを使ってALBを固定IP化する #reinvent | DevelopersIO
- 固定IPアドレスでフルマネージドなリダイレクト環境をAWSで構成する | DevelopersIO
そんなユースケースを考慮してかどうかは定かではありませんが、AWSマネジメントコンソールからALBを作成する際、オプションとしてAcceleratorの利用を選択できます。Global Acceleratorのマネジメントコンソールに移動しなくても、EC2のマネジメントコンソール、ロードバランサの項目から簡単にAccleeratorの作成が可能です。
実際に作成してみましょう。マネジメントコンソールでELB作成ウィザードに進み、ALBを選択します。「手順1: ロードバランサーの設定」でアドオンサービスのAWS Global Acceleratorのチェックボックスを有効にし、Accelerator名を入力します。
そのまま手順を進め、「手順6: 確認」で内容を確認したら[作成]ボタンでALBを作成します。
この操作(チェックボックスを有効にして、Accelerator名を入力)のみでGlobal Acceleratorも一緒に作成されます。お手軽ですね!
作成したAcceleratorリソースはALBの「統合サービス」タグで確認ができます。
「Accelerator名」のリンク部分よりGlobal Acceleratorのマネジメントコンソールに遷移可能ですが、固定IPアドレスでのALBの利用だけならマネジメントコンソールのロードバランサの項目だけ完結できてしまいそうです。
マネジメントコンソールからALBを削除してもアタッチされているAcceleratorは残ったまま
さて、上記のようにマネジメントコンソールで作成したALBとAcceleratorについて、利用が終わったので削除するとしましょう。作成のときと同様に、マネジメントコンソールのロードバランサの項目から削除を行います。
この作業でALB自体は削除されます。しかし、ELB作成ウィザード内で一緒に作成したAcceleratorについては 削除されません! マネジメントコンソールのロードバランサの項目では該当ALBが既に削除されておりリソースを確認できないため、Global Acceleratorのマネジメントコンソールに移動して確認してみます。
Acceleratorが残っていますね。ListenersからEndpoint groupと辿っていくと、紐づいていた(今はなき)ALBが確認できます。(リンクをクリックしても、当然ながらALBは残っていませんが。)
ということで、マネジメントコンソールからALBを削除しても、一緒に作成したAcceleratorは削除されず残ったままとなります。このままAcceleratorを削除し忘れると、Acceleratorの固定料金($0.025/時間、$0.6/日)が発生するので注意しましょう。
まとめ
EC2のマネジメントコンソールからELB作成ウィザードでALBと一緒に作成したGlobal Acceleratorが、同マネジメントコンソールからALBを削除しても残り続けていることを確認しました。ALBと一緒に削除してしまうと、例えば固定IPアドレスは保持しつつ別の(新しく作り直した)ALBに関連付けたい、といったユースケースに対応できないため、このような挙動なのかな、などと思いました。またよく考えてみると、ALBの作成ウィザードで一緒に作成できるTarget Groupなども挙動は同じ(ALBを削除しても、Target Groupは残る)ですね。そのため、「ALBと一緒につくったAccelerator、残っているかな?」と予想はしやすいかと思いますが、利用料金が発生するサービスであることなどからも注意しておきましょう。一番は作成されるリソースをきちんと理解し、削除時も同様に各リソースが削除されているかを確認することかと思います。