33
Copyright © 2014 SRA OSS, Inc. Japan All rights reserved. 1 PostgreSQLをクラウドで利用しよう オープンソースミドルウェア最新技術セミナー 2014/03/25 14:10 - 14:40 SRA OSS, Inc. 日本支社 技術開発部 正野 裕大

PostgreSQLをクラウドで利用しよう - SRA OSS, Inc. …...2014/03/25  · Streaming Replication Pacemaker 死活監視 Pacemaker 障害発生時 フェイルオーバ サービスを構成するアプリケーション・ネットワーク・ディスクを

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: PostgreSQLをクラウドで利用しよう - SRA OSS, Inc. …...2014/03/25  · Streaming Replication Pacemaker 死活監視 Pacemaker 障害発生時 フェイルオーバ サービスを構成するアプリケーション・ネットワーク・ディスクを

Copyright © 2014 SRA OSS, Inc. Japan All rights reserved. 1

PostgreSQLをクラウドで利用しよう

オープンソースミドルウェア最新技術セミナー2014/03/25 14:10 - 14:40

SRA OSS, Inc. 日本支社技術開発部 正野 裕大

Page 2: PostgreSQLをクラウドで利用しよう - SRA OSS, Inc. …...2014/03/25  · Streaming Replication Pacemaker 死活監視 Pacemaker 障害発生時 フェイルオーバ サービスを構成するアプリケーション・ネットワーク・ディスクを

Copyright © 2014 SRA OSS, Inc. Japan All rights reserved. 2

アジェンダ

PostgreSQLはクラウド上でも十分使えます

1. PostgreSQLの概要・PostgreSQLとは

・PostgreSQLの導入事例

・PostgreSQLで利用される構成

2. PostgreSQLをクラウドで使う・クラウドサービスの分類・PostgreSQL + Amazon Web Services による構成例

Page 3: PostgreSQLをクラウドで利用しよう - SRA OSS, Inc. …...2014/03/25  · Streaming Replication Pacemaker 死活監視 Pacemaker 障害発生時 フェイルオーバ サービスを構成するアプリケーション・ネットワーク・ディスクを

Copyright © 2014 SRA OSS, Inc. Japan All rights reserved. 3

PostgreSQLをクラウドで利用しよう

PostgreSQLの概要

Page 4: PostgreSQLをクラウドで利用しよう - SRA OSS, Inc. …...2014/03/25  · Streaming Replication Pacemaker 死活監視 Pacemaker 障害発生時 フェイルオーバ サービスを構成するアプリケーション・ネットワーク・ディスクを

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

Page 5: PostgreSQLをクラウドで利用しよう - SRA OSS, Inc. …...2014/03/25  · Streaming Replication Pacemaker 死活監視 Pacemaker 障害発生時 フェイルオーバ サービスを構成するアプリケーション・ネットワーク・ディスクを

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ファミリー」

Page 6: PostgreSQLをクラウドで利用しよう - SRA OSS, Inc. …...2014/03/25  · Streaming Replication Pacemaker 死活監視 Pacemaker 障害発生時 フェイルオーバ サービスを構成するアプリケーション・ネットワーク・ディスクを

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

Page 7: PostgreSQLをクラウドで利用しよう - SRA OSS, Inc. …...2014/03/25  · Streaming Replication Pacemaker 死活監視 Pacemaker 障害発生時 フェイルオーバ サービスを構成するアプリケーション・ネットワーク・ディスクを

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

Page 8: PostgreSQLをクラウドで利用しよう - SRA OSS, Inc. …...2014/03/25  · Streaming Replication Pacemaker 死活監視 Pacemaker 障害発生時 フェイルオーバ サービスを構成するアプリケーション・ネットワーク・ディスクを

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) で事例発表

Page 9: PostgreSQLをクラウドで利用しよう - SRA OSS, Inc. …...2014/03/25  · Streaming Replication Pacemaker 死活監視 Pacemaker 障害発生時 フェイルオーバ サービスを構成するアプリケーション・ネットワーク・ディスクを

Copyright © 2014 SRA OSS, Inc. Japan All rights reserved. 9

PostgreSQL の概要

PostgreSQLの典型的な構成例 – HA構成

可能な限り限りサービスのダウンタイムを短くしたい

複数のサーバを1つのシステムにまとめて信頼性を高める

サービス開始

サーバを停止してバックアップ 障害発生 障害検知

対処開始障害復旧

完了

稼動系 待機系

サービス監視

データ同期

High Availability(高可用性)

サービス提供

1つのHAクラスタ

Page 10: PostgreSQLをクラウドで利用しよう - SRA OSS, Inc. …...2014/03/25  · Streaming Replication Pacemaker 死活監視 Pacemaker 障害発生時 フェイルオーバ サービスを構成するアプリケーション・ネットワーク・ディスクを

Copyright © 2014 SRA OSS, Inc. Japan All rights reserved. 10

PostgreSQL の概要

PostgreSQLの典型的な構成例 – HA構成

可能な限り限りサービスのダウンタイムを短くしたい

複数のサーバを1つのシステムにまとめて信頼性を高める

サービス開始

サーバを停止してバックアップ 障害発生 障害検知

対処開始障害復旧

完了

稼動系

待機系↓

稼動系

サービス監視

データ同期

High Availability(高可用性)

サービス提供

障害を検知してサービスを切り替え

Page 11: PostgreSQLをクラウドで利用しよう - SRA OSS, Inc. …...2014/03/25  · Streaming Replication Pacemaker 死活監視 Pacemaker 障害発生時 フェイルオーバ サービスを構成するアプリケーション・ネットワーク・ディスクを

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/

Page 12: PostgreSQLをクラウドで利用しよう - SRA OSS, Inc. …...2014/03/25  · Streaming Replication Pacemaker 死活監視 Pacemaker 障害発生時 フェイルオーバ サービスを構成するアプリケーション・ネットワーク・ディスクを

Copyright © 2014 SRA OSS, Inc. Japan All rights reserved. 12

PostgreSQL の概要

PostgreSQLのHA構成例 | Pacemaker

サービスを構成するアプリケーション・ネットワーク・ディスクを監視・制御する

データ同期

PostgreSQLのStreaming Replication

Pacemaker Pacemaker

死活監視

正常稼働時

DBクライアントアクセス

稼動系 待機系

Page 13: PostgreSQLをクラウドで利用しよう - SRA OSS, Inc. …...2014/03/25  · Streaming Replication Pacemaker 死活監視 Pacemaker 障害発生時 フェイルオーバ サービスを構成するアプリケーション・ネットワーク・ディスクを

Copyright © 2014 SRA OSS, Inc. Japan All rights reserved. 13

PostgreSQL の概要

PostgreSQLのHA構成例 | Pacemaker

データ同期

PostgreSQLのStreaming Replication

Pacemaker

死活監視

Pacemaker

障害発生時

フェイルオーバ

サービスを構成するアプリケーション・ネットワーク・ディスクを監視・制御する

DBクライアントアクセス

稼動系 待機系↓

稼動系

Page 14: PostgreSQLをクラウドで利用しよう - SRA OSS, Inc. …...2014/03/25  · Streaming Replication Pacemaker 死活監視 Pacemaker 障害発生時 フェイルオーバ サービスを構成するアプリケーション・ネットワーク・ディスクを

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アクセス / 負荷分散

Page 15: PostgreSQLをクラウドで利用しよう - SRA OSS, Inc. …...2014/03/25  · Streaming Replication Pacemaker 死活監視 Pacemaker 障害発生時 フェイルオーバ サービスを構成するアプリケーション・ネットワーク・ディスクを

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アクセス / 負荷分散

Page 16: PostgreSQLをクラウドで利用しよう - SRA OSS, Inc. …...2014/03/25  · Streaming Replication Pacemaker 死活監視 Pacemaker 障害発生時 フェイルオーバ サービスを構成するアプリケーション・ネットワーク・ディスクを

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アクセス / 負荷分散

Page 17: PostgreSQLをクラウドで利用しよう - SRA OSS, Inc. …...2014/03/25  · Streaming Replication Pacemaker 死活監視 Pacemaker 障害発生時 フェイルオーバ サービスを構成するアプリケーション・ネットワーク・ディスクを

Copyright © 2014 SRA OSS, Inc. Japan All rights reserved. 17

PostgreSQLをクラウドで利用しよう

PostgreSQLをクラウドで使う

Page 18: PostgreSQLをクラウドで利用しよう - SRA OSS, Inc. …...2014/03/25  · Streaming Replication Pacemaker 死活監視 Pacemaker 障害発生時 フェイルオーバ サービスを構成するアプリケーション・ネットワーク・ディスクを

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つに分類できる

ブログサービス

メールサービス

Page 19: PostgreSQLをクラウドで利用しよう - SRA OSS, Inc. …...2014/03/25  · Streaming Replication Pacemaker 死活監視 Pacemaker 障害発生時 フェイルオーバ サービスを構成するアプリケーション・ネットワーク・ディスクを

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

ブログサービス

メールサービス

Page 20: PostgreSQLをクラウドで利用しよう - SRA OSS, Inc. …...2014/03/25  · Streaming Replication Pacemaker 死活監視 Pacemaker 障害発生時 フェイルオーバ サービスを構成するアプリケーション・ネットワーク・ディスクを

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インスタンス

Page 21: PostgreSQLをクラウドで利用しよう - SRA OSS, Inc. …...2014/03/25  · Streaming Replication Pacemaker 死活監視 Pacemaker 障害発生時 フェイルオーバ サービスを構成するアプリケーション・ネットワーク・ディスクを

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版構成例と同様の形

Page 22: PostgreSQLをクラウドで利用しよう - SRA OSS, Inc. …...2014/03/25  · Streaming Replication Pacemaker 死活監視 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上にユーザ毎に仮想的なプライベートネットワークが提供される

Page 23: PostgreSQLをクラウドで利用しよう - SRA OSS, Inc. …...2014/03/25  · Streaming Replication Pacemaker 死活監視 Pacemaker 障害発生時 フェイルオーバ サービスを構成するアプリケーション・ネットワーク・ディスクを

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 ≒異なるデータセンタ 仮想環境を動かしている物理サーバが異なっている 高い対障害性を実現

Page 24: PostgreSQLをクラウドで利用しよう - SRA OSS, Inc. …...2014/03/25  · Streaming Replication Pacemaker 死活監視 Pacemaker 障害発生時 フェイルオーバ サービスを構成するアプリケーション・ネットワーク・ディスクを

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

Page 25: PostgreSQLをクラウドで利用しよう - SRA OSS, Inc. …...2014/03/25  · Streaming Replication Pacemaker 死活監視 Pacemaker 障害発生時 フェイルオーバ サービスを構成するアプリケーション・ネットワーク・ディスクを

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インスタンス

Page 26: PostgreSQLをクラウドで利用しよう - SRA OSS, Inc. …...2014/03/25  · Streaming Replication Pacemaker 死活監視 Pacemaker 障害発生時 フェイルオーバ サービスを構成するアプリケーション・ネットワーク・ディスクを

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

Page 27: PostgreSQLをクラウドで利用しよう - SRA OSS, Inc. …...2014/03/25  · Streaming Replication Pacemaker 死活監視 Pacemaker 障害発生時 フェイルオーバ サービスを構成するアプリケーション・ネットワーク・ディスクを

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版構成例と同様の形

Page 28: PostgreSQLをクラウドで利用しよう - SRA OSS, Inc. …...2014/03/25  · Streaming Replication Pacemaker 死活監視 Pacemaker 障害発生時 フェイルオーバ サービスを構成するアプリケーション・ネットワーク・ディスクを

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?

Page 29: PostgreSQLをクラウドで利用しよう - SRA OSS, Inc. …...2014/03/25  · Streaming Replication Pacemaker 死活監視 Pacemaker 障害発生時 フェイルオーバ サービスを構成するアプリケーション・ネットワーク・ディスクを

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)をフェイルオーバ時に稼動系となるサーバに割り当てる

Page 30: PostgreSQLをクラウドで利用しよう - SRA OSS, Inc. …...2014/03/25  · Streaming Replication Pacemaker 死活監視 Pacemaker 障害発生時 フェイルオーバ サービスを構成するアプリケーション・ネットワーク・ディスクを

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

Page 31: PostgreSQLをクラウドで利用しよう - SRA OSS, Inc. …...2014/03/25  · Streaming Replication Pacemaker 死活監視 Pacemaker 障害発生時 フェイルオーバ サービスを構成するアプリケーション・ネットワーク・ディスクを

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インスタンス

Page 32: PostgreSQLをクラウドで利用しよう - SRA OSS, Inc. …...2014/03/25  · Streaming Replication Pacemaker 死活監視 Pacemaker 障害発生時 フェイルオーバ サービスを構成するアプリケーション・ネットワーク・ディスクを

Copyright © 2014 SRA OSS, Inc. Japan All rights reserved. 32

まとめ

PostgreSQLはクラウド上でも十分使えます

1. PostgreSQLの概要 15年以上の長い歴史

大規模運用の実例あり

PostgreSQLで利用される構成

2. PostgreSQLをクラウドで使う Amazon Web Service でHA構成が組める

・ AWSのマネージドサービス

・ 仮想サーバ上で自分で構築

Page 33: PostgreSQLをクラウドで利用しよう - SRA OSS, Inc. …...2014/03/25  · Streaming Replication Pacemaker 死活監視 Pacemaker 障害発生時 フェイルオーバ サービスを構成するアプリケーション・ネットワーク・ディスクを

Copyright © 2014 SRA OSS, Inc. Japan All rights reserved. 33

オープンソースとともに

URL: http://www.sraoss.co.jp/E-mail: [email protected]

Tel: 03-5979-2701