Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
Copyright © 2014 SRA OSS, Inc. Japan All rights reserved. 1
PostgreSQLをクラウドで利用しよう
オープンソースミドルウェア最新技術セミナー2014/03/25 14:10 - 14:40
SRA OSS, Inc. 日本支社技術開発部 正野 裕大
Copyright © 2014 SRA OSS, Inc. Japan All rights reserved. 2
アジェンダ
PostgreSQLはクラウド上でも十分使えます
1. PostgreSQLの概要・PostgreSQLとは
・PostgreSQLの導入事例
・PostgreSQLで利用される構成
2. PostgreSQLをクラウドで使う・クラウドサービスの分類・PostgreSQL + Amazon Web Services による構成例
Copyright © 2014 SRA OSS, Inc. Japan All rights reserved. 3
PostgreSQLをクラウドで利用しよう
PostgreSQLの概要
Copyright © 2014 SRA OSS, Inc. Japan All rights reserved. 4
PostgreSQL の概要
PostgreSQLとは | 歴史
PostgreSQL 6.0(1996年)以来15年以上の歴史を持つ代表的なオープソースRDBS
[「改めてOSS、その利用の可能性とは」] http://www.sraoss.co.jp/event_seminar/2013/20131127_oss.pdf
Copyright © 2014 SRA OSS, Inc. Japan All rights reserved. 5
PostgreSQL の概要
PostgreSQLとは | ライセンス
修正BSDライセンスに類似したライセンスで配布
使用・複製・改変・配布の自由・ 著作権表示・ ライセンス条文 を含めていればOK・ 免責条項
The PostgreSQL Licence [PostgreSQL: License] http://www.postgresql.org/about/licence/
柔軟なライセンスで商用利用もしやすい
修正BSDライセンスに類似したライセンスで配布
EnterpriseDB 「Postgres Plus Advanced Server」
SRA OSS 「PowerGresファミリー」
Copyright © 2014 SRA OSS, Inc. Japan All rights reserved. 6
PostgreSQL の概要
PostgreSQLとは | 開発コミュニティ
コミュニティベースの開発体制特定の企業が独占的に管理をしていない
[「オープンソースデータベース PostgreSQL 最新動向のご紹介」] http://www.sraoss.co.jp/event_seminar/2013/20130627_pgsql93_seminar_sraoss.pdf
Copyright © 2014 SRA OSS, Inc. Japan All rights reserved. 7
PostgreSQL の概要
PostgreSQLの導入事例 | JTB旅カード (http://travelpoint.jtb.co.jp/tp/)
[「PostgreSQL 多機能ミドルウェア pgpool-II 最新活用方法」] http://www.sraoss.co.jp/event_seminar/2013/20130212_pgpool_seminar_sraoss.pdf
Copyright © 2014 SRA OSS, Inc. Japan All rights reserved. 8
PostgreSQL の概要
PostgreSQLの導入事例 | Zalando (http://www.zalando.de/)
800台のAPサーバ (Tomcat) 50種類のデータベース 90台のマスターDBサーバ 5TBのDBサイズ 200人の開発者
[PGConf EU/DE 2013 recap and slides | Zalando Tech Blog]http://tech.zalando.com/posts/pgconf-2013-recap-and-slides.html
ヨーロッパ最大のオンライン服飾販売サイトPostgreSQLの国際カンファレンス (2013) で事例発表
Copyright © 2014 SRA OSS, Inc. Japan All rights reserved. 9
PostgreSQL の概要
PostgreSQLの典型的な構成例 – HA構成
可能な限り限りサービスのダウンタイムを短くしたい
複数のサーバを1つのシステムにまとめて信頼性を高める
サービス開始
サーバを停止してバックアップ 障害発生 障害検知
対処開始障害復旧
完了
稼動系 待機系
サービス監視
データ同期
High Availability(高可用性)
サービス提供
1つのHAクラスタ
Copyright © 2014 SRA OSS, Inc. Japan All rights reserved. 10
PostgreSQL の概要
PostgreSQLの典型的な構成例 – HA構成
可能な限り限りサービスのダウンタイムを短くしたい
複数のサーバを1つのシステムにまとめて信頼性を高める
サービス開始
サーバを停止してバックアップ 障害発生 障害検知
対処開始障害復旧
完了
稼動系
待機系↓
稼動系
サービス監視
データ同期
High Availability(高可用性)
サービス提供
障害を検知してサービスを切り替え
Copyright © 2014 SRA OSS, Inc. Japan All rights reserved. 11
PostgreSQL の概要
PostgreSQLの典型的な構成例 – HA構成
可能な限り限りサービスのダウンタイムを短くしたい
複数のサーバを1つのシステムにまとめて信頼性を高める
サービス開始
サーバを停止してバックアップ 障害発生 障害検知
対処開始障害復旧
完了
稼動系
待機系↓
稼動系
サービス監視
データ同期
High Availability(高可用性)
サービス提供
OSS です
代表的なHAクラスタリングソフトウェア ・ Pacemaker http://linux-ha.sourceforge.jp/wp/ ・ pgpool-II http://www.pgpool.net/mediawiki/jp/index.php/
Copyright © 2014 SRA OSS, Inc. Japan All rights reserved. 12
PostgreSQL の概要
PostgreSQLのHA構成例 | Pacemaker
サービスを構成するアプリケーション・ネットワーク・ディスクを監視・制御する
データ同期
PostgreSQLのStreaming Replication
Pacemaker Pacemaker
死活監視
正常稼働時
DBクライアントアクセス
稼動系 待機系
Copyright © 2014 SRA OSS, Inc. Japan All rights reserved. 13
PostgreSQL の概要
PostgreSQLのHA構成例 | Pacemaker
データ同期
PostgreSQLのStreaming Replication
Pacemaker
死活監視
Pacemaker
障害発生時
フェイルオーバ
サービスを構成するアプリケーション・ネットワーク・ディスクを監視・制御する
DBクライアントアクセス
稼動系 待機系↓
稼動系
Copyright © 2014 SRA OSS, Inc. Japan All rights reserved. 14
PostgreSQL の概要
PostgreSQLのHA構成例 | pgpool-II
コネクションプーリング・参照負荷分散・自動フェイルオーバ etc.
正常稼働時
データ同期
PostgreSQLのStreaming Replication
pgpool-II pgpool-II死活監視
情報共有
DBクライアントアクセス
稼動系 待機系
死活監視 / DBアクセス / 負荷分散
Copyright © 2014 SRA OSS, Inc. Japan All rights reserved. 15
pgpool-II
PostgreSQL の概要
PostgreSQLのHA構成例 | pgpool-II
コネクションプーリング・参照負荷分散・自動フェイルオーバ etc.
障害発生時
データ同期
PostgreSQLのStreaming Replication
pgpool-II死活監視
情報共有
DBクライアントアクセス
フェイルオーバ
稼動系 待機系↓
稼動系
死活監視 / DBアクセス / 負荷分散
Copyright © 2014 SRA OSS, Inc. Japan All rights reserved. 16
PostgreSQL の概要
PostgreSQLのHA構成例 | pgpool-II
コネクションプーリング・参照負荷分散・自動フェイルオーバ etc.
障害発生時
データ同期
PostgreSQLのStreaming Replication
pgpool-II pgpool-II死活監視
情報共有
DBクライアントアクセス
フェイルオーバ
待機系 稼働系
死活監視 / DBアクセス / 負荷分散
Copyright © 2014 SRA OSS, Inc. Japan All rights reserved. 17
PostgreSQLをクラウドで利用しよう
PostgreSQLをクラウドで使う
Copyright © 2014 SRA OSS, Inc. Japan All rights reserved. 18
PostgreSQLをクラウドで使う
クラウドコンピューティングサービスの形態
物理サーバ
PaaSPlatform as a Service
SaaSSoftware as a Service
仮想サーバ
仮想サーバ
@メールサーバ
DBサーバ
Webサーバ
www
IaaSInfrastructure as a
Service
ネットワーク越しに仮想化されたリソースを提供
提供するレイヤ別に3つに分類できる
ブログサービス
メールサービス
Copyright © 2014 SRA OSS, Inc. Japan All rights reserved. 19
PostgreSQLをクラウドで使う
クラウドコンピューティングサービスの形態ネットワーク越しに仮想化されたリソースを提供
提供するレイヤ別に3つに分類できる
物理サーバ
PaaSPlatform as a Service
SaaSSoftware as a Service
仮想サーバ
仮想サーバ
@メールサーバ
DBサーバ
Webサーバ
www
IaaSInfrastructure as a
Service
ブログサービス
メールサービス
Copyright © 2014 SRA OSS, Inc. Japan All rights reserved. 20
PostgreSQLをクラウドで使う
AWS + PostgreSQL = Amazon RDS
Amazonが提供するDBサーバのマネージドサービス位置付けとしては DaaS (Database as a Servise)手軽にHA構成が組める
Availability Zone #2
Availability Zone #1
PostgreSQL
PostgreSQL
APインスタンス
APインスタンス
Copyright © 2014 SRA OSS, Inc. Japan All rights reserved. 21
PostgreSQLをクラウドで使う
AWS + PostgreSQL = Amazon RDS
Amazonが提供するDBサーバのマネージドサービス位置付けとしては DaaS (Database as a Servise)手軽にHA構成が組める
Availability Zone #2
Availability Zone #1
APインスタンス
APインスタンス
PostgreSQL
PostgreSQL
先ほどのPacemaker版構成例と同様の形
Copyright © 2014 SRA OSS, Inc. Japan All rights reserved. 22
PostgreSQLをクラウドで使う
AWS + PostgreSQL = Amazon RDS
Amazonが提供するDBサーバのマネージドサービス位置付けとしては DaaS (Database as a Servise)手軽にHA構成が組める
Virtual Private Cloud AWS上にユーザ毎に仮想的なプライベートネットワークが提供される
Copyright © 2014 SRA OSS, Inc. Japan All rights reserved. 23
PostgreSQLをクラウドで使う
AWS + PostgreSQL = Amazon RDS
Amazonが提供するDBサーバのマネージドサービス位置付けとしては DaaS (Database as a Servise)手軽にHA構成が組める
Availability Zone #2
Availability Zone #1
Availability Zone 異なるAvailability Zone ≒異なるデータセンタ 仮想環境を動かしている物理サーバが異なっている 高い対障害性を実現
Copyright © 2014 SRA OSS, Inc. Japan All rights reserved. 24
PostgreSQLをクラウドで使う
AWS + PostgreSQL = Amazon RDS
Amazonが提供するDBサーバのマネージドサービス位置付けとしては DaaS (Database as a Servise)手軽にHA構成が組める
Availability Zone #2
Availability Zone #1
RDSインスタンス プロビジョンされたDBサーバ 作成したらすぐに使える AWS側のアーキテクチャで自動フェイルオーバー・データ同期
待機系Slave
稼働系Master
データ同期
PostgreSQL
PostgreSQL
Copyright © 2014 SRA OSS, Inc. Japan All rights reserved. 25
PostgreSQLをクラウドで使う
AWS + PostgreSQL = Amazon RDS
Amazonが提供するDBサーバのマネージドサービス位置付けとしては DaaS (Database as a Servise)手軽にHA構成が組める
Availability Zone #2
Availability Zone #1
PostgreSQL
PostgreSQL
APインスタンス
APインスタンス
Copyright © 2014 SRA OSS, Inc. Japan All rights reserved. 26
PostgreSQLをクラウドで使う
AWS + PostgreSQL + pgpool-II
Availability Zone #2
Availability Zone #1
APインスタンス
仮想サーバに自前のPostgreSQLとpgpool-IIをインストールしてHA構成を構築 AWSではややトリッキーな構成になる
M
PostgreSQL
S
PostgreSQL
pgpool-II
NATインスタンス
NATインスタンス
APインスタンス
pgpool-II
M
PostgreSQL
Copyright © 2014 SRA OSS, Inc. Japan All rights reserved. 27
PostgreSQLをクラウドで使う
AWS + PostgreSQL + pgpool-II
Availability Zone #2
Availability Zone #1
APインスタンス
仮想サーバに自前のPostgreSQLとpgpool-IIをインストールしてHA構成を構築 AWSではややトリッキーな構成になる
M
PostgreSQL
S
PostgreSQL
pgpool-II
NATインスタンス
NATインスタンス
APインスタンス
pgpool-II
M
PostgreSQL
先ほどのpgpool-II版構成例と同様の形
Copyright © 2014 SRA OSS, Inc. Japan All rights reserved. 28
PostgreSQLをクラウドで使う
AWS + PostgreSQL + pgpool-II
Availability Zone #2
Availability Zone #1
APインスタンス
仮想サーバに自前のPostgreSQLとpgpool-IIをインストールしてHA構成を構築 AWSではややトリッキーな構成になる
M
PostgreSQL
S
PostgreSQL
pgpool-II
NATインスタンス
NATインスタンス
APインスタンス
pgpool-II
M
PostgreSQL?
Copyright © 2014 SRA OSS, Inc. Japan All rights reserved. 29
PostgreSQLをクラウドで使う
AWS + PostgreSQL + pgpool-II | NAT インスタンスの必要性
Availability Zone #2
Availability Zone #1
APインスタンス
M
PostgreSQL
S
PostgreSQL
pgpool-II
NATインスタンス
NATインスタンス
APインスタンス
pgpool-II
M
PostgreSQL
HA構成ではサービスで使う共通のIPアドレス(仮想IP)をフェイルオーバ時に稼動系となるサーバに割り当てる
Copyright © 2014 SRA OSS, Inc. Japan All rights reserved. 30
PostgreSQLをクラウドで使う
AWS + PostgreSQL + pgpool-II | NAT インスタンスの必要性
HA構成ではサービスで使う共通のIPアドレス(仮想IP)をフェイルオーバ時に稼動系となるサーバに割り当てる
Availability Zone #2
Availability Zone #1
APインスタンス
M
PostgreSQL
S
PostgreSQL
APインスタンス
pgpool-II
M
PostgreSQL
しかしAWSでは仮想IPの割り当てができない
pgpool-II
Copyright © 2014 SRA OSS, Inc. Japan All rights reserved. 31
PostgreSQLをクラウドで使う
AWS + PostgreSQL + pgpool-II | NAT インスタンスの必要性
そこでAWSの機能を使ってフェイルオーバ時にネットワーク経路を変更してしまう
Availability Zone #2
Availability Zone #1
APインスタンス
PostgreSQL
APインスタンス
pgpool-II
NATインスタンスはHAクラスタソフトウェアAWSの機能を使う際に安全に外部ネットワークにアクセするために使われる
pgpool-II
NATインスタンス M
PostgreSQL
M
PostgreSQL
経路変更
NATインスタンス
Copyright © 2014 SRA OSS, Inc. Japan All rights reserved. 32
まとめ
PostgreSQLはクラウド上でも十分使えます
1. PostgreSQLの概要 15年以上の長い歴史
大規模運用の実例あり
PostgreSQLで利用される構成
2. PostgreSQLをクラウドで使う Amazon Web Service でHA構成が組める
・ AWSのマネージドサービス
・ 仮想サーバ上で自分で構築
Copyright © 2014 SRA OSS, Inc. Japan All rights reserved. 33
オープンソースとともに
URL: http://www.sraoss.co.jp/E-mail: [email protected]
Tel: 03-5979-2701