oji-cloud.net Open in urlscan Pro
99.84.140.36  Public Scan

Submitted URL: http://oji-cloud.net/2019/11/25/post-3645/
Effective URL: https://oji-cloud.net/2019/11/25/post-3645/
Submission: On May 19 via manual from JP — Scanned from JP

Form analysis 3 forms found in the DOM

POST https://oji-cloud.net/wp-comments-post.php

<form action="https://oji-cloud.net/wp-comments-post.php" method="post" id="commentform" class="comment-form">
  <p class="comment-notes"><span id="email-notes">メールアドレスが公開されることはありません。</span><span class="required-field-message"><span class="required">※</span> が付いている欄は必須項目です</span></p>
  <p class="comment-form-comment"><label for="comment">コメント</label><textarea id="comment" name="comment" cols="45" rows="8" aria-required="true" style="overflow: hidden; overflow-wrap: break-word; resize: none; height: 154px;"></textarea></p>
  <div id="commentform-author">
    <p class="comment-form-author"><label for="author">名前 <span class="required">*</span></label><input id="author" name="author" type="text" value="" size="30" maxlength="245" aria-required="true"></p>
    <p class="comment-form-email"><label for="email">メールアドレス <span class="required">*</span></label><input id="email" name="email" type="text" value="" size="30" maxlength="100" aria-describedby="email-notes" aria-required="true"></p>
  </div>
  <p class="comment-form-url"><label for="url">ウェブサイト</label><input id="url" name="url" type="text" value="" size="30" maxlength="200"></p>
  <p class="comment-form-cookies-consent"><input id="wp-comment-cookies-consent" name="wp-comment-cookies-consent" type="checkbox" value="yes"><label for="wp-comment-cookies-consent">次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。</label></p>
  <p class="form-submit"><input name="submit" type="submit" id="submit" class="submit" value="コメントを送信"><input type="hidden" name="comment_post_ID" value="3645" id="comment_post_ID"><input type="hidden" name="comment_parent" id="comment_parent"
      value="0"></p>
</form>

GET https://oji-cloud.net/

<form itemprop="potentialAction" itemscope="" itemtype="https://schema.org/SearchAction" method="get" class="search-form" action="https://oji-cloud.net/">
  <meta itemprop="target" content="https://oji-cloud.net/?s={s}">
  <label><input itemprop="query-input" type="search" class="search-field" placeholder="  サイト内検索" value="" name="s" title="サイト内検索" required=""></label>
  <input type="submit" class="search-submit" value="検索">
</form>

GET https://oji-cloud.net/

<form itemprop="potentialAction" itemscope="" itemtype="https://schema.org/SearchAction" method="get" class="search-form" action="https://oji-cloud.net/">
  <meta itemprop="target" content="https://oji-cloud.net/?s={s}">
  <div><input itemprop="query-input" type="search" class="search-field mobile-search" name="s" placeholder="  Search for ..." required=""></div><input type="submit" class="search-submit" value="Search">
</form>

Text Content

Oji-Cloud

クラウドとテクノロジーが人生をHappyにする。クラウドインテグレーターに転職したぱぱエンジニアが発信するテクニカルブログ。


 * Home
 * Profile




 * メニュー

 * サイドバー

 * 前へ

 * 次へ

 * 検索


 *   Twitter 
 *   RSS 
 *   Feedly 

 1. ホーム>
 2. AWS


ELBからHTTP 503が返された時の調査

11月 25, 2019AWS,ELB,システム設計

   
 * 
   
 * 0
   
 * 0
   
 * 
   
 * B!3
   
 * 7
   
 * 
 * 
   
 * 
   
 * 19
   
 * 


Contents
 * 1. 概要
   * 1.1. はじめに
   * 1.2. HTTP 503とは
 * 2. 構築時のトラブルシューティング
 * 3. 運用時のトラブルシューティング
   * 3.1. 503はALB or バックエンドどっちから来た?
   * 3.2. バックエンドから503が返って来た?
   * 3.3. ALBから503が返ってきた?
   * 3.4. ApacheにConnection timed outのエラーあり
   * 3.5. 不正な攻撃は受けていないか?
   * 3.6. ALBのアクセスは急増していないか?
 * 4. 参考


概要


はじめに

 * クライアントからのリクエストに対して、ELBからHTTP 503のエラーが返ることがあります。今回は、ELB(主にALB)からHTTP
   503が返されたときのトラブルシューティングをまとめます。

 


HTTP 503とは

 * HTTP 503とは”Service
   Unavailable”であり、一時的にサーバーにアクセスできないことを示します。一般的な原因として、サーバーに多数のアクセスが集中してサーバーが処理不能となった、サーバーの最大データ転送量を超過したなどがあるようです。
 * また、AWSのドキュメントには、下記の記述があり、ALBに対応したターゲットグループに有効なターゲットがいない場合が原因となるようです。しかし、全ての原因が下記とは限りませんので、もう少し深堀します。

> ロードバランサーのターゲットグループに登録済みターゲットがありません。

   


構築時のトラブルシューティング

 * システムは構築中であり、まだ疎通が確認できていない場合、以下に記載の設定が正しいかを確認します。
 * ALBのリスナーPortは正しいか?、再確認します。

 
 * ターゲットグループのPortは正しいか?、再確認します。
 * ターゲットグループのフロントにあるALB
   がSSL/TLS接続の終端であれば、ターゲットグループは80で受けます。一方、ターゲットグループのフロントがNLB であれば、ターゲットグループは443
   となりますね。

 * セキュリティグループのルールは正しいか?、再確認します。
 * ヘルスチェックはHealthyですか?、再確認します。必要に応じて、EC2 or ECS のWebサーバーや設定を確認します。

   


運用時のトラブルシューティング


503はALB OR バックエンドどっちから来た?

 * HTTP エラーの発生元は、下記いずれかとなります。503 が返された = ALB に原因があるとは言えません。
   * ロードバランサーが HTTP エラーを返した
   * ターゲットが HTTP エラーを返した
 * 先ず、エラーはALB or バックエンドのどちらから返されたかを見極めます。CloudWatch
   には、ALBあるいはターゲットのどちらで検出されたエラーかを調査するためのメトリクスがあります。
   * HTTPCode_ELB_4XX_Count または HTTPCode_ELB_5XX_Count 
   * HTTPCode_Target_4XX_Count または HTTPCode_Target_5XX_Count
 * 以下、HTTPCode_ELB_5XX_Count メトリクスのサンプルです。

   
 * 以下、HTTPCode_Target_5XX_Count メトリクスのサンプルです。

   


バックエンドから503が返って来た?

 * バックエンドが503のエラーを返していると思われる場合、ALBのアクセスログを確認して詳細を確かめます。
 * 503の発生元が分かれば、次のステップはWebサーバー(Apache,Nginx,IISなど)やアプリ側の状態、ログファイルを確認しましょう。
 * ALBのアクセスログ取得方法については、下記記事を参照ください。

ELB(ALB)のアクセスログ設定

ELB(ALB)のアクセスログ設定方法 概要 今回は、ロードバランサー(ALB: Application Load Balancer) ...

 https://oji-cloud.net/2019/07/17/post-2451/


   


ALBから503が返ってきた?

 * ALBが503を返していると思われる場合、前述したターゲットグループに有効なターゲットがないことが理由かもしれません。
 * 先ず、ターゲットグループのヘルスチェックで、現在のステータスがHealthyかを確認しましょう。
 * 次に、CloudWatchの下記メトリクスを確認します。一時的にターゲットのヘルスチェックがUnHealthy になっていた時間帯があったかもしれません。
   * HealthyHostCount
   * UnHealthyHostCount

   


APACHEにCONNECTION TIMED OUTのエラーあり

 * ALBの前段にEC2が配置されリバプロとして機能している場合、EC2 のhttpd
   ログに転送のエラーが記録されているかもしれません。下記Connection timed
   outのエラーがあれば、何らかの理由でALBに接続できなかったことが分かります。
 * このケースでは、先ず下記どちらのケースに合致しないかを見極めます。合致する場合のそれぞれの内容を参照ください。次に、どちらのケースにも合致しないが、HTTP
   503のエラーが発生し、Connection timed
   outのエラーが記録されている場合があります(ALBに接続できない)。この場合は、前述の構築時のトラブルシューティングに立ち戻り、再度通信経路で何らかの不適切な設定がないかを調査しましょう。
   * 一時的にターゲットのヘルスチェックがUnHealthy になっている
   * 不正な攻撃を受けている
   * ALBへのアクセスが急増している
 * リバプロがALBに接続できないケースで、下記Connection timed
   outのエラーが発生しており、かつ上記状況に合致しない場合は、下記事例の観点でも調査してみて下さい。
   * Apacheリバースプロキシ+ALB構成の落とし穴


[Thu Nov 21 10:12:17.170431 2019] [proxy:error] [pid 10000:tid 1234567890] (110)Connection timed out: AH00957: HTTP: attempt to connect to xx.xx.xx.xx:80 (xxxxxxxxxx-111111111.ap-northeast-1.elb.amazonaws.com) failed
[Thu Nov 21 10:12:17.170464 2019] [proxy_http:error] [pid 10000:tid 1234567890] [client xx.xx.xx.xx:xxxxx] AH01114: HTTP: failed to make connection to backend: xxxxxxxxxx-111111111.ap-northeast-1.elb.amazonaws.com

Copy

Bash
Copy
   


不正な攻撃は受けていないか?

 * DDos攻撃や不正アクセスなど、セキュリティホールを利用してリソースに過剰な負荷が掛かっていないかを確認しましょう。セキュリティグループのInboundは不必要にオープンされていませんか?
 * CloudWatch メトリクスでALBのRequestCount を確認します。
 * ALBにアクセスログを設定している場合は、異常なアクセスが発生しているかを確認します。

 


ALBのアクセスは急増していないか?

 * 念のため、ALBへのアクセスが急増していないかを確認しましょう。ALBは負荷に合わせて自動的にスケールアウトします。但し、EC2 Auto
   Scalingと同様にスケールアウトには数分の時間が掛かります。ALBに対して、アクセスの急増があった場合、ALBは処理しきれず、503を返す場合があります。
 * ALBへのアクセス増が予測できる場合は、ELBの暖気申請(Pre-warming)をして、あらかじめスケールアウトさせることが可能です。但し、ELBの暖気申請は、Bussinessプラン以上の契約が必要となります。

 


参考

 * ALBから返されるステータスコードについて、下記記事でまとめています。参照ください。

ALB(ロードバランサー)のエラーコード

ALB(Application Load Balancer)のエラーコード ALBが返すエラーのステータスコードには、下記2種類 ...

 https://oji-cloud.net/2019/07/26/post-2534/


 * Apacheをリバースプロキシとして使用し、かつバックエンドにALBを配置する構成の落とし穴について、事例紹介しています。

Apacheリバースプロキシ+ALB構成の落とし穴

概要 今回は、Apacheをリバースプロキシとして使用し、かつバックエンドにALBを配置する構成の落とし穴 ...

 https://oji-cloud.net/2020/01/10/post-3964/

 

AWS,ELB,システム設計

Posted by takaaki

--------------------------------------------------------------------------------


よろしければシェアお願いします

   
 * 
   
 * 
   
 * 
   
 * 
   
 * B!
   
 * 
   
 * 
 * 
   
 * 
   
 * 
   
 * 


S3からのファイルコピーでHTTP 403が表示されたとき
Next
Linux sshd の特定ユーザーのみパスワード認証
Prev


関連記事


ALB(ロードバランサー)のエラーコード

ALB(Application Load Balancer)のエラーコード AL ...


ALBのIPアドレスを調査する

概要 ALB(Application Load Balancer)は、スケールア ...


CLOUDFRONT用の証明書をIAMにCLI でインポートする

概要 CloudFront用の証明書をIAM にAWS CLI を使ってインポー ...


AMAZON SNSサブスクリプションの「保留中の確認」は削除できない

症状 Amazon SNS(Simple Notification Servic ...


やさしいLIGHTSAILのはじめ方

お手軽サーバー構築 PART2 当ウェブサイトは、Amazon Lightsai ...


ディスカッション


コメント一覧

まだ、コメントがありません


コメントをどうぞ コメントをキャンセル

メールアドレスが公開されることはありません。※ が付いている欄は必須項目です

コメント

名前 *

メールアドレス *

ウェブサイト

次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。




新川貴章のプロフィール

岐阜県出身、30代後半、3児の父。2000年に上京、電機メーカー就職⇒2015年に地元Uターン⇒2018年からクラウドインテグレーターに。2015年までの仕事は、東京都府中市にてSun
Microsystems/Oracle,HP,Ciscoのサーバーやストレージなどの製品担当エンジニアでした。製品を世に送り出すところからEOSLまでを日夜サポート。2015年から三重県四日市市の半導体工場に異動、情シスのポジションで大規模システムの構築・運用に従事。ここまでは、UNIXを中心にオンプレonly。2018年から愛知県名古屋市のクラウドインテグレーターに転職。遅咲きながら、初めてパブリッククラウドを使った仕事がスタート。毎日、スキルとハートを磨いています。
よろしければ、エンジニアが書くコラムもお読みください。(エンジニアがブログを書く理由)


最新記事

GitHub Actions を使ってS3 に自動デプロイ
5月 6, 2023


AWS Managed Microsoft AD のOS更新方法
2月 25, 2023
Nginx 接続数制限 (limit_conn) を設定してab検証する
2月 23, 2023
RDS バージョンアップが選べない (Sydney Region)
2月 23, 2023

AWS サーバーレスを使った翻訳 LINE Bot の製作
1月 9, 2023


人気の記事

 * やさしいDirect Connect の構築 238件のビューカテゴリ: AWS , DirectConnect , システム設計
 * API GatewayとVPC Endpointの... 237件のビューカテゴリ: APIGateway , AWS , システム設計
 * やさしい自己認証局と自己署名証明書の作り方 概要
   今回はテストのため、開発環境に自己認証局を構築し、自己認証局による自己署名証明書を発行しました。手順をま... 235件のビューカテゴリ:
   AmazonLinux_CentOS , apache , EC2 , セキュリティ関連
 * Microsoft Storeからインストール後W... 概要 Windows 10 のOS にWSL2 (Ubuntu)
   をインストールして使用しています。今回、Mi... 227件のビューカテゴリ: Ubuntu(WSL)
 * 
 * ELBからHTTP 503が返された時の調査 227件のビューカテゴリ: AWS , ELB , システム設計
 * CloudWatch Logs を定期的にS3 へ... 概要 今回は、CloudWatch
   Logsのサブスクリプションフィルターを使用して、CloudWatch L... 216件のビューカテゴリ: AWS , CloudWatch ,
   Kinesis , S3
 * Linux ファイル・ディスクリプタ制限のチューニ... 概要 Linux
   オペレーティング・システムでは、ファイル・ディスクリプタという仕組みが使われます。ファイル・... 207件のビューカテゴリ:
   AmazonLinux_CentOS , OperatingSystem
 * LambdaでRuntime.ImportModu... 201件のビューカテゴリ: AWS , Lambda
 * S3からのファイルコピーでHTTP 403が表示さ... 183件のビューカテゴリ: AWS , IAM_Policy関連 , S3
 * CloudFront + AWS WAF(WebA... 概要 今回は、CloudFront を使用する構成で、送信元のIP
   アドレスによるアクセス制限を行う方法を紹介... 182件のビューカテゴリ: AWS , AWS WAF , AWS-Security ,
   CloudFront
 * Windows にopenssl をインストール 概要 今回は、Windows クライアントにopenssl コマンドが必要になったため、インストール
   &... 179件のビューカテゴリ: WindowsServer , セキュリティ関連
 * やさしいopensslコマンドによるSSL証明書の... 173件のビューカテゴリ: AmazonLinux_CentOS , Network ,
   Ubuntu(WSL) , セキュリティ関連




カテゴリー アーカイブ

 * 【初学者向け】実践演習
 * ansible
 * AWS
   * ACM
   * APIGateway
   * AWS Shield
   * AWS WAF
   * AWS-Security
   * CloudFront
   * CloudWatch
   * Cognito
   * DirectConnect
   * Directory
   * DynamoDB
   * EC2
   * EFS
   * Elastic Beanstalk
   * ELB
   * IAM_Policy関連
   * Kinesis
   * Lambda
   * Lightsail
   * RDS
   * Route53
   * S3
   * SES
   * SNS
   * SQS
   * VPC
   * システム設計
   * 中国リージョン
   * 全般
 * AWS_en
 * Azure
 * CI/CD
   * GitHubActions
 * Database
   * SQLServer
 * LINE_Bot
 * Middleware
   * apache
   * nginx
   * solr
 * Network
 * OperatingSystem
   * AmazonLinux_CentOS
   * bash
   * OracleLinux
   * Ubuntu(WSL)
   * UNIX/Solaris
   * WindowsServer
   
 * terraform
 * Web製作 & WordPress
 * コラム
 * セキュリティ関連
   * WafCharm
 * 仕事役立ち
   * GAS
   * VSCode
 * 運用監視
   * Datadog
   * NewRelic


月別アーカイブ

 * 2023年5月
 * 2023年2月
 * 2023年1月
 * 2022年10月
 * 2022年9月
 * 2022年8月
 * 2022年7月
 * 2022年6月
 * 2022年5月
 * 2022年4月
 * 2022年3月
 * 2022年2月
 * 2022年1月
 * 2021年12月
 * 2021年11月
 * 2021年10月
 * 2021年9月
 * 2021年8月
 * 2021年7月
 * 2021年6月
 * 2021年5月
 * 2021年4月
 * 2021年3月
 * 2021年2月
 * 2021年1月
 * 2020年12月
 * 2020年11月
 * 2020年10月
 * 2020年9月
 * 2020年8月
 * 2020年7月
 * 2020年6月
 * 2020年5月
 * 2020年4月
 * 2020年3月
 * 2020年2月
 * 2020年1月
 * 2019年12月
 * 2019年11月
 * 2019年10月
 * 2019年9月
 * 2019年8月
 * 2019年7月
 * 2019年6月
 * 2019年1月
 * 2018年10月
 * 2018年9月
 * 2018年7月
 * 2018年6月
 * 2018年5月
 * 2018年4月
 * 2018年3月

Copyright © 2023 Oji-Cloud All Rights Reserved.

WordPress Luxeritas Theme is provided by "Thought is free".

PAGE TOP