54
1 © 2017 Amazon Web Services, Inc. or its affiliates. All rights reserved. 使ってみよう! データベースとストレージ Getting Started with AWS Database and Storage Services 〜 Amazon Web Services Japan テクニカルトレーナー ⼤村 幸敬 AWS Cloud Roadshow 2017 ⼤阪

使ってみよう!データベースとストレージ ~ Getting Started with AWS Database ... · 使ってみよう! データベースとストレージ 〜Getting Started

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 使ってみよう!データベースとストレージ ~ Getting Started with AWS Database ... · 使ってみよう! データベースとストレージ 〜Getting Started

1© 2017 Amazon Web Services, Inc. or its affiliates. All rights reserved.

使ってみよう!データベースとストレージ

〜 Getting Started with AWS Database and Storage Services 〜

Amazon Web Services Japanテクニカルトレーナー

⼤村 幸敬

AWS Cloud Roadshow 2017 ⼤阪

Page 2: 使ってみよう!データベースとストレージ ~ Getting Started with AWS Database ... · 使ってみよう! データベースとストレージ 〜Getting Started

2© 2017 Amazon Web Services, Inc. or its affiliates. All rights reserved.

本セッションの概要

AWS におけるデータストアの使い分けについて解説します

Øデータストアの役割ØAWSのストレージサービス

• S3, GlacierØAWSのデータベースサービス

• RDS, DynamoDB

Page 3: 使ってみよう!データベースとストレージ ~ Getting Started with AWS Database ... · 使ってみよう! データベースとストレージ 〜Getting Started

3© 2017 Amazon Web Services, Inc. or its affiliates. All rights reserved.

データストアの役割

Page 4: 使ってみよう!データベースとストレージ ~ Getting Started with AWS Database ... · 使ってみよう! データベースとストレージ 〜Getting Started

4© 2017 Amazon Web Services, Inc. or its affiliates. All rights reserved.

⼀般的なWebアプリケーション構成(ストレージなし)

APサーバELB

トランザクションデータ

DB

ユーザ

ファイル

Page 5: 使ってみよう!データベースとストレージ ~ Getting Started with AWS Database ... · 使ってみよう! データベースとストレージ 〜Getting Started

5© 2017 Amazon Web Services, Inc. or its affiliates. All rights reserved.

⼀般的なWebアプリケーションの構成(NFS)

APサーバELB

ファイル

トランザクションデータ

DB

NFS

ユーザ

・可⽤性?・パフォーマンス?

NFS

Page 6: 使ってみよう!データベースとストレージ ~ Getting Started with AWS Database ... · 使ってみよう! データベースとストレージ 〜Getting Started

6© 2017 Amazon Web Services, Inc. or its affiliates. All rights reserved.

⼀般的なWebアプリケーションの構成(S3)

APサーバELB

ファイル

トランザクションデータ

DB

S3

ユーザ

HTTP

・⾼耐久性・⾼可⽤性・スケーラブル・低コスト

Page 7: 使ってみよう!データベースとストレージ ~ Getting Started with AWS Database ... · 使ってみよう! データベースとストレージ 〜Getting Started

7© 2017 Amazon Web Services, Inc. or its affiliates. All rights reserved.

⼀般的なWebアプリケーションの構成

APサーバELB

ファイル

トランザクションデータ

DB

S3

ユーザ

HTTP

セッションデータは?

Page 8: 使ってみよう!データベースとストレージ ~ Getting Started with AWS Database ... · 使ってみよう! データベースとストレージ 〜Getting Started

8© 2017 Amazon Web Services, Inc. or its affiliates. All rights reserved.

⼀般的なWebアプリケーションの構成

APサーバELB

ファイル

トランザクションデータ

DB

S3

ユーザ

HTTP

セッションデータ

Elasticache

Page 9: 使ってみよう!データベースとストレージ ~ Getting Started with AWS Database ... · 使ってみよう! データベースとストレージ 〜Getting Started

9© 2017 Amazon Web Services, Inc. or its affiliates. All rights reserved.

データストレージに関する考慮事項

万能のデータベースはない以下を検討することによりデータ要件を分析するØ データ形式Ø データサイズØ クエリの頻度Ø データのアクセス速度Ø データの保持期間

Page 10: 使ってみよう!データベースとストレージ ~ Getting Started with AWS Database ... · 使ってみよう! データベースとストレージ 〜Getting Started

10© 2017 Amazon Web Services, Inc. or its affiliates. All rights reserved.

データ要件に対するAWSサービスの位置付け

https://www.slideshare.net/AmazonWebServices/aws-reinvent-2016-big-data-architectural-patterns-and-best-practices-on-aws-bdm201

Page 11: 使ってみよう!データベースとストレージ ~ Getting Started with AWS Database ... · 使ってみよう! データベースとストレージ 〜Getting Started

11© 2017 Amazon Web Services, Inc. or its affiliates. All rights reserved.

AWS のマネージド ストレージ & データベース サービス

コンピューティングストレージ

AWS グローバルインフラストラクチャ

データベース

アプリケーションサービス

デプロイと管理

ネットワーキング

Amazon DynamoDB

Amazon ElastiCache

Amazon RDS

Amazon Redshift

AWS Database Migration Service

Amazon S3

Amazon Glacier

Page 12: 使ってみよう!データベースとストレージ ~ Getting Started with AWS Database ... · 使ってみよう! データベースとストレージ 〜Getting Started

12© 2017 Amazon Web Services, Inc. or its affiliates. All rights reserved.

AWSのストレージサービス

Page 13: 使ってみよう!データベースとストレージ ~ Getting Started with AWS Database ... · 使ってみよう! データベースとストレージ 〜Getting Started

13© 2017 Amazon Web Services, Inc. or its affiliates. All rights reserved.

Amazon Simple Storage Service (S3)

Amazon S3

インターネット対応のストレージ常にオンラインで HTTP でアクセス可能どのような量でも、データの保存、取り出しをいつでも、ウェブ上のどこからでも実⾏可能スケーラビリティ、信頼性、耐久性に優れ、かつ⾼速

Page 14: 使ってみよう!データベースとストレージ ~ Getting Started with AWS Database ... · 使ってみよう! データベースとストレージ 〜Getting Started

14© 2017 Amazon Web Services, Inc. or its affiliates. All rights reserved.

Amazon S3 の特徴

バケットに無制限のオブジェクトを保存可能最⼤ 5 TB のオブジェクトを保存可能。バケットのサイズ制限なし年間 99.999999999% のオブジェクト耐久性と、99.99% のオブジェクト可⽤性を提供するように設計HTTP/S エンドポイントにより、データの量がどれほど多くても、いつでもどこからでも保存や取得をウェブ上で実⾏可能スケーラビリティと信頼性に優れ、⾼速で安価オプションで、AWS またはお客様が管理するクライアント側暗号化を使⽤したサーバー側の暗号化をサポート監査のためのアクセスログ標準ベースの REST および SOAP インターフェイスを提供

Page 15: 使ってみよう!データベースとストレージ ~ Getting Started with AWS Database ... · 使ってみよう! データベースとストレージ 〜Getting Started

15© 2017 Amazon Web Services, Inc. or its affiliates. All rights reserved.

⼀般的な使⽤シナリオ

ストレージとバックアップアプリケーションファイルのホスティングメディアホスティングソフトウェア配信AMI とスナップショットの保存

Page 16: 使ってみよう!データベースとストレージ ~ Getting Started with AWS Database ... · 使ってみよう! データベースとストレージ 〜Getting Started

16© 2017 Amazon Web Services, Inc. or its affiliates. All rights reserved.

Amazon S3 の料⾦設定

使⽤した分のみの料⾦が発⽣最低料⾦はないAmazon S3 バケットのロケーションに基づく価格設定AWS 簡易⾒積りツールを⽤いた⽉額料⾦の⾒積もり料⾦の内訳:Ø ストレージ料⾦Ø リクエスト料⾦Ø データ転送料⾦: Amazon S3 からのデータ転送

Page 17: 使ってみよう!データベースとストレージ ~ Getting Started with AWS Database ... · 使ってみよう! データベースとストレージ 〜Getting Started

17© 2017 Amazon Web Services, Inc. or its affiliates. All rights reserved.

Amazon S3 の概念

Amazon S3 では、データがオブジェクトとしてバケットに保存されるオブジェクトは、ファイルと、そのファイルについて説明する任意のメタデータ(省略可能) で構成されるアカウントあたり最⼤ 100 のバケットを所有できるバケットとそのオブジェクトのアクセスログを制御できる

Amazon S3

オブジェクトが保存された

バケット

バケット

オブジェクト

Page 18: 使ってみよう!データベースとストレージ ~ Getting Started with AWS Database ... · 使ってみよう! データベースとストレージ 〜Getting Started

18© 2017 Amazon Web Services, Inc. or its affiliates. All rights reserved.

オブジェクトキー

オブジェクトキーとは、バケット内のオブジェクトが持つ⼀意の識別⼦

http://doc.s3.amazonaws.com/2006-03-01/AmazonS3.html

バケット オブジェクトキー

Page 19: 使ってみよう!データベースとストレージ ~ Getting Started with AWS Database ... · 使ってみよう! データベースとストレージ 〜Getting Started

19© 2017 Amazon Web Services, Inc. or its affiliates. All rights reserved.

Amazon S3 のセキュリティ

以下によりバケットとそのオブジェクトのアクセスを制御可能:Ø アクセスコントロールリスト (ACL)Ø バケットポリシーØ Identity and Access Management (IAM) ポリシー

SSL で暗号化されたエンドポイント経由で Amazon S3 にデータをアップロードまたはダウンロードAWS SDK を使⽤してデータを暗号化

Page 20: 使ってみよう!データベースとストレージ ~ Getting Started with AWS Database ... · 使ってみよう! データベースとストレージ 〜Getting Started

20© 2017 Amazon Web Services, Inc. or its affiliates. All rights reserved.

Amazon S3 バージョニング

パフォーマンスに影響を与えずに偶発的な上書きや削除から保護するアップロードごとに新しいバージョンを⽣成する削除されたオブジェクトの取得や以前のバージョンへのロールバックが可能Amazon S3 バケットの 3 種類の状態:Ø バージョニング無効 (デフォルト)Ø バージョニング有効Ø バージョニング⼀時停⽌

バージョニング有効

Key: photo.gifID: 121212Key: photo.gifID: 111111

Page 21: 使ってみよう!データベースとストレージ ~ Getting Started with AWS Database ... · 使ってみよう! データベースとストレージ 〜Getting Started

21© 2017 Amazon Web Services, Inc. or its affiliates. All rights reserved.

Amazon Glacier

低コストの⻑期アーカイブサービス低頻度アクセスのデータに最適99.999999999% の耐久性を実現するように設計アクセス可能になるまでの時間により取り出し料⾦が異なるØ 迅速:1〜5分Ø 標準:3〜5 時間Ø ⼤容量:5〜12時間

1 GB あたり⽉額 0.005 USD 未満 (リージョンによって異なる)

Page 22: 使ってみよう!データベースとストレージ ~ Getting Started with AWS Database ... · 使ってみよう! データベースとストレージ 〜Getting Started

22© 2017 Amazon Web Services, Inc. or its affiliates. All rights reserved.

Amazon S3 ストレージクラス

ストレージクラス 耐久性 可⽤性 その他の考慮事項Amazon S3 標準 99.999999999% 99.99% なし

Amazon S3 標準 – 低頻度アクセス (IA)

99.999999999% 99.90% • オブジェクトに関連付けられる取り出し料⾦あり

• 低頻度アクセスのデータに最適

Glacier 99.999999999% 99.99%(オブジェクト復元後)

• リアルタイムアクセスには利⽤不可

• アクセスする前にオブジェクトを復元する必要あり

Page 23: 使ってみよう!データベースとストレージ ~ Getting Started with AWS Database ... · 使ってみよう! データベースとストレージ 〜Getting Started

23© 2017 Amazon Web Services, Inc. or its affiliates. All rights reserved.

Amazon S3 オブジェクトのライフサイクル

ライフサイクル管理は、オブジェクトをその存続期間にわたってAmazon S3 でどのように管理するかを定義する。 S3バケットに格納するファイルの中には、ライフサイクルルールを定義すべきものが多くある:

ログファイルアーカイブ⽂書デジタルメディアアーカイブ⾦融レコードと健康管理レコードゲノムシーケンスのrawデータ⻑期的なデータベースバックアップ規制順守のために保持する必要があるデータ

Page 24: 使ってみよう!データベースとストレージ ~ Getting Started with AWS Database ... · 使ってみよう! データベースとストレージ 〜Getting Started

24© 2017 Amazon Web Services, Inc. or its affiliates. All rights reserved.

AWSのデータベースサービス

Page 25: 使ってみよう!データベースとストレージ ~ Getting Started with AWS Database ... · 使ってみよう! データベースとストレージ 〜Getting Started

25© 2017 Amazon Web Services, Inc. or its affiliates. All rights reserved.

AWS マネージドデータベースサービス

データ・ストアの特性に応じて使い分ける

Amazon DynamoDB

Amazon RDS

Amazon ElastiCache

Amazon Redshift

SQL

NoSQL• 低レンテンシ• インメモリ

• 3拠点間でのレプリケーション

• ⾼速パフォーマンス• ⼀貫したスループット

• トランザクション処理

• 汎⽤⽤途

• 集計・分析処理• ⼤容量データ• DWH

Page 26: 使ってみよう!データベースとストレージ ~ Getting Started with AWS Database ... · 使ってみよう! データベースとストレージ 〜Getting Started

26© 2017 Amazon Web Services, Inc. or its affiliates. All rights reserved.

SQL データベースと NoSQL データベース

SQL NoSQLデータストレージ ⾏と列 キーと値スキーマ 固定 動的クエリ SQL 使⽤ ドキュメントのコレクション

に焦点を合わせるスケーラビリティ 垂直 ⽔平

ISBN タイトル 著者 形式

9182932465265 クラウドコンピューティングの概念

Wilson, Joe

ペーパーバック

3142536475869 The Database Guru Gomez, Maria

電⼦ブック

SQL NoSQL{

ISBN: 9182932465265,Title: "クラウドコンピューティングの概念",Author: "Wilson, Joe",Format: "ペーパーバック"

}

Page 27: 使ってみよう!データベースとストレージ ~ Getting Started with AWS Database ... · 使ってみよう! データベースとストレージ 〜Getting Started

27© 2017 Amazon Web Services, Inc. or its affiliates. All rights reserved.

Amazon Relational Database Service (RDS)

コスト効率に優れ、サイズ変更が可能なキャパシティー時間のかかるデータベース管理タスクが不要になるAmazon Aurora、MySQL、MariaDB、Microsoft SQL Server、Oracle、およびPostgreSQL の各データベースのすべての機能を利⽤できる

Amazon RDS

Page 28: 使ってみよう!データベースとストレージ ~ Getting Started with AWS Database ... · 使ってみよう! データベースとストレージ 〜Getting Started

28© 2017 Amazon Web Services, Inc. or its affiliates. All rights reserved.

Amazon RDS

シンプルかつ迅速なデプロイ⼀般的なデータベース管理タスクの処理アプリケーションとの互換性⾼速で予測可能なパフォーマンスシンプルかつ迅速なスケール安全コスト効率

Page 29: 使ってみよう!データベースとストレージ ~ Getting Started with AWS Database ... · 使ってみよう! データベースとストレージ 〜Getting Started

29© 2017 Amazon Web Services, Inc. or its affiliates. All rights reserved.

DB インスタンス

DB インスタンスは Amazon RDS の基本構成要素であるDB インスタンスは、クラウド内の独⽴したデータベース環境であるDB インスタンスには、複数のユーザーが作成したデータベースを含めることができる

Page 30: 使ってみよう!データベースとストレージ ~ Getting Started with AWS Database ... · 使ってみよう! データベースとストレージ 〜Getting Started

30© 2017 Amazon Web Services, Inc. or its affiliates. All rights reserved.

Amazon RDS バックアップの使⽤⽅法

⾃動バックアップ:Ø データベースを特定時点ま

で復元するØ デフォルトで有効Ø 最⼤ 35 ⽇間までの保持期

間を選択できる

⼿動スナップショット:Ø スナップショットから新しい

データベースインスタンスを作成できる

Ø ユーザーによって開始されるØ ユーザーによって削除される

まで持続されるØ Amazon S3 に保存される

Page 31: 使ってみよう!データベースとストレージ ~ Getting Started with AWS Database ... · 使ってみよう! データベースとストレージ 〜Getting Started

31© 2017 Amazon Web Services, Inc. or its affiliates. All rights reserved.

Amazon RDS のセキュリティ

Amazon VPC で DB インスタンスを実⾏するIAM ポリシーを使⽤して Amazon RDS リソースへのアクセスを許可するセキュリティグループを使⽤するDB インスタンス (Amazon Aurora、Oracle、MySQL、MariaDB、PostgreSQL、Microsoft SQL Server) には Secure Socket Layer (SSL) 接続を使⽤する保管時の RDS DB インスタンスとスナップショットを保護するには、Amazon RDS の暗号化を使⽤するOracle DB インスタンスおよび Microsoft SQL Server インスタンスではネットワーク暗号化と Transparent Data Encryption (TDE) を使⽤するDB エンジンのセキュリティ機能を使⽤して、DB インスタンスへのアクセスを制御する

Page 32: 使ってみよう!データベースとストレージ ~ Getting Started with AWS Database ... · 使ってみよう! データベースとストレージ 〜Getting Started

32© 2017 Amazon Web Services, Inc. or its affiliates. All rights reserved.

RDS のマルチ AZ 配置

マルチ AZ の動作により、データベースは同じAWS リージョン内の別の AZ に同期的にレプリケートされるマスターデータベースに障害が発⽣した場合は、⾃動的にスタンバイに対してフェイルオーバーを⾏う計画されたメンテナンスをまずスタンバイデータベースに適⽤

Page 33: 使ってみよう!データベースとストレージ ~ Getting Started with AWS Database ... · 使ってみよう! データベースとストレージ 〜Getting Started

33© 2017 Amazon Web Services, Inc. or its affiliates. All rights reserved.

弾⼒性と耐久性のあるアプリケーションアーキテクチャ

Amazon RDS データベースインスタンス:マスターおよびマルチ AZ スタンバイ

アプリケーション(Amazon EC2 インスタンス内)

Elastic Load Balancing ロードバランサーインスタンス

Amazon S3 に取得したDB スナップショット

Page 34: 使ってみよう!データベースとストレージ ~ Getting Started with AWS Database ... · 使ってみよう! データベースとストレージ 〜Getting Started

34© 2017 Amazon Web Services, Inc. or its affiliates. All rights reserved.

Amazon RDS のベストプラクティス

メモリ、CPU、ストレージの使⽤状況をモニタリングするマルチ AZ 配置を使⽤して、同期されたスタンバイレプリカを別のアベイラビリティーゾーンに⾃動的にプロビジョンし、維持する⾃動バックアップを有効にする1 ⽇のうちで WriteIOPS が低くなる時間帯に実⾏されるようにバックアップウィンドウを設定するDB インスタンスの I/O 処理能⼒を⾼めるにはØ I/O 処理能⼒の⾼い DB インスタンスクラスに移⾏するØ 標準ストレージからプロビジョンド IOPS ストレージに変換し、プロビジョンド IOPS

に合わせて最適化された DB インスタンスクラスを使⽤するØ プロビジョンド IOPS ストレージを使⽤している場合は、追加のスループット性能をプ

ロビジョニングするクライアントアプリケーションが DB インスタンスの DNS データをキャッシュに格納する場合は、設定する TTL を 30 秒未満にするDB インスタンスのフェイルオーバーをテストする

Page 35: 使ってみよう!データベースとストレージ ~ Getting Started with AWS Database ... · 使ってみよう! データベースとストレージ 〜Getting Started

35© 2017 Amazon Web Services, Inc. or its affiliates. All rights reserved.

Amazon RDS for Aurora

特徴 (http://aws.amazon.com/jp/rds/aurora/)

Ø MySQL5.6と互換性あり (PostgreSQL版preview中)Ø 3AZに6本のディスクに書き込み2本のディスク障害で

はRead/Write可能。3本のディスク障害でもRead可能Ø キャシュとログをAuroraプロセスから分離することで

Auroraプロセスのリスタートでもキャッシュが残るØ レプリケーション遅延は10-20ms程Ø 64TBまでディスクがシームレスにスケールする

価格体系 (http://aws.amazon.com/jp/rds/aurora/pricing/)

Ø インスタンスタイプによるØ 実際に利⽤したディスク容量 (プロビジョニング不要)Ø バックアップストレージ容量

Amazonがクラウド時代に再設計したデータベース

Page 36: 使ってみよう!データベースとストレージ ~ Getting Started with AWS Database ... · 使ってみよう! データベースとストレージ 〜Getting Started

36© 2017 Amazon Web Services, Inc. or its affiliates. All rights reserved.

Auroraのストレージ

SSDを利⽤したシームレスにスケールするストレージØ 64TBまで⾃動的にスケール

標準で⾼可⽤性を実現Ø 2つのコピー障害時でも読み書きに問題なしØ 3つのコピー障害時でも読み込み可能Ø 継続的なS3へのバックアップ

リードレプリカもマスタと同じストレージを参照Ø レプリケーション遅延は10ms-20ms

SQLTransactions

AZ 1 AZ 2 AZ 3

Caching

Amazon S3

SQLTransactions

Caching

Page 37: 使ってみよう!データベースとストレージ ~ Getting Started with AWS Database ... · 使ってみよう! データベースとストレージ 〜Getting Started

37© 2017 Amazon Web Services, Inc. or its affiliates. All rights reserved.

レプリケーション

Aurora Master

30% Read

70% Write

Aurora Replica

100% New Reads

Shared Multi-AZ Storage

MySQL Master

30% Read

70% Write

MySQL Replica

30% New Reads

70% Write

シングルスレッドでBinlog適⽤

Data Volume Data Volume

MySQL read scalingレプリケーションにはbinlog / relay logが必要レプリケーションはマスターへ負荷がかかるレプリケーション遅延が増加していくケースがあるフェイルオーバでデータロスの可能性がある

PAGE CACHEUPDATE

Page 38: 使ってみよう!データベースとストレージ ~ Getting Started with AWS Database ... · 使ってみよう! データベースとストレージ 〜Getting Started

38© 2017 Amazon Web Services, Inc. or its affiliates. All rights reserved.

クラスタエンドポイント

Availability Zone A Availability Zone B

VPC subnet VPC subnet

VPC subnet VPC subnetAurora Writer Aurora Reader

クラスタエンドポイント

• 各Auroraノードは個別にエンドポイントを持っている

• クラスタエンドポイントは、その時アクティブなAurora WriterノードのCNAME

• Readは各Readerを参照する

Write

Page 39: 使ってみよう!データベースとストレージ ~ Getting Started with AWS Database ... · 使ってみよう! データベースとストレージ 〜Getting Started

39© 2017 Amazon Web Services, Inc. or its affiliates. All rights reserved.

クラスタエンドポイント

• フェイルオーバが発⽣すると、Auroraノードの昇格が⾏われ、クラスタエンドポイントの指し先が変わる

Availability Zone A Availability Zone B

VPC subnet VPC subnet

VPC subnet VPC subnetAurora Writer Aurora Writer

クラスタエンドポイント

Write

Page 40: 使ってみよう!データベースとストレージ ~ Getting Started with AWS Database ... · 使ってみよう! データベースとストレージ 〜Getting Started

40© 2017 Amazon Web Services, Inc. or its affiliates. All rights reserved.

⾼速でより予測可能なフェイルオーバー時間

ApprunningFailure detection DNS propagation

Recovery Recovery

DBfailure

MySQL

Apprunning

Failure detection DNS propagation

Recovery

DBfailure

AURORA WITH MARIADB DRIVER

1 5 - 2 0 s e c

3 - 2 0 s e c

Page 41: 使ってみよう!データベースとストレージ ~ Getting Started with AWS Database ... · 使ってみよう! データベースとストレージ 〜Getting Started

41© 2017 Amazon Web Services, Inc. or its affiliates. All rights reserved.

Amazon Auroraの使いどころ

Page 42: 使ってみよう!データベースとストレージ ~ Getting Started with AWS Database ... · 使ってみよう! データベースとストレージ 〜Getting Started

42© 2017 Amazon Web Services, Inc. or its affiliates. All rights reserved.

クエリ同時実⾏数やテーブルサイズが⼤きい

Amazon Auroraに移⾏することで、クエリスループットの向上などが⾒込まれるØ マルチコア環境でCPUを効率的に利⽤Ø 分散ロック機構やQuery Cacheの改善による性能向上

ディスクØ データ量の増加に応じてディスク容量を気にする必要が無いØ 性能に影響を及ばさずバックアップ

Page 43: 使ってみよう!データベースとストレージ ~ Getting Started with AWS Database ... · 使ってみよう! データベースとストレージ 〜Getting Started

43© 2017 Amazon Web Services, Inc. or its affiliates. All rights reserved.

複数のサーバにシャーディングしている

複数の⼩さいDBを1つにまとめるØ コスト効果増⼤と管理コストの軽減Ø シャーディングをするデータベースを減らすことでアプリケー

ションの設計を簡略化出来るØ 障害時の影響を考慮する必要はある

Page 44: 使ってみよう!データベースとストレージ ~ Getting Started with AWS Database ... · 使ってみよう! データベースとストレージ 〜Getting Started

44© 2017 Amazon Web Services, Inc. or its affiliates. All rights reserved.

RDS の事例

“AWS summit tokyo” で検索!Ø D2T4-5 導⼊事例トラック 1

• 「ゲオを⽀える DB 基盤の歴史と未来 〜Oracle から Amazon Aurora へ〜」

Ø その他にも多数

Page 45: 使ってみよう!データベースとストレージ ~ Getting Started with AWS Database ... · 使ってみよう! データベースとストレージ 〜Getting Started

45© 2017 Amazon Web Services, Inc. or its affiliates. All rights reserved.

Amazon DynamoDB

保存できるデータ量に制限はなしSSD を使⽤して、⾼速で予測可能なパフォーマンスを実現する各テーブルに必要なリクエストキャパシティーを容易にプロビジョニングおよび変更することができるフルマネージド型、NoSQL データベースサービス

Amazon DynamoDB

Page 46: 使ってみよう!データベースとストレージ ~ Getting Started with AWS Database ... · 使ってみよう! データベースとストレージ 〜Getting Started

46© 2017 Amazon Web Services, Inc. or its affiliates. All rights reserved.

DynamoDB データモデル

テーブル:Music 項⽬

属性 (名前と値のペア)

Artist Song Title

Album Title

Year Genre

Page 47: 使ってみよう!データベースとストレージ ~ Getting Started with AWS Database ... · 使ってみよう! データベースとストレージ 〜Getting Started

47© 2017 Amazon Web Services, Inc. or its affiliates. All rights reserved.

プライマリキー

パーティションキー

ソートキー

テーブル: Musicパーティションキー: Artistソートキー: Song Title

(DynamoDB では両⽅のソートされたインデックスを保持)

テーブル:Music

Artist Song Title

Album Title

Year Genre

Page 48: 使ってみよう!データベースとストレージ ~ Getting Started with AWS Database ... · 使ってみよう! データベースとストレージ 〜Getting Started

48© 2017 Amazon Web Services, Inc. or its affiliates. All rights reserved.

プロビジョンドスループット

読み込みと書き込み⽤にプロビジョニングされたスループットキャパシティを指定するAmazon DynamoDB では、必要なマシンリソースを割り当てる読み込みキャパシティーユニットØ 最⼤ 4 KB の項⽬に対して、強い整合性のある読み込みを 1

秒あたり 1 回Ø 最⼤ 4 KB の項⽬に対して、結果的に整合性のある読み込みを

1 秒あたり 2 回書き込みキャパシティーユニットØ 最⼤ 1 KB の項⽬に対して、書き込みを 1 秒あたり 1 回

Page 49: 使ってみよう!データベースとストレージ ~ Getting Started with AWS Database ... · 使ってみよう! データベースとストレージ 〜Getting Started

49© 2017 Amazon Web Services, Inc. or its affiliates. All rights reserved.

Amazon RDS と Amazon DynamoDB要素 リレーショナル (Amazon RDS) NoSQL (Amazon DynamoDB)

アプリケーションタイプ

• 既存のデータベースアプリケーション

• ビジネスプロセス中⼼のアプリケーション

• 新しいウェブスケールアプリケーション

• 多数の⼩規模な書き込みと読み取り

アプリケーションの特性

• リレーショナルデータモデル、トランザクション

• 複雑なクエリ、結合、および更新

• 単純なデータモデル、トランザクション• レンジクエリ、単純な更新

スケーリングアプリケーションまたは DBA 設計(クラスター化、パーティション、シャーディング)

アプリケーション要件に基づいた、シームレスなオンデマンドスケーリング

QoS

• パフォーマンス – データモデル、インデックス作成、クエリ、およびストレージの最適化に依存

• 信頼性と可⽤性• 耐久性

• パフォーマンス – システムで⾃動的に最適化

• 信頼性と可⽤性• 耐久性

Page 50: 使ってみよう!データベースとストレージ ~ Getting Started with AWS Database ... · 使ってみよう! データベースとストレージ 〜Getting Started

50© 2017 Amazon Web Services, Inc. or its affiliates. All rights reserved.

データベースに関する考慮事項要件 お勧めする選択肢

リレーショナルデータベースが必要であるが、管理作業を最⼩限にしたい

Amazon RDS • データベースエンジンを Amazon Aurora、MySQL、

MariaDB、MicrosoftSQL Server、Oracle、または PostgreSQL から選択できる

• コンピューティングおよびストレージのスケール• マルチ AZ の可⽤性

⾼速でスケーラブルなNoSQL データベースサービス

Amazon DynamoDB• 極めて⾼速なパフォーマンス• シームレスなスケーラビリティと信頼性• 低コスト

⾃分で管理できるデータベース

Amazon EC2 および Amazon EBS の AMI を選択する。コンピューティングおよびストレージのスケーリング、インスタンスのあらゆる 制御が可能などの特⻑がある

Page 51: 使ってみよう!データベースとストレージ ~ Getting Started with AWS Database ... · 使ってみよう! データベースとストレージ 〜Getting Started

51© 2017 Amazon Web Services, Inc. or its affiliates. All rights reserved.

AWS利⽤におけるセキュリティ確保の全体像

CLI / SDK

キーペアによるOS認証

セキュリティグループによるインスタンスの通信保護

リモートデスクトップ

ターミナル

アクセスキーIDシークレットキーによるAPIの認証

マネジメントコンソール

IAMユーザIDPassword

によるMCの認証

AWS API

マネ

ジメ

ント

コン

ソー

ル(M

C)

VPCによるネットワークの通信保護

HTTPS

HTTPS

SSH/RDP

MySQL

IAM

EC2

S3

DynamoDB

IAMによるAPIの認可

Page 52: 使ってみよう!データベースとストレージ ~ Getting Started with AWS Database ... · 使ってみよう! データベースとストレージ 〜Getting Started

52© 2017 Amazon Web Services, Inc. or its affiliates. All rights reserved.

AWS Database Migration Service(DMS)

特徴(https://aws.amazon.com/jp/dms/)

Ø マネージド型RDB移⾏サービスØ 異機種RDB間のデータ移⾏をサポートØ 継続的なレプリケーション(CDC)機能

価格体系 (https://aws.amazon.com/jp/dms/pricing/)

Ø インスタンスタイプに応じ、1時間単位Ø DMSの中間データを保存するストレージは

利⽤量に応じて

データベース間のデータ移⾏・レプリケーションを実現するサービス

DMS

オンプレミスRDB (*1)

RDS

RDB on EC2

オンプレミス

RDB

RDS

RDB on EC2※1:オンプレ to オンプレは未サポート

Page 53: 使ってみよう!データベースとストレージ ~ Getting Started with AWS Database ... · 使ってみよう! データベースとストレージ 〜Getting Started

53© 2017 Amazon Web Services, Inc. or its affiliates. All rights reserved.

DMSがサポートするデータベースソース ターゲット SSL接続

Oracle on-pre/EC2 10g(10.2以降), 11g, 12cEnt/SE/SE1/SE2

10g, 11g, 12c Ent/SE/SE1/SE2n/a

RDS 11g(※1), 12c Ent/SE/SE1/SE2 11g(※1), 12c Ent/SE/SE1/SE2MySQL on-pre/EC2/RDS 5.5, 5.6, 5.7 5.5, 5.6, 5.7 ○PostgreSQL on-pre/EC2 9.4以降 9.3以降

○RDS 9.4 9.3以降

SQL Server on-pre/EC2 2005, 2008, 2008R2, 2012, 2014, 2016 Ent, Std, Workgroup, Developer

2005, 2008, 2008R2, 2012, 2014, 2016Ent, Std, Workgroup, Developer ○

RDS 2008R2, 2012, 2014, 2016 Ent, Std, Workgroup, Developer ※2

2008R2, 2012, 2014,2016 Ent, Std, Workgroup, Developer

Aurora RDS MySQL互換としてサポート MySQL互換としてサポート ○MariaDB on-pre/EC2/RDS MySQL互換としてサポート MySQL互換としてサポート ○Redshift (ソースとしてはサポート無し) ターゲットDBとしてサポート n/a

SAP ASE(Sybase ASE)

on-pre/EC2 15.7以降 15.7以降 ※3 n/a

※1:11.2.0.3.v1以降※2:CDC利⽤不可※3:⽇本語データを含む場合は15.7 SP121以降

Page 54: 使ってみよう!データベースとストレージ ~ Getting Started with AWS Database ... · 使ってみよう! データベースとストレージ 〜Getting Started

54© 2017 Amazon Web Services, Inc. or its affiliates. All rights reserved.

まとめ

AWS におけるデータストアの使い分けについて解説しました

Øデータストアの役割ØAWSのストレージサービス

• S3, GlacierØAWSのデータベースサービス

• RDS, DynamoDB