9
10

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 5 years have passed since last update.

[AWS編]意外と難しいSingle-AZ運用

Last updated at Posted at 2017-03-08

概要

  • AWS上でEC2、RDSの組み合わせでMulti-AZ構成で立ててみたが、いざリクエストを投げると思った性能が出ない場合があると思います。
  • 筆者の組織でもアプリの作りの問題も(大いに)あるのですが、EC2を異なるAZ間で配置した場合にEC2-RDS間での性能が出ない。。。
  • Single-AZ構成にならざるをえなかったのですが、どうしてもDBレプリケーションは組みたくない、でも冗長化したい!!というか、launchが迫った時点で発覚して冗長化構成組んでるよって言っちゃってた。。。
    図1.png

対策案

  • DNSフェールオーバー
  • ELB経路切替

これくらいかなー
両方ともRDSのAZが切り替わったことを検知して、上位のアプリサーバ(EC2)をA系からC系とかに切りかえる方法をとった。

各案詳細

  • DNSフェールオーバー
    スクリーンショット 2017-03-08 22.55.21.png

  • ELB経路切替
    スクリーンショット 2017-03-08 22.57.38.png

やってみた

DNSフェールオーバー

  • やっぱ伝播(最近は問題にならないらしいけど)がきになる。
  • しかもIoTサービスで数s単位でデータを吸い上げる仕組みだったので、待てない!
  • ボツ

ELB経路切替

  • 当初はLambdaでRDSのイベントを拾ったりして検証してみたけど3000sタイムアウトでやっぱり拾えたり拾えなかったり。。。。
  • なので以下の案に切り替えてみた。
    図1.png

これだと数minくらいのダウンタイムでなんとかしのげるようになった。

まとめ

  • この仕組み自体アンチパターンだし、そもそもクラウドに行く理由ないよねって思ってます。
  • アプリを早く改修してもらわないと(涙)
  • 【緩募】もっといいやり方あったら教えてください!!
9
10
1

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
9
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?