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

3,289 views
3,128 views

Published on

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

Published in: Technology
0 Comments
20 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,289
On SlideShare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
21
Comments
0
Likes
20
Embeds 0
No embeds

No notes for slide

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

  1. 1. Database on AWS Shota Mitsui@Serverworks JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31
  2. 2. Shota Mitsui (0x19) @mitchang Serverworks (Tokyo) AWS Engineer (2014/3~) 好きなAWSの機能 Auto Scaling JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31
  3. 3. Shota Mitsui (25) @mitchang 2007 日本電子専門学校 2010 某ソフトウェアベンダ 2014 Serverworks JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31
  4. 4. Shota Mitsui (25) @mitchang ! 趣味:オンラインゲーム 本業は黒魔道士説 JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31
  5. 5. ※PR
  6. 6. AWS提供のデータベースサービス RDS 完全マネージド型で、セットアップ、運用、拡張が 容易なリレーショナル・データベースサービス DynamoDB Redshift ElastiCache 完全マネージド型、高速なパフォーマンス、シーム レスな拡張性と信頼性を持つNoSQLサービス 高速で管理も万全なペタバイト規模の データウェアハウスサービス 完全マネージド型、セットアップ、運用、拡張が 容易なキャッシュサービス
  7. 7. RDS
  8. 8. ・RDSの概要 ・RDSの可用性、信頼性 ・RDSの運用、メンテナンス ・RDSのセキュリティ ・RDSのカスタマイズ ・RDSの料金体系 Agenda
  9. 9. ・RDSの概要 ・RDSの可用性、信頼性 ・RDSの運用、メンテナンス ・RDSのセキュリティ ・RDSのカスタマイズ ・RDSの料金体系 Agenda
  10. 10. Relational Database Service
  11. 11. _人人人人人人人人人_ > いわゆるRDBMS <  ̄Y^Y^Y^Y^Y^Y^Y ̄ ひとことで表すと
  12. 12. _人人人人人人人人人_ > 超すごいRDBMS <  ̄Y^Y^Y^Y^Y^Y^Y ̄ もう少し丁寧に言うと
  13. 13. 典型的な利用ケース(Webシステム)
  14. 14. Amazon RDSとは 構築 数クリック or APIでDBサーバを操作  EC2と同様、初期費用なしの従量課金 ! 設定 AWS上で設定変更が可能
  15. 15. Amazon RDSとは 移行
 4種類のエンジンをサポート MySQL, PostgreSQL Oracle, Microsoft SQL Server !  既存アプリケーションの変更ほぼ不要 (エンドポイントの変更のみ) mytestdb.xxxxx.ap-northeast-1.rds.amazonaws.com
  16. 16. Amazon RDSとは 運用 可用性向上のための機能 パフォーマンス向上のための機能が豊富 障害検出/フェイルオーバ/自動復旧  モニタリングが楽 パッチ、スケーリングが楽
  17. 17. 自前構築 vs EC2 vs RDS オンプレ on EC2 RDS
  18. 18. インスタンスタイプいろいろ ※MySQL5.6, PostgreSQLのみサポート
  19. 19. 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
  20. 20. ・RDSの概要 ・RDSの可用性、信頼性 ・RDSの運用、メンテナンス ・RDSのセキュリティ ・RDSのカスタマイズ ・RDSの料金体系 Agenda
  21. 21. Multi-AZ Deployment バックアップ・リストア RDSの可用性、信頼性
  22. 22. RDSの可用性 可用性 サービスを継続する能力 たとえば 災害が発生したり サーバに障害が発生したり 掃除のおばちゃんがコンセント抜いたり
  23. 23. Multi-AZ Deployment
  24. 24. Availability Zone
  25. 25. RDSのアーキテクチャ
  26. 26. Multi-AZ Deployment
  27. 27. RDSの可用性 Multi-AZ Deployment ・異なるAvailability Zoneへの自動レプリケーション ・同期レプリケーション+自動フェイルオーバ アプリ側の変更なし!(エンドポイントは不変) ・フェイルオーバ発生のタイミング パッチ適用などの計画停止 インスタンスやハイパーバイザの障害 手動rebootによる強制フェイルオーバ
  28. 28. Multi-AZ Deployment ・異なるAvailability Zoneへの自動レプリケーション ・同期レプリケーション+自動フェイルオーバ アプリ側の変更なし!(エンドポイントは不変) ・フェイルオーバ発生のタイミング パッチ適用などの計画停止 インスタンスやハイパーバイザの障害 手動rebootによる強制フェイルオーバ
  29. 29. Backup & Restore
  30. 30. バックアップとリストア 自動バックアップ • RDSの標準機能 • スナップショット+トランザクションログをS3に保存 • 一日一回自動で取得 • 実行される時間枠(Backup Window)を指定可能 • 手動 (Management Console or API) での取得も可
  31. 31. バックアップとリストア リージョン間コピー スナップショットを別リージョンにコピー可能 別リージョンでのインスタンス起動も可能 ! ! !
  32. 32. バックアップとリストア 2種類のリストア方法 ・リストア 指定したスナップショットからインスタンス作成 ・Point-in-time Recovery 指定した時間の状態のインスタンスを作成 Backup Retention Periodが1日なら 直近5分∼24時間前まで任意の時間を指定可
  33. 33. Multi-AZ Deployment ワンクリックで簡単レプリケーション フェイルオーバもできるよ! バックアップとリストア 自動スナップショット、世代管理 スナップショットからの復元、ロールバックも簡単 RDSの可用性、信頼性
  34. 34. ・RDSの概要 ・RDSの可用性、信頼性 ・RDSの運用、メンテナンス ・RDSのセキュリティ ・RDSのカスタマイズ ・RDSの料金体系 Agenda
  35. 35. 自動メンテナンス ログアクセス RDSの運用、メンテナンス エンドポイント切り替え イベント通知 モニタリング
  36. 36. Auto Maintenance
  37. 37. RDSのメンテナンス 基本的に自動でやってくれる ・メンテナンスウィンドウ(時間枠)を指定しておく 時間内に数分程度(メンテ内容に依存) ・パッチを自動適用 ・マイナーバージョンアップデート(任意設定) ・再起動が発生する場合もある ! ・毎週必ずメンテがあるわけではない 数ヶ月に一度程度
  38. 38. RDSのメンテナンス
  39. 39. RDSのメンテナンス 考慮すべきこと メンテナンスウィンドウはトラフィックの少ない曜日 や時間を指定しておく アプリ側でDBアクセスできない時用のエラーページを 用意しておく
  40. 40. Log Access
  41. 41. RDSのログアクセス
  42. 42. RDSのメンテナンス
  43. 43. RDSのメンテナンス 取得できるログ種別 エンジン ログ種別 保持期間 MySQL Error, (Slow Query, General) 24時間(固定) PostgreSQL - 7日間 Oracle Alert, Trace 7日間 SQL Server Error, Agent, Trace 7日間
  44. 44. Endpoint Rename
  45. 45. RDSのエンドポイント切り替え エンドポイント(FQDN)を切り替える ! production.xxx.amazonaws.com ↓ old.xxx.amazonaws.com
  46. 46. 役立つケース 障害からの復旧 リードレプリカのプロモート 大規模変更からの切り戻し ! 実施方法  Management ConsoleやAPIから実行可能  DB Identifierを変更し、Apply Immediately RDSのエンドポイント切り替え
  47. 47. 切り替えても引き継ぐもの インスタンスのTag スナップショット マスターとリードレプリカの関係 ! 引き継げないもの  CloudWatchのMetricName  DB EventsのIdentifier RDSのエンドポイント切り替え
  48. 48.
  49. 49. 注意点 DNS切り替えには数分程度時間がかかる 同一リージョン内で名前の重複はできない (別名でインスタンス作ってから切り替える) RDSのエンドポイント切り替え
  50. 50. Event Notification
  51. 51. RDSイベント通知 RDS上で発生したイベントを通知 RDSインスタンスの障害や再起動の発生 バックアップやリストアの開始/終了 メンテナンスの開始/終了 RDSインスタンスやパラメータグループの設定変更 など40種類以上のイベント Amazon SNS連携 アプリケーションとの連携も容易
  52. 52. Monitoring
  53. 53. RDSのモニタリング CloudWatchを使おう! RDSインスタンスの各種Metricを取得可能 1分間隔で情報が更新される CPU使用率、空きメモリ、コネクション数、etc ! 特定条件でアラーム発動 任意の閾値を設定して通知が可能
  54. 54. ・RDSの概要 ・RDSの可用性、信頼性 ・RDSの運用、メンテナンス ・RDSのセキュリティ ・RDSのカスタマイズ ・RDSの料金体系 Agenda
  55. 55. VPC対応 VPC内部の任意のサブネットに起動可能 起動先サブネットをSubnet Groupとして事前に定義 DBインスタンスのIP指定はできない ! Classic … VPCの外側で動かすケース RDSのセキュリティ
  56. 56. No more iptables アクセス制限はSecurity Groupで行う アクセス元をIPアドレス、グループ単位で許可 (例:SG WebServer からのアクセスのみ許可) 余談 VPC Security Group(基本的にこっち)と DB Security Group(Classic環境のみ) RDSのセキュリティ
  57. 57. ・RDSの概要 ・RDSの可用性、信頼性 ・RDSの運用、メンテナンス ・RDSのセキュリティ ・RDSのカスタマイズ ・RDSの料金体系 Agenda
  58. 58. Parameter Group DB設定をAWS上で管理 複数のDBインスタンスに一括適用可能 RDSのパラメータ変更
  59. 59. スケールアップ / ダウン 後からインスタンスタイプを変更可能 要再起動。メンテナンスウィンドウでの自動再起動も ! • 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
  60. 60. ストレージサイズ 後からストレージサイズの増減も可 ! ストレージサイズが大きくなると自動的に複数の ボリュームをストライプするよう構成される ! → より大きいストレージサイズを指定することでパ フォーマンスが向上する RDSのパフォーマンス向上
  61. 61. Read Replica
  62. 62. リードレプリカ
  63. 63. リードレプリカとは 読み込み専用のコピー ・MySQL固有のレプリケーション機能を利用 ・読み込みパフォーマンスの向上 トータルでのスループット増を期待できる ・多層リードレプリカ構成も可 ・エンドポイントは個別なのでMySQL Proxyなどで対応
  64. 64. リードレプリカとは AWSならではの機能 ・リードレプリカごとにインスタンスサイズ設定可 ・リードレプリカをマスターに昇格させることも可 ・Multi-AZのフェイルオーバ時、参照先は自動で切替わる
  65. 65. リードレプリカ
  66. 66. PIOPS Provisioned IOPS ・IOPS(I/O per second)を予め指定できる機能 ・高速で、かつ一定のIOPSを保証する ・予測可能で、かつ大量のIOが発生する場合に有利 ・別料金
  67. 67. ・RDSの概要 ・RDSの可用性、信頼性 ・RDSの運用、メンテナンス ・RDSのセキュリティ ・RDSのカスタマイズ ・RDSの料金体系 Agenda
  68. 68. でも お高いんでしょう?
  69. 69. 基本的に 従量課金
  70. 70. RDSの料金体系 DBインスタンスの起動時間($/hour) ・EC2同様、インスタンスタイプによって変動 ・Multi-AZスレーブ、リードレプリカも課金対象 ・SQL Server、Oracleはライセンス込みかBYOLかで変動
  71. 71. RDSの料金体系 ストレージ($/GB/Month) ・容量:標準ストレージ or PIOPS ・I/O数:リクエスト数(標準)or IOPS(PIOPS) ・バックアップストレージサイズ ($/GB/Month) ! ネットワーク ・インターネット経由で送出したデータ総量(GB/Month)
  72. 72. もうひとつの料金体系 オンデマンドインスタンス ・つまるところ従量課金 ! リザーブドインスタンス ・年単位(1年、3年)の予約購入 ・オンデマンドと比べて大幅割引(最大70%ぐらい) ・購入時にリージョン、DBエンジン、インスタンスタイ プ、期間を指定
  73. 73. 無料試用枠あります
  74. 74. AWS Simple Monthly Calculator
  75. 75. ・RDSの概要 AWS上で展開できるRDBMS 任意のインスタンスタイプ、ストレージ容量を選択可 4種類のDBエンジン Management Console or APIで操作可能 大体のことはAWSがよしなにやってくれる Goal
  76. 76. 自前構築 vs EC2 vs RDS オンプレ on EC2 RDS
  77. 77. ・RDSの可用性、信頼性 Multi-AZ Deployment ワンクリックで複数のゾーンにスレーブを展開 自動バックアップとリストア ・スナップショットからインスタンス作成 ・Point-in-time Recovery 指定した時間の状態のインスタンス作成 Goal
  78. 78. ・RDSの運用、メンテナンス 自動メンテナンス 指定した時間枠で自動パッチ適用 ログアクセス Management ConsoleやAPIでログの確認が可能 エンドポイント切り替え 障害時の系切り替え、アップデート時の切り戻し モニタリング CloudWatchを使えば1分間隔で監視可 Goal
  79. 79. ・RDSのセキュリティ VPC対応 VPCサブネット内に起動し、外からのアクセスを遮断 ! Security Groupで管理 VPC Security Groupをそのまま使える グループ単位でのアクセス許可 ! Goal
  80. 80. ・RDSのカスタマイズ Parameter Group AWS上でDB設定を管理 複数インスタンスに一括適用可 スケールアップ/ダウン 後からインスタンスサイズを変更できる(要再起動) リードレプリカ 読み込み専用のコピーを作ってパフォーマンス向上 PIOPS ストレージのIOPSを一定となるよう指定可(別料金) Goal
  81. 81. ・RDSの料金体系 オンデマンドインスタンス 基本的にインスタンスタイプごとの従量課金 DBエンジン、ストレージオプションによって変化 ! リザーブドインスタンス 一括払いで年単位の予約購入、割安 購入時にスペック決めたら変更できない Goal
  82. 82. _人人人人人人人人人_ > 超すごいRDBMS <  ̄Y^Y^Y^Y^Y^Y^Y ̄ つまり
  83. 83. Shota Mitsui (@mitchang) Serverworks JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31 _人人人人人人人人人_ >ありがとうございました<  ̄Y^Y^Y^Y^Y^Y^Y ̄
  84. 84. JAWS-UG福岡 初心者向けクラウド勉強会 2014.05.31 懇親会 or Webでも twitter @mitchang #jawsug Shota Mitsui Serverworks

×