少しお久しぶりです。PS課佐竹です。
昔、データベースを保守していた経験から、RDSは興味深いサービスの1つです。
ここ最近、興味深いアップデートが3つありましたのでご紹介いたします。
- 1. Amazon RDS for Oracle、最大 32TiB のデータベースストレージサイズをサポート
- 2. Amazon RDS for MySQL, MariaDB and PostgreSQL が 最大 32TiB のサイズをサポート
- 3.Amazon RDS でマルチ AZ データベースインスタンスの停止および起動が可能に
- まとめ
1. Amazon RDS for Oracle、最大 32TiB のデータベースストレージサイズをサポート
公式アナウンスページは以下になります。
https://aws.amazon.com/jp/about-aws/whats-new/2018/10/amazon-rds-for-oracle-now-supports-32tib/
2018年10月11日にまずはRDS for Oracleが最大 32 TiBのストレージに対応しました。
32TiBの拡張に最も早く対応したのが、Oracleでした。Oracle Databaseは使用用途によっては巨大なサイズになることも多く、恐らくそのようなユーザ様からのご要望が多い状況だったのだと考えられます。
いままで、16 TiBが壁となりRDSに移行できなかったユーザ様には朗報でしょう。
ストレージサイズ変更時の注意点
まず、ストレージサイズの変更は、「増加」させることはできますが「減少」させることはできません。
またこのアップデートにて対応したのは、General Purpose SSDとProvisioned IOPSの2つで、Magnetic storageでは対応しておりません。
加えて、変更後は次の変更まで6時間待つ必要があります。これはEC2のEBS VolumeのModifyと同じ制限であり、RDSの裏側でも同じ機能が利用されているのだと推測できます。
最後に、Oracleには「表領域」という概念がありますため、ストレージを拡張するだけでは正しく利用ができません点も注意が必要です。
念のために補足しますと、RDSのストレージサイズの増加は、EBSのModifyと同じくRDSの機能停止(シャットダウン)を伴いません。ただ以下のような例外がありますので、念のため記載をいたします。
SQL Server DB インスタンスを所有していて、2017 年 11 月からストレージ構成に修正を加えていない場合には、割り当てるストレージを増加するために DB インスタンスを編集するときに数分間の短い停止が発生することがあります。 https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html
2. Amazon RDS for MySQL, MariaDB and PostgreSQL が 最大 32TiB のサイズをサポート
公式アナウンスページは以下になります。
https://aws.amazon.com/jp/about-aws/whats-new/2018/11/amazon-rds-mysql-mariadb-postgresql-32tib-support/
2018年11月7日に、追ってRDS for MySQL, MariaDB and PostgreSQLも32 TiBのサイズをサポートするようになりました。恐らく、RDS for Oracleで実装した機能を横展開し実装するのに1ヶ月程度時間がかかったのではと推測しております。
このアナウンスにより、残りRDS for SQL Serverを除くすべてのEngineが、32 TiBの対応を完了しました。
MySQLなどで32 TiBに迫るDatabaseに出会ったことは人生で一度もないのですが、そのような巨大なMySQLなどを運用されたい方には、吉報となるのではと思います。
ただ、MySQLとPostgreSQLには元より Aurora という選択肢があり、Auroraであれば容量が64 TiBまで自動的に増加するため、回避策として選択が可能でした。しかしMariaDB対応のAuroraは存在しません。このアップデートで一番うれしいのはMariaDBを利用している方なのかも知れないですね。
マネジメントコンソールで確認してみた
以下、実際にマネジメントコンソールから確認を行いました。
こちらはGeneral Purpose SSDのサイズ変更画面で、選択可能なサイズが32768 GiBとなっておりました。
※AWSのストレージはギビバイト指定となります
こちらはProvisioned IOPSの画面で、合わせて表記が変更されていました。
3.Amazon RDS でマルチ AZ データベースインスタンスの停止および起動が可能に
公式アナウンスページは以下になります。
https://aws.amazon.com/jp/about-aws/whats-new/2018/10/amazon-rds-stop-and-start-of-multi-az-instances/
RDSがまさかのInstance停止に対応したのは、2017年6月1日でした。そこから1年以上の時間が過ぎ、「Multi-AZのRDSは停止できない」という認識がAWS界隈に染みついてしまっておりましたが、ついに、2018年10月29日にMulti-AZも停止に対応しました。
Multi-AZにするようなRDSは、24/365で常に稼働することが多いであろうため、それほど停止の要望はないので実装が先延ばしにされているのではないか?と考えていたのですが、ここにきて実装されるということは一定数の需要があったのだと推測されます。
シナリオとしては、会計や人事等のバックオフィス系のシステムを、年末年始には停止するなどしてコストを削減する、となるでしょうか。
ただ多くのお客様はこのような場合にReserved Instanceを前もって購入されていることも多いので、あえて停止を行う必要は出ないとも考えられます。
注意点としては、本停止は今までと変わらず「最大7日間」の制限がありますので、7日以上連続して停止をしたい場合は一度Snapshotを作成してInstanceごと削除(Delete)するなどの対応が必要になってきます。
Auroraも停止できるようになりました
関連して、2018年9月24日にAurora クラスタも停止可能となっています。記事URLだけとなりますが、合わせてご紹介させて頂きます。
https://aws.amazon.com/jp/about-aws/whats-new/2018/09/amazon-aurora-stop-and-start/
RDSの停止における制限のまとめ
念のため、お客様からしばしば質問があります、DB インスタンス停止における今時点の制限をまとめます。
- リードレプリカが含まれているDB インスタンスは停止できません。
- リードレプリカである DB インスタンスは停止できません。
- Amazon RDS for SQL Server はマルチ AZ 配置(ミラーリングを利用)の場合において停止できません。
- 停止された DB インスタンスをModifyすることはできません。
- 停止された DB インスタンスに関連付けられているオプショングループを削除することはできません。
- 停止した DB インスタンスに関連付けられているパラメータグループを削除することはできません。
- 上記4,5,6はDB インスタンスを開始してから実行する必要があります。
本内容は、以下のURLより内容を転載、一部表記を変更しております。
https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_StopInstance.html
まとめ
今回、以下の3つのUpdateについてご紹介いたしました。
- RDS for Oracle が最大32 TiBのストレージを選択できるようになりました
- RDS for MySQL, MariaDB and PostgreSQL も最大32 TiBのストレージを選択できるようになりました
- Multi-AZのRDSが停止に対応しました
振り返ってみると、Amazon RDS for SQL Serverは、少々置いてけぼり感がありますね。いつか追い付いてくるのでしょうか。
本記事が、何かのお役に立てば幸いです。
佐竹 陽一 (Yoichi Satake) エンジニアブログの記事一覧はコチラ
マネージドサービス部所属。AWS資格全冠。2010年1月からAWSを利用してきています。2021-2022 AWS Ambassadors/2023-2024 Japan AWS Top Engineers/2020-2024 All Certifications Engineers。AWSのコスト削減、最適化を得意としています。