【レポート】ここ1年のAmazon RDS / Aurora のアップデートを一気にキャッチアップ #dbts2020

2020.11.19

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、崔です。

現在、2020年10月27日〜12月10日の期間で開催されているdb tech showcase ONLINE 2020 のセッション「ここ1年のAmazon RDS / Aurora のアップデートを一気にキャッチアップ」を本日視聴しましたので、レポートをお届けします。

セッション情報

概要

多くの新機能が追加されているAmazon RDS / Auroraですが、ここ1年くらいのアップデートを一気に振り返ってみます。

すでにAmazon RDS / Auroraをご利用中の方も、昔の Amazon RDS / Auroraの情報しかお持ちでない方もより便利になった機能を知ることできます。

また、個人的に注目しているアップデートに関しては少し深く紹介する予定です。

スピーカー

アマゾン ウェブ サービス ジャパン株式会社
技術統括本部 / シニアソリューションアーキテクト
新久保 浩二 様

アジェンダ

  • RDS / Auroraのアーキテクチャ概要
  • RDS / Auroraの2020年を振り返り
    • RDS / AuroraのS3とのデータ連携機能の強化
    • Aurora Global Database 関連の機能拡張
    • RDS の商用データベースエンジンにレプリカの選択肢が増加
    • Amazon RDS Proxy のリリース
    • RDS / Aurora のストレージサイズの拡張性が向上
    • RDS / Aurora でいくつか運用が便利になる機能が追加
    • RDS のメジャーバージョンの廃止に関して

RDS / Aurora のアーキテクチャ概要

  • RDS は商用DB および OSSDB に対応している
    • Multi-AZ で可用性を確保
    • 非同期のリードレプリカを複数配置可能
  • Aurora は MySQL と PostgreSQL 互換の DB
    • RDS との大きな違いはストレージ
    • 複数の AZ を跨いで 6つのコピーをストレージに持つ
    • ライターノードやリーダーノードを立てることができる
    • 可用性確保のためにリーダーを立てる

RDS / Auroraの2020年を振り返り(10/31時点)

RDS で74個、Aurora で63個の新機能および機能拡張があった。

RDS / AuroraのS3とのデータ連携機能の強化

  • RDS / AuroraのスナップショットをS3にエクスポート
    • データベースのデータをデータレイクに統合する場合の従来の方法
      • リードレプリカに対してクエリを発行して、S3 に持っていく方法
      • プライマリーにアクセスするとパフォーマンスに影響するので、レプリカを用意する必要があった
      • データを S3 に連携したいというケースで、Glue などの別サービスを必要とせずに簡単に実施したい
    • 今回のスナップショットを S3 にエクスポートする場合
      • スナップショットを直接 parquet形式で S3 にエクスポート可能に
      • シンプルなユースケースにおいて、ETL の必要性がなくなった
      • スナップショット全体やスキーマ、テーブルなどが指定可能

Aurora Global Database 関連の機能拡張

  • Aurora Global Database の概要
    • リージョン障害に対する DR目的
    • クロスリージョンレプリカのレプリカラグを小さく対応するための Global Database
    • 5つのセカンダリーリージョンまでサポート
  • Aurora Global Database Managed RPO
    • Aurora PostgreSQL のみサポート
    • 指定したレプリカラグを超え、データ欠損が大きくなりそうな場合、プライマリーで実行されたトランザクションを一旦止め、レプリカラグが収まるまで止めたままにする。
    • 収まった段階でトランザクションを再開する
  • Aurora Global Database Write Forwarding
    • Aurora MySQL 5.7 のみサポート
    • セカンダリークラスタへの接続で、書き込みを出来るように見せる
    • 書き込みトランザクションを実行しようとすると、書き込み転送をプライマリーに実行する

RDS 商用データベースエンジンにレプリカの選択肢が増加

  • RDS for SQL Server のリードレプリカ対応
    • 読み取りワークロードの分散
    • 最大5つのリードレプリカ
    • 非同期レプリケーション
    • 複数 AZ に配置可能
    • Enterprise Edition のみサポート
    • マルチ AZ/リードレプリカでのレプリカの違い
      • リージョン内の高可用性(Multi-AZ)と読み込みスケーラビリティ(リードレプリカ)の違い
  • RDS for Oracle によるマウントモードでのレプリカ
    • Oracle レプリカに2つのモード
      • リードレプリカとマウントモードでのレプリカ
      • Enterprise Edition のみサポート。リードレプリカは Active Data Guard オプション必要
    • Oracle のマウントモードなので接続はできない
    • リージョン間の災害対策

Amazon RDS Proxy のリリース

  • サーバーレスアプリケーションなどのモダンアプリケーションは大量の DB接続、短期間での接続の開閉リクエストを要求する場合があり、データベースも対応が求められている
  • Amazon RDS 向けの高可用性フルマネージド型データベースプロキシ
  • アプリケーションのスケーラビリティやデータベース障害に対する回復力と安全性の向上を実現
    • 接続プーリング
    • シームレスフェイルオーバー
    • アプリケーションセキュリティの向上
      • IAM や Secrets Manager との連携

RDS / Auroraのストレージサイズの拡張性が向上

  • RDS は64TB まで(r5系でも可能に)、Aurora は128TBまで拡張可能に
    • SQL Server は16TBまで
  • Aurora ストレージの動的なサイズ変更
    • DROP TABLE、DROP DATABASE、TRUNCATE TABLEなどにより空き領域となった部分は、非同期でリサイズされる

RDS / Auroraでいくつか運用が便利になる機能が追加

  • Aurora PostgreSQL のインプレースメジャーアップグレード可能に
    • メジャーバージョンアップ時に別クラスタを立てて、pg_dump等で移行するといったことが不要に
  • RDS for PostgreSQL のリードレプリカのメジャーアップグレード
    • 従来は、リードレプリカを削除して、プライマリーのメジャーアップグレード後にリードレプリカの再作成が必要だった
    • 今回、レプリカ側も同時にアップグレードが可能に
  • RDS for Oracle の AWRレポートの取得が簡単に
    • AWRレポートもプロシージャを利用して取得できるようになった

RDSのメジャーバージョンの廃止に関して

  • RDS for PostgreSQL のメジャーバージョン廃止に関して
    • RDS for PostgreSQL 9.5の廃止
      • 2021/2/16 新規作成不可に。以降のメンテナンスウィンドウでアップグレード実施
  • RDS for MySQL、MariaDB のメジャーバージョン廃止に関して
    • RDS for MySQL 5.5の廃止
    • RDS for MariaDB 10.0,10.1の廃止
  • RDS for Oracle のメジャーバージョンの廃止に関して
    • Oracle 11.2.0.4の廃止
    • LI と BYOL でタイムラインが違う
    • Oracle 18cの廃止
      • 2021/6 廃止予定

まとめ

  • RDS / Auroraでは、可用性、拡張性、運用性、パフォーマンス向上などを継続実施
    • RDS / Auroraとしてサービスの基本的な部分を押さえつつ、新機能や機能拡張をキャッチアップ
  • マネージドサービスとしてサポートタイムラインを確認して、計画な運用を

2週間後から始まる re:Invent でも、RDS / Aurora 関連の新機能・機能拡張が発表されるかと思うと、待ち遠しいですね。