Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

AlibabaCloud RDS お得説!!!

More than 1 year has passed since last update.

なぜこの記事を書こうと思ったか

私は、普段AWSやAzure、AlibabaCloudといったパブリッククラウドを扱っています。
クラウドのプロダクトは、冗長構成可能なものが多く存在しますが、
最近使用したAlibabaCloudのRDSで面白いことが起きたので、同機能をもつAWSのプロダクトと比べてみました。

RDSはマルチAZ配置が可能で、マルチAZ配置にすることで、震災などでAZが潰れても、異なるAZにあるRDSが即座に立ち上がり、運用を継続することができます。

しかし、AlibabaCloudで、サブネットを1つしか作成していないにも関わらずRDS作成時にマルチAZ配置の選択ができました。この時、 "マルチAZ配置" の、"マルチAZ" がどこなのかが気になって、この記事を書くことにしました。

1つのサブネットしかないのにマルチAZ配置ができた

マルチAZとは、複数のAZにまたがり冗長構成を組むことで、1つのAZが災害などで稼働できなくなっても即座に他のAZにあるシステムが立ち上がり、運用を継続できる。という優れものです。

今回のようにサブネットが1つしかないと、冗長構成を取ったところで、防げる障害は限られているのではないでしょうか?今回の場合、マルチAZとはどこを指しているのでしょう?

今回はAWSのRDSとの仕様の違いを明らかにしながら、1つのサブネットでのマルチAZ配置について考えていきます。

AWSのRDS

サービス概要

クラウド上のリレーショナルデータベースのセットアップ、オペレーション、スケールが簡単になります。ハードウェアのプロビジョニング、データベースのセットアップ、パッチ適用、バックアップなどの時間がかかる管理タスクを自動化しながら、コスト効率とサイズ変更可能なキャパシティーを提供します。これにより、アプリケーションに集中することができ、必要とされる高速なパフォーマンス、高可用性、セキュリティ、互換性をアプリケーションに実装できるようになります。

AlibabaCloudのRDSと同様にマルチAZの配置が可能です。
しかし、値段が高い
シングルAZ/マルチAZ選択ができるが、マルチAZはシングルAZの約倍の値段がかかるようです。

AlibabaCloudのApsaraDB for RDS

サービス概要

ApsaraDB for RDS は、信頼性に優れ、拡張可能なマネージドデータベースサービスです。RDS は MySQL、SQL Server、PostgreSQL 上ですぐに使用できるサービスです。プロビジョニング、パッチ更新、バックアップ、リカバリ、障害検出、修復などの定型的なデータベースタスクを実行します。
マルチゾーンデプロイメントオプションを選択すると、ApsaraDB for RDS が異なるゾーンにまたがって自動でデータをレプリケートし、実運用の可用性と信頼性を高めます。RDS サービスはマスターデータベースからの自動フェールオーバーを確実に実施します。

AlibabaCloudではシングルAZでもマルチAZでも値段は変わらない
ので、可用性を高めるためにとりあえずマルチAZにするのがお得ですね!

実際にRDSを作成してみた

マルチAZ配置は、異なるゾーン内に、2つ以上のサブネットを作成する必要がある
という認識のもと、サブネットが1つだった場合はどのような警告が出るのか、AWSとAlibabaCloudで比較してみました。

AWS

na_7_san_vpcにna_7_san_sub1というサブネットを作成します。
aws_vpc_1.png
aws_vpc_2.png
aws_vpc3.png
aws_vpc4.png
aws_vpc5.png

na_7_san_vpc内にRDSを立てていきます。

aws6.png
aws7.png

作成をsubmitさせようとすると以下のような警告が出ました。

aws8.png

やはり、マルチAZ配置にする場合複数のサブネットが必要になるようです。
では、同じAZ内に複数サブネットを作成した場合はどうでしょうか?
同じAZ(ap-northeast-1a)にもう1つサブネットを作成し、RDSの作成をしてみます。
aws9.png

次は英語でこのような警告が出ました。
サブネットは最低2つのAZを網羅する必要がある。と書いてあります。

先ほどの警告と合わせてまとめると、
AWSのRDSマルチAZ配置選択可能なのは、2つ以上のサブネットが存在し、且つそのサブネットが2つ以上のAZに存在する必要があるという作成ルールがあります。

3つ以上のAZを網羅し、3つのサブネットを作成した場合、RDSマルチAZ配置は成功しましたが、使用する2つのAZは指定することができませんでした。

AlibabaCloud

VPC内にサブネット1つ作成し、RDSをマルチAZ配置選択しても、問題なく作成できました。
サブネット1つなのに、どこで冗長構成を取っているのでしょうか。
ali10.png
Ali11.png
Ali12.png

Ali13.png

考えられるのは3パターン

AlibabaCloudのRDSにおいて、2つのゾーンにサブネットが存在していなくても
マルチAZ配置ができた理由として以下の3つが考えられます。

マルチAZ配置を選択した時点で別ゾーンにサブネットが作成され、マルチAZ配置されている
マルチAZ配置を選択した時点で裏で自動的に別AZにサブネットが出来上がり、AZが潰れてしまった場合でも運用を継続することができている可能性もあります。シングルAZとマルチAZで値段が変わらない上に、AZ障害にも耐えられるのであれば断然AWSのRDSよりもお得なプロダクトと言えると思います。


1つのAZ内でRDSが冗長構成を組み、配置されている
同一AZ内で冗長構成が取られている可能性があります。震災などでAZが潰れてしまった場合については運用を継続できませんが、AZ内での物理障害程度であれば可用性を高めることができます。


実は冗長化されてない
マルチクラウドが間違えて選択できてしまっているだけという可能性が考えられます。

最後に

AlibabaCloud RDSのマルチAZの真相は公式のドキュメントにも記載がなく、
分からずじまいでした。
ご存知の方は情報をコメント欄で教えていただけると嬉しいです。

nanaming
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away