3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Google ChromeでALBを通るブラウザ接続をすると遅くなる問題

Last updated at Posted at 2021-12-21

株式会社パーソンリンクアドベントカレンダー21日目です!🎉

はじめに

案件作業中、dev環境においてALBを通してwebサーバーにブラウザ接続すると1分ほど接続に時間がかかった。この現象がGoogle Chromeのみ現れsafariなどでは特に問題はなかった。stg環境ではChromeでも特に問題なくブラウザ接続でき、dev環境だけ現れる現象ということで調査した。

ALB(Application Load Balancer)とは

AWSのシステムの一部で、webサービスに発生する負荷を分散するロードバランサーのこと。
突然webアプリケーションへアクセスが集中したときに、webサービスにかかる負荷を分散し、安定性や高可用性を向上させることができる。

原因

ALBのアベイラビリティーゾーン(以下AZ)設定の際に、igwがないsubnet(以下private subnet)がアタッチされていると、Chromeでの接続が遅くなる。画像にprivate subnetをアタッチしている簡易的な構成図を示す。(本来はALBの役割として、負荷分散があるためec2は複数台設置するべき)

bad-access.png

以下の画像はALB作成の際の、AZの設定部分
スクリーンショット 2021-05-21 1.16.28.png

画像のように、ALBの作成は別々のAZにある2つのサブネットが必要であり、またその選択しているサブネットがprivate subnetであると警告文のようなのが出る。

この設定でALBを作成するとGoogle Chromeでのブラウザ接続が遅くなるようだ。

解決策

1.新しくpublic subnetを作成し、ALBにアタッチする

以下の構成図のようにpublic subnetを増築し、ALBにアタッチしてprivate subnetをアタッチしない様にする
Good access.png

2. private subnetをpublic subnetにする

以下の構成図の様に、private subnetをigwを接続されるルートテーブルに編集し、public subnetに変更することで、ALBにアタッチしているサブネットにprivate サブネットがないようにします。
解決策2.png

注意点:webサーバが置いてあるsubnetがprivateではなくpublic subnetになり、外のネットワークと直接繋がってしまうため外部から攻撃を受けたりする可能性がある。

結論

stg環境では、構成的に解決策1のようになっていたため、問題なく接続できておりdev環境にだけ現れた現象だった。

解決策1と2どちらも試した結果、Chromeでの接続が特に問題のない接続の速さになった。

今後としてALBの作成の際に選択するsubnetを2つともpublic subnetにすれば良い。
もし最初の構成図のようにprivate subnetをアタッチしてしまっていた場合は、解決策1のような方法を取れば良い。

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?