##なぜこの記事を書こうと思ったか
私は、普段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というサブネットを作成します。
na_7_san_vpc内にRDSを立てていきます。
作成をsubmitさせようとすると以下のような警告が出ました。
やはり、マルチAZ配置にする場合複数のサブネットが必要になるようです。
では、同じAZ内に複数サブネットを作成した場合はどうでしょうか?
同じAZ(ap-northeast-1a)にもう1つサブネットを作成し、RDSの作成をしてみます。
次は英語でこのような警告が出ました。
サブネットは最低2つのAZを網羅する必要がある。と書いてあります。
先ほどの警告と合わせてまとめると、
AWSのRDSマルチAZ配置選択可能なのは、2つ以上のサブネットが存在し、且つそのサブネットが2つ以上のAZに存在する必要があるという作成ルールがあります。
3つ以上のAZを網羅し、3つのサブネットを作成した場合、RDSマルチAZ配置は成功しましたが、使用する2つのAZは指定することができませんでした。
###AlibabaCloud
VPC内にサブネット1つ作成し、RDSをマルチAZ配置選択しても、問題なく作成できました。
サブネット1つなのに、どこで冗長構成を取っているのでしょうか。
##考えられるのは3パターン
AlibabaCloudのRDSにおいて、2つのゾーンにサブネットが存在していなくても
マルチAZ配置ができた理由として以下の3つが考えられます。
##最後に
AlibabaCloud RDSのマルチAZの真相は公式のドキュメントにも記載がなく、
分からずじまいでした。
ご存知の方は情報をコメント欄で教えていただけると嬉しいです。