Amazon RDS for PostgreSQL 検証報告

AWSプロダクトシリーズ｜よくわかるクラウドデータベース
2014/01/17
SRA OSS, Inc. 日本支社
石井 達夫
正野 裕大
Copyright © 2014 SRA OSS, Inc. Japan All rights reserved.

1

アジェンダ | Amazon RDS for PostgreSQL 検証報告 スペックの異なる RDS インスタンスで性能ベンチマークを測定

技術的トピック 素の PostgreSQL と違う点

 Amazon RDS と PostgreSQL の概要

付録

 RDS for PostgreSQL を使ってみた
RDS インスタンスの作成 / Multi-AZ / バックアップ / スケールアップ /モニタリング
Copyright © 2014 SRA OSS, Inc. Japan All rights reserved.

2

Amazon RDS とは？
 Amazon Web Services が提供するマネージドデータベース (DB) サービス
 簡単に Web コンソールを通してクラウド上で DB サーバの構築・運用・拡張が可能

EC2

EC2

PostgreSQL

PostgreSQL

Replication

Availability Zone #1

AWS CloudAvailability Zone #2

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

3

Amazon RDS とは？

NEW !!
2013/11/14

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

4

Amazon RDS for PostgreSQL 検証報告

性能 PostgreSQL に付属する標準ベンチマークツール (pgbench) でベンチマークを実施

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

5

ベンチマーク測定 3 つの RDS インスタンスでベンチマークを測定
DB インスタンスクラス

CPUメモリハイメモリエクストララージ

3.25 ECU × 2 仮想コア

17.1 GB

ハイメモリダブルエクストラ
ラージ
ハイメモリクラスタエイトエク
ストララージ3.25 ECU × 4 仮想コ

34 GB

88 ECU（32 ハイパースレッドコア）

244 GB EC2 インスタンスをクライアントとして pgbench を実行$ pgbench -c 1 -j 1 …
$ pgbench -c 2 -j 1 …
$ pgbench -c 4 -j 2 …
::$ pgbench -c 64 -j 32 ...

PostgreSQLEC2AWS CloudCopyright © 2014 SRA OSS, Inc. Japan All rights reserved.

6

ベンチマーク測定方法
 RDS インスタンスの情報 | DB サーバ（pgbench 対象）
DB インスタンスクラス

ストレージサイズ IOPS パラメータ

ベンチ用 DB

ハイメモリエクストララージ
ハイメモリダブルエクストラ
ラージ
ハイメモリクラスタエイトエク
ストララージ

100GB

1000

デフォルト

testdb EC2 インスタンス | クライアント（pgbench 実行側）
インスタンスクラス
スペックOSPostgresSQL
9.3.1

ハイメモリクラスタエイトエクストララージ(cr1.8xlarge)
32 コア（仮想） / 88 ECU / RAM 244GB
Red Hat Enterprise Linux 6.4

pgbench 実行側がボトルネックにならないように高性能のインスタンスを使用

PostgreSQL コミュニティのリポジトリを使用

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

7

ベンチマーク測定方法
 pgbench 用 DB testdb の初期化
 スケールファクタ 1000（データ行 1 億件 / DB サイズ 15GB）[ec2-user@ec2 ~]$ pgbench -i -s 1000 -U <DB USER> -h <RDS> testdb-d testdb

 pgbench の実行

標準 (TCP-B) の pgbench
同時接続数 1, 2, 4, 8, 16, 32, 64 を 3 回ずつ実行
実行時間は 300 秒
実行すると TPS（1 秒間に実行したトランザクション数）が出力される[ec2-user@ec2 ~]$ pgbench -c 1 -j 1 -T 300 -U <DB USER> -h <RDS> testdb[ec2-user@ec2 ~]$ pgbench -c 2 -j 1 -T 300 -U <DB USER> -h <RDS> testdb[ec2-user@ec2 ~]$ pgbench -c 4 -j ２ -T 300 -U <DB USER> -h <RDS> testdb[ec2-user@ec2 ~]$ pgbench -c 8 -j 4 -T 300 -U <DB USER> -h <RDS> testdb[ec2-user@ec2 ~]$ pgbench -c 16 -j 8 -T 300 -U <DB USER> -h <RDS> testdb[ec2-user@ec2 ~]$ pgbench -c 32 -j 16 -T 300 -U <DB USER> -h <RDS> testdb

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

*3回
*3回
*3回
*3回
*3回
*3回

8

ベンチマーク測定方法
 測定の流れ 各インスタンスで以下を実行
スナップショットから
RDS を復元

RDS インスタンス作成↓pgbench 初期化↓
スナップショット取得＊3回
pgbench -c 1 -j 1 -T 300 ...

次の RDS へ

pgbench -c 2 -j 1 -T 300 …
pgbench -c 4 -j 2 -T 300 …
：
pgbench -c 64 -j 32 -T 300 …

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

9

ベンチマーク結果 | TPS
 同時接続数が増えるにつれて性能 (TPS) が上昇している 同時接続数がコア数を越えても性能が上昇し続けた
 最も性能の高い DB インスタンスクラス が一番 TPS が低い
ハイメモリエクストララージ
ハイメモリダブル
エクストララージ

ハイメモリクラスタ
エイトエクストララージ

pgbench の TPS（中央値） をプロット

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

10

ベンチマーク結果 | CPU 性能の高い DB インスタンスほど CPU 利用率が低い おそらく I/O がボトルネックになっている

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

11

ベンチマーク再測定 以下の条件で pgbench -c 64 -j 32 -T 300 … を実行
 RDS インスタンスの情報 | DB サーバ（pgbench 対象）
DB インスタンスクラス

ストレージサイズ

IOPS

パラメータ

ベンチ用 DB

ハイメモリエクストララージ

600GB6000

デフォルト

testdb

IOPS を 6 倍にpgbench 実行側が
 EC2 インスタンス | クライアント（pgbench 実行側） ボトルネックにならない程度にインスタンスクラス
スペック

M1 エクストララージ(m1.xlarge)

高性能のインスタンスを使用（少しスペックダウン）

4 コア（仮想） / 8 ECU / RAM 15GBOS

Red Hat Enterprise Linux 6.4

PostgresSQL
9.3.1

PostgreSQL コミュニティのリポジトリを使用

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

12

ベンチマーク結果（再） IOPS を 6 倍にしたら TPS がおよそ 8 倍に Write IOPS は 5000 前後 に CPU 使用率は低いまま
再測定のハイメモリクラスタ
エイトエクストララージ

最初のハイメモリクラスタ
エイトエクストララージ

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

13

Amazon RDS for PostgreSQL 検証報告

技術的トピック 素の PostgreSQL と違う点

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

14

素の PostgreSQL と違う点 1/3
 クライアント認証の設定を行う手段が提供されていない
 PostgreSQL では pg_hba.conf ファイルを編集してクライアント認証を設定する
 接続方式、DB ユーザ、接続 DB、接続元、認証方式 を制御できる

 RDS では AWS のセキュリティグループでしか設定できない
 接続元のみ

 DB のスーパーユーザになれない

以下はできる（ AWS が PostgreSQL に手を加えている？）
テーブルスペースの作成
他のユーザのセッションの確認と切断
AWS が用意した拡張モジュールのロード

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

15

素の PostgreSQL と違う点 2/3
 PostgreSQL の拡張モジュールは以下が使える
btree_gin

btree_gist

chkpass

citextcube

dblinkdict_int

dict_xsyn

earthdistancefuzzystrmatch

hstoreintaggintarray

isn

ltree

pgcrypto

pgrowlocks

pg_trgm

plperlplpgsql

pltcl

postgispostgis_tiger_
geocoderpostgis_topology

sslinfotablefunc

tsearch2

unaccent

uuid-ossp

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

16

素の PostgreSQL と違う点 2/3
 PostgreSQL の拡張モジュールは以下が使える
btree_gin

btree_gist

dblinkdict_int

hstoreintaggpgcrypto

pgrowlocks
暗号化と複合pltcl

postgistablefunc

tsearch2

データベースのchkpass
大文字/小文字の区別がない文字列型を提供
dict_xsyn
intarraypg_trgm

citextcube

earthdistancefuzzystrmatch

ユーザ定義関数の手続き言語
isn（plperl, pltcl もある）

plperlpostgis_tiger_
geocoderplpgsql

地理空間情報を扱う postgis_topology

unaccent

ltree

sslinfouuid-ossp 接続中クライアントのCopyright © 2014 SRA OSS, Inc. Japan All rights reserved.

SSL 証明書の情報を提供

17

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

 postgresql.conf パラメータは RDS 側で設定されたもの、固定されたものが運用上は特に問題なし
 共有メモリのサイズはおよそ RDS インスタンスのメモリの 1/4
 WALバッファ（トランザクションログ書き込み時に利用されるバッファ）は共有メモリの 1/32（PostgreSQL のデフォルト） ストリーミングレプリケーションは行えない デフォルトで SSL 通信が有効
 MySQL および SQL Server、PostgreSQL のみ対応
 SSL 通信はそこそこ重い処理 クライアント側で無効にできる
Copyright © 2014 SRA OSS, Inc. Japan All rights reserved.

18

付録

Amazon RDS と PostgreSQL の概要
 Amazon RDS for PostgreSQL の特徴
 RDBMS における PostgreSQL の位置づけ

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

19

Amazon RDS for PostgreSQL の特徴
 DB サーバのマネージドサービス
 手軽にセットアップ・運用・スケーリング
 パラーメータの最適化
 CPU 使用率・メモリ・I/O・接続数などのモニタリング
 PostgreSQL の自動アップデート

 HA 構成で可用性アップ
 Multi-AZ で同期物理レプリケーションと自動フェイルオーバー バックアップ 自動バックアップ
 任意のスナップショット
Copyright © 2014 SRA OSS, Inc. Japan All rights reserved.

20

RDBMS における PostgreSQL の位置づけ
 代表的なオープンソース RDBMS PostgreSQL 6.0 (1996 ～ ) から 15 年以上の歴史

 商用 DB と比較しても機能・性能面で引けをとらない 業務基幹システムの商用 DB 製品の置き換え
 Blog、SNS、ゲーム等の新しいオンラインサービス コミュニティベースで開発
 一つのオーナー企業、オーナー個人を持たない
 1 バージョン / 1 年 を10年以上
オープンソースデータベース PostgreSQL 最新動向のご紹介(SRA OSS, Inc. 2013-06-27)
Copyright © 2014 SRA OSS, Inc. Japan All rights reserved.

21

付録

ユーザビリティ RDS インスタンスの作成

 Multi-AZ

 バックアップ スケールアップ

 モニタリング

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

22作成するサーバ構成
 クライアント用 EC2 インスタンスは作製済み
 PostgreSQL の RDS インスタンス | HA 構成 を作ってみる

H
S
S

EC2

PostgreSQL

PostgreSQL

Replication

Availability Zone #1

AWS CloudAvailability Zone #2

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

23

RDS インスタンス作成の前に
 事前にセキュリティグループを設定しておく AWS の仮想ファイアウォール
 インスタンスごとに任意のセキュリティグループを設定できる
 今回はデフォルトの設定 + 5432 ポートを開けておく 5432 ：PostgreSQL のデフォルトポート

サービスは EC2（RDS ではない）

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

24

RDS インスタンスの作成
 Web コンソールからLaunch a DB Instance !

 ウィザードに従って項目を埋めていくだけ
DB エンジン

インスタンス
スペック

セキュリティ
ネットワーク構成

DB パラメータ

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

バックアップメンテナンス25

DB エンジンの指定
 PostgreSQL を選択

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

26

プロダクション用途か？
 Yes Multi-AZ ・ Provisioned IOPS を利用する
 No Multi-AZ ・ Provisioned IOPS を利用しない

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

27

Multi-AZ とは？
 耐障害性・可用性を向上させる AWS RDS の標準機能
 異なるアベイラリティゾーン（≒データセンタ）に待機系サーバを作成
 同期物理レプリケーションと自動フェイルオーバ
EC2

PostgreSQL

PostgreSQL

Replication

Availability Zone #1

Availability Zone #2

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

28

Multi-AZ とは？
 耐障害性・可用性を向上させる AWS RDS の標準機能
 異なるアベイラリティゾーン（≒データセンタ）に待機系サーバを作成
 同期物理レプリケーションと自動フェイルオーバ
1. データ追加

EC2

2. データ追加 PostgreSQL
しました

4. データ追加
完了

PostgreSQL

3. データ同期しました

Replication

Availability Zone #1

Availability Zone #2

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

29

Multi-AZ とは？
 耐障害性・可用性を向上させる AWS RDS の標準機能
 異なるアベイラリティゾーン（≒データセンタ）に待機系サーバを作成
 同期物理レプリケーションと自動フェイルオーバ
EC2

アクセス先は自動切り替え（クライアントは気にしなくて良い自動起動
サービス継続障害発生！

PostgreSQL

PostgreSQL

Availability Zone #1

Availability Zone #2

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

30

DB インスタンスの詳細設定 1/2
 RDS インスタンス作成時に必要な項目を設定（2014/01/14 時点）
PostgreSQL 9.3.1

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

31

DB Instance Class の種類
 RDS インスタンスのスペックを選択できる 後からインスタンスクラスは簡単に変更可能
DB インスタンスクラス

CPUメモリマイクロ

最大 2 ECU

630 MBスモール

1 ECU × 1 仮想コア

1.7 GB

ミディアム

2 ECU × 1 仮想コア

3.75 GBラージ

2 ECU × 2 仮想コア

7.5 GB

エクストララージ2 ECU × 4 仮想コア

15 GB

ハイメモリエクストララージ

3.25 ECU × 2 仮想コア

17.1 GB

ハイメモリダブルエクストラ
ラージ
ハイメモリクアドラプルエクス
トララージ
ハイメモリクラスタエイトエク
ストララージ

3.25 ECU × 4 仮想コ

34 GB

3.25 ECU × 8 仮想コア

68 GB

88 ECU（32 ハイパースレッドコア）

244 GB

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

32

DB インスタンスの詳細設定 2/2
 DB 名・ポート・ネットワーク構成・パラメータ・セキュリティグ
ループ etc.

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

33バックアップ・メンテナンスの設定
 自動バックアップを行う時間帯
 自動バックアップデータの保存期間は？
 メンテナンスを行う時間帯 (0.5h, 1.0h, 1.5h, … 3.0h)

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

34

自動バックアップ
 1 日 1 回の RDS インスタンスのスナップショット + その日の差分情報
 取得したバックアップデータを 0 ～ 35 日間保存できる
 保存期間内の任意の時点に RDS をリカバリできる
 ただし最新の復元時点は現在時刻の 5 分前 差分情報は 5 分置きに取得されるため
例： Backup Retention Period = 1 days
5 分前！

1 日目

2 日目

3 日目

PostgreSQL

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

35

メンテナンスウィンドウ AWS 側がソフトウェアパッチを当ててもよい時間を指定
 数ヶ月に 1 度あるかないか RDS インスタンスが再起動することがある
 数分で完了（Multi-AZ の場合はダウンタイムをさらに短縮できる）
EC2
メンテナンス中...

PostgreSQL

PostgreSQL

Replication

Availability Zone #1

Availability Zone #2

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

36

メンテナンスウィンドウ AWS 側がソフトウェアパッチを当ててもよい時間を指定
 数ヶ月に 1 度あるかないか RDS インスタンスが再起動することがある
 数分で完了（Multi-AZ の場合はダウンタイムにさらに短縮できる）
EC2

マスター切り替え

メンテナンス中...

PostgreSQL

PostgreSQL

Replication

Availability Zone #1

Availability Zone #2

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

37

ちなみに最近の PostgreSQL では
 PostgreSQL 9.0.14/9.2.5/9.3.1 でバグ マイナーアップデート (2013/12/05) があった

 RDS for PostgreSQL のメンテナンスあるかも

http://www.postgresql.org/message-id/0E76EE0A-1740-41B5-88
FF-54AA98794532@thebuild.com

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

38

作成完了
 簡単に作成できる
 作成した DB のアクセスは Endopoint から

 100 GB / 1000 IPOS で 15 分程度

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

39

RDS for PostgreSQL のバックアップ戦略
 自動バックアップ
 指定期間内の任意の時点にリカバリ
1 日目

2 日目

3 日目

PostgreSQL

PostgreSQL

 スナップショットの取得

NEW !!

 取得時点に RDS インスタンスをリストア（複数取得＝差分取得）
PostgreSQL

PostgreSQL

NEW !!

 どちらも新しいインスタンスを作成することになる リカバリ/リストア時にインスタンススペックを変更できる
Copyright © 2014 SRA OSS, Inc. Japan All rights reserved.

40

スナップショットの取得方法
 Create Snapshot
 取得したい RDS インスタンスを選択してスナップショット名を指定

 スナップショットの取得時間は 7 分程度
DB インスタンスクラス 使用量/ストレージサイズ 取得時間
ハイメモリエクストララージ

15 GB / 100 GB

7分

ハイメモリダブルエクストラ
ラージ
ハイメモリクラスタエイトエク
ストララージ

15 GB / 100 GB

9分

15 GB / 100 GB

6分

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

41

スナップショットの取得方法
 スナップショットは複数取得可能
 スナップショットのコピーもできる コピー先を異なる AZ に配置してさらに安心 Multi-AZ を有効にしていないと数分間 DB に接続できなくなる

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

42

スナップショットからのリストア
 リストアしたいスナップショットを選択

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

43

スナップショットからのリストア
 リストア時にインスタンスのスペックを変更できる！

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

44

自動バックアップからのリカバリ
 リストアしたいRDS インスタンスを選択 リカバリしたい時刻を選択
 リカバリ時にインスタンスのスペックを変更できる！
Copyright © 2014 SRA OSS, Inc. Japan All rights reserved.

45

RDS インスタンスのスケールアップ
 スケールアップのタイミング
 自動バックアップからのリカバリ
 スナップショットからのリストア
 任意のタイミングで

 任意のタイミングでスケールアップ（RDS インスタンスの変更）ができる

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

46

RDS インスタンスの変更 | スケールアップ
 指定の RDS インスタンスの内容を変更できる
 新たにインスタンスが作成されるわけではない 即時変更反映 OR メンテナンスウィンドウで指定した時間帯
 数分ほど RDS インスタンスは停止する
 ストレージサイズの増加はできても減少はできない

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

47

RDS インスタンスのモニタリング
 Web コンソールから 2 週間分の RDS インスタンスの統計情報を確認可能
 この統計情報は、Amazon CloudWatch（AWS クラウドリソー
スのモニタリング機能）を使っている

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

48

RDS インスタンスのモニタリング
 Web コンソールから 2 週間分の RDS インスタンスの統計情報を確認可能
 この統計情報は、Amazon CloudWatch（AWS クラウドリソー
スのモニタリング機能）を使っている
統計情報
CPUUtilization (%)

内容
CPU 使用率

FreeableMemory (Bytes)

利用可能なメモリ量

FreeStorageSpace (Bytes)

利用可能なディスク量

DatabaseConnections (Count)

データベース接続数

ReadIOPS (Count/Second)

1秒辺りの平均ディスク読み込み回数

ReadLatency (Second)
WriteIOPS (Count/Second)
WriteLatency (Second)

上記の操作の平均所要時間
1秒辺りの平均ディスク書き込み回数
上記の操作の平均所要時間…… など 13 種類
Copyright © 2014 SRA OSS, Inc. Japan All rights reserved.

49

RDS インスタンスからイベント通知
 Amazon Simple Notification Service を通して
RDS インスタンスの状態変化をデバイス・アプリにプッシュ通知
Availability

RDS インスタンスのシャットダウン・再起動

Backup

自動バックアップの開始・終了

Configuration Change

セキュリティグループ、インスタンスのスケーリング、パスワード変更など

Creation

RDS インスタンス、スナップショットの作成・削除

Failoverフェイルオーバーの開始・完了

Low Storage

ストレージの容量不足

Maintenance

パッチインストールによるオフラインへの移行・オンラインへの復帰

Recovery

データベースインスタンスの復旧

Restoration

ポイント・イン・タイムまたはスナップショットからのRDS インスタンスのリストア
Copyright © 2014 SRA OSS, Inc. Japan All rights reserved.

50

RDS インスタンスのフェイルオーバー Multi-AZ を有効にしていると、障害発生時に自動的にスタンバイ側に切り替わりサービス継続
 RDS インスタンスの再起動時にもフェイルオーバーを任意に選択できる

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

51

RDS インスタンスの削除 インスタンスを選択して削除 削除時の最終スナップショットを取っておくことも可能
 DB のデータを手元に持ってくる機能は AWS にはないのでPostgreSQL のダンプコマンドを使用する

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

52

開発 以上の操作は Web コンソールだけでなく、各種 API 、スクリプトでも実行可能。
 [AWS SDKs & Tools] https://aws.amazon.com/jp/tools/

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

53

費用について 以下のサイトで試算可能
 [Amazon Web Services Simple Monthly Calculator]
 http://calculator.s3.amazonaws.com/calc5.html

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

54

AWS が提供しているドキュメント
 [ドキュメント] http://aws.amazon.com/jp/documentation/
 各サービスのドキュメント
 未翻訳のものも多い

 [AWS SDKs & Tools] http://aws.amazon.com/jp/tools/ 各種ツールのインストール・使い方

 [AWS クラウドサービス活用資料集]
 http://aws.amazon.com/jp/aws-jp-introduction/
 スライド資料
 わかりやすい概要、事例紹介など

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

55

オープンソースとともにURL： http://www.sraoss.co.jp/
E-mail： sales@sraoss.co.jp
Tel： 03-5979-2701
Copyright © 2014 SRA OSS, Inc. Japan All rights reserved.

56