jawsug版 postgresql on amazon ec2の可能性

Post on 28-Jun-2015

2.706 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

PostgreSQL on Amazon EC2

@hashiva

Serverworks Co.,Ltd

JAWSUG版

RDS?? Multi-AZ??

ポスグレ使いたいんだけど!

やってみた

EC2だとこうなったSPOF

ELB

SPOFができてしまう理由

Amazon EC2の特徴

ローカルIPとグローバルIPは仮想サーバー起動時に自動設定される

ローカルIPは自由に変更する事が出来ない

仮想IPを使用する一般的な冗長構成は難しい

がんばってみた

スクリプトでpgpool-IIを監視

pgpool-IIが落ちたらAMIから再起動

⇒EC2ならでは!

おとしてみた

障害発生時の流れ

①障害検知 AMI

ELB

監視サーバー上の起動スクリプト

pgpool-IIへ定期的に接続を行う

失敗した場合

• 新しいpgpool-IIサーバーを起動して監視再開

• さらに失敗した場合は再度新しいpgpool-IIサーバーを起動する

スクリプトのURL

http://github.com/serverworks/jpug-

2010-summer-seminar

pgpool-IIサーバーの自動実行スクリプト

1. 割り当てられたローカルIPを取得する

2. 監視サーバ, Webサーバー1号機, 2号機の各ホストにSSH接続し /etc/hosts に含まれるpgpool-IIホストのIPアドレスを書き換える

スクリプトのURL

http://github.com/serverworks/jpug-

2010-summer-seminar

復旧までの時間

状態 時刻

障害発生 14:15:10

障害検知、新サーバー起動開始 14:18:31

新サーバー起動確認 14:19:47

新サーバーDB接続確認 14:20:20

ダウンタイム:5分10秒

スクリプト改善の余地あり

おまけ

ポーリングの間隔を間違えると大変なことになります

検証中の失敗例

ELB

考察

pgpool-IIを冗長化する場合、仮想IPを使用した冗長構成は難しい

監視システムとスクリプトを連動させる事でpgpool-IIサーバーの自動復旧は実現可能

次回予告

パフォーマンス比較(RDS vs PostgreSQL on EC2)

最後に

Amazon RDS のPostgreSQL版

ぜひよろしくお願いいたします

ありがとうございました

Twitter

@cloudworks_jp

top related