Amazon RDS forPostgreSQL の概要
2017 年 09 月 11 日（月）SRA OSS, Inc. 日本支社
マーケティング部 PostgreSQL 技術グループ© 2017 SRA OSS, Inc. Japan1

アジェンダ AWS RDS for PostgreSQL の概要
 素の PostgreSQL との比較点
 AWS RDS for PostgreSQL / 素の PostgreSQLの選択ポイント【注意】
スライドの内容は 2017 年 01 月時点の情報です。
AWS のサービス内容は頻繁に更新されるため、場合によっては情報が古くなっている可能性もあります。

© 2017 SRA OSS, Inc. Japan2

Amazon Web Service (AWS) とは
 Amazon が提供するクラウド製品
 クラウド IT リソースまたはアプリケーションをインタネットを通じてユーザに提供するサービス

 クラウドサービスの形態
 IaaS (Infrastructure as a Service) ネットワーク機能、仮想マシン、ストレージなどのコンピュータシステ
ムのインフラそのものを提供する

 PaaS (Platform as a Service) ソフトウェアが動作するための、ハードウェアや OS 一式を提供する SaaS (Software as a Service)© 2017 SRA OSS, Inc. Japan
 ソフトウェアサービスを提供する

3

Amazon Web Service (AWS) のサービス概要

https://d0.awsstatic.com/webinars/jp/pdf/services/20161213_AWS-BlackBelt_ManufacturingIndustry-UseCase.pdf© 2017 SRA OSS, Inc. Japan4

Amazon EC2
 「インスタンス」という単位で仮想マシンを提供
 インスタンスは CPU、メモリ、ストレージ等のスペックが異なる多数のインスタンスタイプから選択できる インスタンスには OS や追加のソフトウェアを含めたテンプレート (AMI) を適用できる
 世界 16 地域内の 42 箇所に AWS サービスのデータセンタは独立して配置されており、高い耐障害性と可用性を実現している© 2017 SRA OSS, Inc. Japan5

Amazon EBS
 EC2 インスタンス専用の HDD / SSD
 1 つの EBS 容量は最大 16 TB まで指定できる パフォーマンス特性に応じて種類が異なる
 EBS は 1 度に 1 つの EC2 インスタンスにしか使えない（共有ディスクのような使い方はできない）© 2017 SRA OSS, Inc. Japan

6

Amazon S3
 オンラインストレージ ネットワーク経由でファイルを格納し、対応した URLでアクセスする 1 ファイルの容量制限は 5TB まで
 高い堅牢性と安定したパフォーマンス
 静的 Web、画像、動画等のコンテンツ配信やバックアップとアーカイブ等に使われる© 2017 SRA OSS, Inc. Japan

7

Amazon VPC AWS 上に仮想のパブリック / プライベートネットワー
ク空間を構築できる セキュリティ・ACL を設定できる
 自社のオンプレ ←→ AWS の VPN 構築も可能

Elastic Load Balancing
 受信トラフィックを複数の EC2 インスタンスに分散するロードバランサ 負荷に応じてオートスケーリングする© 2017 SRA OSS, Inc. Japan8

Amazon RDS
 完全マネージド型の RDB サービス DB エンジンは Oracle, MySQL, Microsoft SQL
Server, PostgreSQL, Aurora, MariaDB が利用できる
 PostgreSQL のバージョンは 9.6 系, 9.5 系, 9.4 系,9.3 系© 2017 SRA OSS, Inc. Japan

9

Amazon RDS for PostgreSQL の概要
 完全マネージド型の DB サービス
 Web コンソールから数クリックで（あるいは API を叩いて） DB が用意できる© 2017 SRA OSS, Inc. Japan10

Amazon RDS for PostgreSQL の概要© 2017 SRA OSS, Inc. Japan

11

Amazon RDS for PostgreSQL の概要© 2017 SRA OSS, Inc. Japan12

提供されている諸機能
 耐障害性と可用性の向上
 バックアップとリカバリ / リストア
 スケールアウト
 スケールアップ / ダウン RDS インスタンスの監視
 RDS インスタンスのメンテナンス セキュリティ© 2017 SRA OSS, Inc. Japan

13

AWS RDS for PostgreSQLのアーキテ
クチャ
データ同期
自動 フェイルオーバ
手動 or 自動スナップショット

稼動系

ウォームスタンバイ

トランザクションログ
リードレプリカ
Amazon S3

Availability zone A© 2017 SRA OSS, Inc. Japan

Availability zone B

14耐障害性と可用性の向上
データ同期
自動 フェイルオーバ
手動 or 自動スナップショット

稼動系

ウォームスタンバイ

トランザクションログ
リードレプリカ
Amazon S3

Availability zone A© 2017 SRA OSS, Inc. Japan

Availability zone B

15耐障害性と可用性の向上
 Multi-AZ

 同期物理レプリケーション ＋ 自動フェイルオーバ
https://d0.awsstatic.com/webinars/jp/pdf/services/20161213_AWS-BlackBelt_ManufacturingIndustry-UseCase.pdf© 2017 SRA OSS, Inc. Japan16

バックアップとリカバリ / リストア
データ同期
自動 フェイルオーバ
手動 or 自動スナップショット

稼動系

ウォームスタンバイ

トランザクションログ
リードレプリカ
Amazon S3

Availability zone A© 2017 SRA OSS, Inc. Japan

Availability zone B

17

日時の自動バックアップ
 一日一回の自動スナップショット ＋ その日の差分情報を取得
 0 - 35 日間保存可能

 バックアップ取得中 RDS の I/O は停止する。
 Multi AZ 構成の場合バックアップ中は他方の RDSインスタンスに切り替わるのでダウンタイムを短縮できる

手動のバックアップ
 スナップショットは任意の時間に手動でも取得可能© 2017 SRA OSS, Inc. Japan18

バックアップからのリカバリ / リストア
 取得したスナップショットと差分情報を使って保存期間の任意の時間にリカバリ可能
 ただし最新の復元地点は現在時刻の 5 分前（差分情報が5 分おきに取得されるため）

 スナップショットを使ってリストアすることも可能
 いずれの操作も新しい RDS インスタンスを作成することになる リカバリ / リストアした RDS を使う場合エンドポイントをRename する必要がある© 2017 SRA OSS, Inc. Japan

19

スケールアウト
データ同期
自動 フェイルオーバ
手動 or 自動スナップショット

稼動系

ウォームスタンバイ

トランザクションログ
リードレプリカ
Amazon S3

Availability zone A© 2017 SRA OSS, Inc. Japan

Availability zone B

20

リードレプリカ
 5 台まで作成可能（Aamazon に申請すると追加できる）
 リードレプリカからリードレプリカへのカスケードレプリ
ケーションができる
 異なるリージョンや AZ に配置できる
 レプリカは稼動系に昇格するとスタンドアロンの稼動系 RDS インスタンスとなる
 レプリカを使って RDS インスタンスの自動バックアップはできない
 手動スナップショットは取得できる© 2017 SRA OSS, Inc. Japan

21

スケールアップ / ダウン RDS インスタンススペックの変更はいつでも可能
 操作対象のインスタンスは再起動する
 バックアップからのリストア、スナップショットからのリカバラリ時も可能© 2017 SRA OSS, Inc. Japan

22

RDS インスタンスのメンテナンス
 AWS 側で自動的に行われるメンテナンス
 RDS インスタンス OS アップデート
 reboot の場合もある PostgreSQL のマイナーバージョンアップ
 手動にすることもできる バージョンアップ中 RDS インスタンスの I/O は停止する 自動メンテナンスは基本的に不可避 メンテナンス適用時間を指定可能
 メンテナンスの種類によっては適用延長を選択できる© 2017 SRA OSS, Inc. Japan

23

RDS インスタンスのメンテナンス PostgreSQL のメジャーアップデート
 ユーザの意志で PostgreSQL のメジャーバージョンを上げることができる インスタンスのスケールアップ / ダウン時に合わせて可能 リードレプリカにメジャーアップデートは伝播しないので作り直しになる© 2017 SRA OSS, Inc. Japan24

セキュリティ Amazon VPC によるアクセス制御
 暗号化
 RDS リソース（インスタンス、バックアップデータ、リードレプリカスナップショット）を暗号化できる
 データセンタのディスク上に暗号化されたデータが格納される
 インスタンス作成時にしか選択できない デフォルトで DB へのアクセスは SSL 通信となっている© 2017 SRA OSS, Inc. Japan25

素の PostgreSQL との比較点
 クライアント認証の設定を行う手段が提供されていない PostgreSQL では pg_hba.conf ファイルを編集してクライアント認証を設定する
 接続方式、DB ユーザ、接続 DB、接続元、認証方式 を制御できる
 RDS では AWS のセキュリティグループでしか設定できない 接続元のみチェックできる© 2017 SRA OSS, Inc. Japan26

素の PostgreSQL との比較点
 DB のスーパーユーザになれない 以下はできる テーブルスペースの作成
 他のユーザのセッションの確認と切断
 AWS が用意した拡張モジュールのロード© 2017 SRA OSS, Inc. Japan27

素の PostgreSQL との比較点
 デフォルトの設定では日本語を DB に格納するには不向き 日本語のデータベースでは DB のロケールを C（ロケールなし） にしておく必要がある
 ロケール 文字列照合順序、通貨単位、小数点記号などを規定© 2017 SRA OSS, Inc. Japan28

素の PostgreSQL との比較点
 一部の postgresql.conf パラメータは RDS 側で設定されている
 運用上に問題はない
 共有メモリのサイズは RDS インスタンスのメモリの 1 / 4
 WAL バッファ（トランザクションログ書き込み時に利用されるバッファ）は 共有メモリの 1 / 32（PostgreSQL のデフォルト） デフォルトで SSL 通信が有効 不要であればクライアント側で無効にできる© 2017 SRA OSS, Inc. Japan29

素の PostgreSQL との比較点
 ミドルウェアとの連携が取りにくい 例えば Pgpool-II は使える機能に制限がある
 参照クエリの振り分け等ができる PostgreSQL のミドルウェア
 Pgpool-II が使う拡張モジュールを RDS にインストールできない© 2017 SRA OSS, Inc. Japan

30

AWS RDS for PostgreSQL / 素の PostgreSQL の選択ポイント
 AWS RDS for PostgreSQL
 クラウドのメリットを活かしたい 資材の調達が不要
 従量課金制なので使った分しか費用が発生しない
 マネージドサービスの利点を活かしたい 運用管理を AWS の機能に任せられる 耐障害性、可用性構成の作成を AWS に任せられる スケールアップ / ダウンが容易資材の調達が不要=> リソースサイズの見積もりやサービス提供期間の見通しが不透明=> DB 管理者がいない / DB 管理に関するサポートにコストをかけたくない=> 小、中規模でシンプルな作りでよい© 2017 SRA OSS, Inc. Japan

31

AWS RDS for PostgreSQLのアーキテ
クチャ（再掲）
データ同期
自動 フェイルオーバ
手動 or 自動スナップショット

稼動系

ウォームスタンバイ

トランザクションログ
リードレプリカ
Amazon S3

Availability zone A© 2017 SRA OSS, Inc. Japan

Availability zone B

32

AWS RDS for PostgreSQL / 素の PostgreSQL の選択ポイント
 素の PostgreSQL RDS でできないことをやりたい RDS で用意されていないモジュールを使いたい 他のミドルウェアと連携したい 細やかな ACL を行いたい RDS は他の EC2 インスタンスと比較すると割高=> カスタマイズが自由な素の PostgreSQL=> 運用管理が楽な Amazon RDS for PostgreSQL© 2017 SRA OSS, Inc. Japan33