database on aws @jaws-ug福岡 初心者向けクラウド勉強会 2014.05.31

90
Database on AWS Shota Mitsui@Serverworks JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

Upload: shota-mitsui

Post on 18-Dec-2014

2.572 views

Category:

Technology


4 download

DESCRIPTION

Database on AWS ということで実際に触ったことない人向けにRDSの概要トラックやってきたよ

TRANSCRIPT

Page 1: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

Database on AWS

Shota Mitsui@Serverworks

JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

Page 2: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

Shota Mitsui (0x19) @mitchang Serverworks (Tokyo)

AWS Engineer (2014/3~) 好きなAWSの機能 Auto Scaling

JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

Page 3: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

Shota Mitsui (25) @mitchang 2007 日本電子専門学校

2010 某ソフトウェアベンダ

2014 Serverworks

JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

Page 4: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

Shota Mitsui (25) @mitchang !

趣味:オンラインゲーム 本業は黒魔道士説

JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

Page 5: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

※PR

Page 6: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31
Page 7: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

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

RDS

完全マネージド型で、セットアップ、運用、拡張が 容易なリレーショナル・データベースサービス

DynamoDB

Redshift

ElastiCache

完全マネージド型、高速なパフォーマンス、シームレスな拡張性と信頼性を持つNoSQLサービス

高速で管理も万全なペタバイト規模の データウェアハウスサービス

完全マネージド型、セットアップ、運用、拡張が 容易なキャッシュサービス

Page 8: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

RDS

Page 9: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

・RDSの概要

・RDSの可用性、信頼性

・RDSの運用、メンテナンス

・RDSのセキュリティ

・RDSのカスタマイズ

・RDSの料金体系

Agenda

Page 10: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

・RDSの概要

・RDSの可用性、信頼性

・RDSの運用、メンテナンス

・RDSのセキュリティ

・RDSのカスタマイズ

・RDSの料金体系

Agenda

Page 11: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

Relational Database Service

Page 12: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

_人人人人人人人人人_ > いわゆるRDBMS < ‾Y^Y^Y^Y^Y^Y^Y‾

ひとことで表すと

Page 13: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

_人人人人人人人人人_ > 超すごいRDBMS < ‾Y^Y^Y^Y^Y^Y^Y‾

もう少し丁寧に言うと

Page 14: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

典型的な利用ケース(Webシステム)

Page 15: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

Amazon RDSとは

構築 数クリック or APIでDBサーバを操作  EC2と同様、初期費用なしの従量課金 !

設定 AWS上で設定変更が可能

Page 16: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

Amazon RDSとは

移行4種類のエンジンをサポート

MySQL, PostgreSQL Oracle, Microsoft SQL Server !

 既存アプリケーションの変更ほぼ不要 (エンドポイントの変更のみ) mytestdb.xxxxx.ap-northeast-1.rds.amazonaws.com

Page 17: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

Amazon RDSとは

運用 可用性向上のための機能 パフォーマンス向上のための機能が豊富 障害検出/フェイルオーバ/自動復旧  モニタリングが楽 パッチ、スケーリングが楽

Page 18: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

自前構築 vs EC2 vs RDS

オンプレ on EC2 RDS

Page 19: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

インスタンスタイプいろいろ

※MySQL5.6, PostgreSQLのみサポート

Page 20: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

DBエンジンMySQL 5.1.x、5.5.x、5.6.xを選択可能 PostgreSQL 9.3.xのみ選択可能 Oracle 11g R2 (11.2.0.x) BYOL:SE1, SE, EEをサポート ライセンス込み:SE1のみ MS SQL Server 2008 R2, 2012を選択可能 BYOL:Standard Edition, Enterprise Edition ライセンス込み:Express, Web Edition, Standard Edition

Page 21: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

・RDSの概要

・RDSの可用性、信頼性

・RDSの運用、メンテナンス

・RDSのセキュリティ

・RDSのカスタマイズ

・RDSの料金体系

Agenda

Page 22: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

Multi-AZ Deployment

バックアップ・リストア

RDSの可用性、信頼性

Page 23: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

RDSの可用性

可用性 サービスを継続する能力 たとえば 災害が発生したり サーバに障害が発生したり 掃除のおばちゃんがコンセント抜いたり

Page 24: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

Multi-AZ Deployment

Page 25: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

Availability Zone

Page 26: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

RDSのアーキテクチャ

Page 27: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

Multi-AZ Deployment

Page 28: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

RDSの可用性

Multi-AZ Deployment ・異なるAvailability Zoneへの自動レプリケーション ・同期レプリケーション+自動フェイルオーバ アプリ側の変更なし!(エンドポイントは不変) ・フェイルオーバ発生のタイミング パッチ適用などの計画停止 インスタンスやハイパーバイザの障害 手動rebootによる強制フェイルオーバ

Page 29: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

Multi-AZ Deployment ・異なるAvailability Zoneへの自動レプリケーション ・同期レプリケーション+自動フェイルオーバ アプリ側の変更なし!(エンドポイントは不変) ・フェイルオーバ発生のタイミング パッチ適用などの計画停止 インスタンスやハイパーバイザの障害 手動rebootによる強制フェイルオーバ

Page 30: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

Backup &

Restore

Page 31: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

バックアップとリストア

自動バックアップ • RDSの標準機能 • スナップショット+トランザクションログをS3に保存 • 一日一回自動で取得 • 実行される時間枠(Backup Window)を指定可能

• 手動 (Management Console or API) での取得も可

Page 32: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

バックアップとリストア

リージョン間コピー スナップショットを別リージョンにコピー可能 別リージョンでのインスタンス起動も可能 !

!

!

Page 33: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

バックアップとリストア

2種類のリストア方法 ・リストア 指定したスナップショットからインスタンス作成 ・Point-in-time Recovery 指定した時間の状態のインスタンスを作成 Backup Retention Periodが1日なら 直近5分~24時間前まで任意の時間を指定可

Page 34: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

Multi-AZ Deploymentワンクリックで簡単レプリケーションフェイルオーバもできるよ!

バックアップとリストア自動スナップショット、世代管理スナップショットからの復元、ロールバックも簡単

RDSの可用性、信頼性

Page 35: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

・RDSの概要

・RDSの可用性、信頼性

・RDSの運用、メンテナンス

・RDSのセキュリティ

・RDSのカスタマイズ

・RDSの料金体系

Agenda

Page 36: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

自動メンテナンスログアクセス

RDSの運用、メンテナンス

エンドポイント切り替えイベント通知モニタリング

Page 37: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

Auto Maintenance

Page 38: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

RDSのメンテナンス

基本的に自動でやってくれる ・メンテナンスウィンドウ(時間枠)を指定しておく 時間内に数分程度(メンテ内容に依存) ・パッチを自動適用 ・マイナーバージョンアップデート(任意設定) ・再起動が発生する場合もある !

・毎週必ずメンテがあるわけではない 数ヶ月に一度程度

Page 39: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

RDSのメンテナンス

Page 40: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

RDSのメンテナンス

考慮すべきこと メンテナンスウィンドウはトラフィックの少ない曜日や時間を指定しておく アプリ側でDBアクセスできない時用のエラーページを用意しておく

Page 41: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

Log Access

Page 42: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

RDSのログアクセス

Page 43: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

RDSのメンテナンス

Page 44: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

RDSのメンテナンス

取得できるログ種別 エンジン ログ種別 保持期間

MySQL Error, (Slow Query, General) 24時間(固定)

PostgreSQL - 7日間

Oracle Alert, Trace 7日間

SQL Server Error, Agent, Trace 7日間

Page 45: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

Endpoint Rename

Page 46: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

RDSのエンドポイント切り替え

エンドポイント(FQDN)を切り替える !

production.xxx.amazonaws.com ↓

old.xxx.amazonaws.com

Page 47: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

役立つケース 障害からの復旧 リードレプリカのプロモート 大規模変更からの切り戻し

!

実施方法  Management ConsoleやAPIから実行可能  DB Identifierを変更し、Apply Immediately

RDSのエンドポイント切り替え

Page 48: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

切り替えても引き継ぐもの インスタンスのTag スナップショット マスターとリードレプリカの関係 !

引き継げないもの  CloudWatchのMetricName  DB EventsのIdentifier

RDSのエンドポイント切り替え

Page 49: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

Page 50: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

注意点 DNS切り替えには数分程度時間がかかる 同一リージョン内で名前の重複はできない (別名でインスタンス作ってから切り替える)

RDSのエンドポイント切り替え

Page 51: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

Event Notification

Page 52: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

RDSイベント通知

RDS上で発生したイベントを通知 RDSインスタンスの障害や再起動の発生 バックアップやリストアの開始/終了 メンテナンスの開始/終了 RDSインスタンスやパラメータグループの設定変更 など40種類以上のイベント Amazon SNS連携

アプリケーションとの連携も容易

Page 53: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31
Page 54: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

Monitoring

Page 55: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

RDSのモニタリング

CloudWatchを使おう! RDSインスタンスの各種Metricを取得可能 1分間隔で情報が更新される CPU使用率、空きメモリ、コネクション数、etc !

特定条件でアラーム発動 任意の閾値を設定して通知が可能

Page 56: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31
Page 57: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

・RDSの概要

・RDSの可用性、信頼性

・RDSの運用、メンテナンス

・RDSのセキュリティ

・RDSのカスタマイズ

・RDSの料金体系

Agenda

Page 58: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

VPC対応 VPC内部の任意のサブネットに起動可能 起動先サブネットをSubnet Groupとして事前に定義 DBインスタンスのIP指定はできない !

Classic … VPCの外側で動かすケース

RDSのセキュリティ

Page 59: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

No more iptables アクセス制限はSecurity Groupで行う アクセス元をIPアドレス、グループ単位で許可 (例:SG”WebServer”からのアクセスのみ許可) 余談 VPC Security Group(基本的にこっち)と DB Security Group(Classic環境のみ)

RDSのセキュリティ

Page 60: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31
Page 61: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

・RDSの概要

・RDSの可用性、信頼性

・RDSの運用、メンテナンス

・RDSのセキュリティ

・RDSのカスタマイズ

・RDSの料金体系

Agenda

Page 62: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

Parameter Group DB設定をAWS上で管理 複数のDBインスタンスに一括適用可能

RDSのパラメータ変更

Page 63: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31
Page 64: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

スケールアップ / ダウン 後からインスタンスタイプを変更可能 要再起動。メンテナンスウィンドウでの自動再起動も

!

• Min : db.t1.micro (1vCPU, メモリ約600MB) • Max : db.cr1.8xlarge( 32vCPU, メモリ244GB) !

!

RDSのパフォーマンス向上

$ aws rds modify-db-instance \ --db-instance-identifier test-db \ --db-instance-class db.cr1.8xlarge \ --apply-immediately

Page 65: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

ストレージサイズ 後からストレージサイズの増減も可

!

ストレージサイズが大きくなると自動的に複数の ボリュームをストライプするよう構成される !

→ より大きいストレージサイズを指定することでパフォーマンスが向上する

RDSのパフォーマンス向上

Page 66: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

Read Replica

Page 67: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

リードレプリカ

Page 68: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

リードレプリカとは

読み込み専用のコピー ・MySQL固有のレプリケーション機能を利用 ・読み込みパフォーマンスの向上 トータルでのスループット増を期待できる ・多層リードレプリカ構成も可 ・エンドポイントは個別なのでMySQL Proxyなどで対応

Page 69: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

リードレプリカとは

AWSならではの機能 ・リードレプリカごとにインスタンスサイズ設定可 ・リードレプリカをマスターに昇格させることも可 ・Multi-AZのフェイルオーバ時、参照先は自動で切替わる

Page 70: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

リードレプリカ

Page 71: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31
Page 72: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

PIOPS

Provisioned IOPS ・IOPS(I/O per second)を予め指定できる機能 ・高速で、かつ一定のIOPSを保証する ・予測可能で、かつ大量のIOが発生する場合に有利 ・別料金

Page 73: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

・RDSの概要

・RDSの可用性、信頼性

・RDSの運用、メンテナンス

・RDSのセキュリティ

・RDSのカスタマイズ

・RDSの料金体系

Agenda

Page 74: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

でも お高いんでしょう?

Page 75: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

基本的に 従量課金

Page 76: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

RDSの料金体系

DBインスタンスの起動時間($/hour) ・EC2同様、インスタンスタイプによって変動 ・Multi-AZスレーブ、リードレプリカも課金対象 ・SQL Server、Oracleはライセンス込みかBYOLかで変動

Page 77: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

RDSの料金体系

ストレージ($/GB/Month) ・容量:標準ストレージ or PIOPS ・I/O数:リクエスト数(標準)or IOPS(PIOPS) ・バックアップストレージサイズ ($/GB/Month) !

ネットワーク ・インターネット経由で送出したデータ総量(GB/Month)

Page 78: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

もうひとつの料金体系

オンデマンドインスタンス ・つまるところ従量課金 !

リザーブドインスタンス ・年単位(1年、3年)の予約購入 ・オンデマンドと比べて大幅割引(最大70%ぐらい) ・購入時にリージョン、DBエンジン、インスタンスタイプ、期間を指定

Page 79: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

無料試用枠あります

Page 80: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

AWS Simple Monthly Calculator

Page 81: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

・RDSの概要 AWS上で展開できるRDBMS 任意のインスタンスタイプ、ストレージ容量を選択可 4種類のDBエンジン

Management Console or APIで操作可能

大体のことはAWSがよしなにやってくれる

Goal

Page 82: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

自前構築 vs EC2 vs RDS

オンプレ on EC2 RDS

Page 83: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

・RDSの可用性、信頼性 Multi-AZ Deployment ワンクリックで複数のゾーンにスレーブを展開 自動バックアップとリストア ・スナップショットからインスタンス作成 ・Point-in-time Recovery

指定した時間の状態のインスタンス作成

Goal

Page 84: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

・RDSの運用、メンテナンス 自動メンテナンス 指定した時間枠で自動パッチ適用 ログアクセス Management ConsoleやAPIでログの確認が可能 エンドポイント切り替え 障害時の系切り替え、アップデート時の切り戻し モニタリング CloudWatchを使えば1分間隔で監視可

Goal

Page 85: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

・RDSのセキュリティ VPC対応

VPCサブネット内に起動し、外からのアクセスを遮断

!

Security Groupで管理

VPC Security Groupをそのまま使える

グループ単位でのアクセス許可

!

Goal

Page 86: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

・RDSのカスタマイズ Parameter Group AWS上でDB設定を管理

複数インスタンスに一括適用可 スケールアップ/ダウン 後からインスタンスサイズを変更できる(要再起動) リードレプリカ 読み込み専用のコピーを作ってパフォーマンス向上

PIOPS ストレージのIOPSを一定となるよう指定可(別料金)

Goal

Page 87: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

・RDSの料金体系 オンデマンドインスタンス 基本的にインスタンスタイプごとの従量課金

DBエンジン、ストレージオプションによって変化

!リザーブドインスタンス 一括払いで年単位の予約購入、割安

購入時にスペック決めたら変更できない

Goal

Page 88: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

_人人人人人人人人人_ > 超すごいRDBMS < ‾Y^Y^Y^Y^Y^Y^Y‾

つまり

Page 89: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

Shota Mitsui (@mitchang) Serverworks

JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

_人人人人人人人人人_ >ありがとうございました< ‾Y^Y^Y^Y^Y^Y^Y‾

Page 90: Database on AWS @JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31

懇親会 or Webでも twitter @mitchang

#jawsug

Shota Mitsui Serverworks