見出し画像

AWS 大阪リージョンが一般使用可能になると何が美味しいのか考察してみた

こんばんは。ITコンサルのはじめです。

昨日AWSの大阪リージョンが一般利用を開始しましたね。
利用者にとって何がうれしいのかを少し解説していきたいと思います。

まずはAWS公式の発表から

自分で詳しく知りたい場合は以下のリンクからどうぞ。


AWSのリージョンとは

AWSのリージョンは全世界に25個あり、日本には2つあり、1つは東京で、もう一つは昨日一般使用可能になった大阪です。

画像2


リージョンが2つあると何が良いことがあるのかというと、リージョンが違うとAWSの障害の影響を切り離すことができます。つまり、東京リージョンで何か障害があっても大阪リージョンでは障害の影響を受けずにAWSを利用することができます。

画像3


【考察1】マルチリージョン対応は必要か?

AWSの障害って数年に1回くらい発生しますよね。大規模障害で記憶に新しいのが2019年8月23日 12時36分頃~18時30分頃に発生したEC2やRDSの障害。これは色々なWebサービスが障害を受けて一時サービス休止に追い込まれましたPayPay, mixi, hulu, ユニクロ, アクサ生命・・・相当数が影響を受けました。詳しくはこちらをどうぞ。この時もIT界隈ではマルチリージョン対応「も」必要だよねということが言われていました。

この、マルチリージョン対応「」と言っているのは、AWSのベストプラクティスはマルチAZ(Availability Zone)と言って、リージョンの中で複数のAZに渡って冗長構成を組むということを推奨していて、大概の障害はこの構成で何とかなるのです。実は2019年の大規模障害ではマルチAZで対応できていたサービスもあったし、対応できないケースもあったようです(使っているAWSサービスや運によって影響範囲が異なっていた模様)。

画像5

AWSの思想としては、「まずはマルチAZやってください」というスタンス。そして、本気でヤバイ事態(AWSの大規模障害や大地震とか)が必要なら複数リージョンで動く構成にしてね。ということなのです。
分かりやすく言うと、IPAが出している非機能要求グレード2018でいうところの「社会的影響が極めて大きいシステム」に該当するようなものはマルチリージョン対応が必須と言って良いと思います。逆に言うと、それ以外のシステムはそこまで考えなくても良いかもということ。RPOやRTOを鑑みて、S3にデータだけ逃がしておいて、東京リージョンが復活してから対応するとか、海外のリージョンで立ち上げ直すということも考えられます(もちろんシステム構成をCloudFormationとかでIaC対応しておかないといけないですけどね)。


【考察2】これまでと何が変わったのか?

大阪リージョンの公開によってよくなる点は大きく2つあります。

1.データを国外に出さなくて済む
2.NW遅延を抑えられる

それぞれを詳しく見ていきます。

1.データを国外に出さなくて済む

これまでの場合だと、災対環境を作ろうと思ったら海外のリージョン(例:バージニアリージョン)に作らないといけませんでした。しかし、非機能要件で「データは国内に配置しなければならない」という要件があった場合、これまでは災対環境を別リージョンに作ることができなかった(厳密には大阪リージョンを申請して許可されれば使えたが、申請制なので気軽には使えない)。これが一般公開されたので、「誰でも」「どんなシステムでも」災対環境を使用することができるようになったのが大きなメリットです。

2.NW遅延を抑えられる
上の例で「データは国内に・・・」という要件がなかったら、これまで海外のリージョンを使えばよかったのですが、今度は距離的にかなり離れるので通信遅延が発生する。
国内だと関東から東京リージョン間だと5msec程度だが、バージニアリージョンとの通信遅延は160msecほどとなる。これが東京から大阪リージョンだと8msec程度となりほぼ無視できる程度の通信遅延になる。この152msecの差は大きい。日夜SREチームはよりパフォーマンスを上げるために数十msecの世界でチューニングをしているのだ。この苦労が大阪に配置するだけであっという間に解消されてしまうのだから。
とはいえ、「災対環境なのだから多少の遅延は良いんじゃない」という意見はごもっともだと思います。その通りだと思います。
あとは、パフォーマンスに数msecの遅延も妥協できないサービスの場合、大阪リージョンに「正サービス」を配置することも考えらえれます。ただし、この場合、【考察3】でも書いていますが、大阪リージョンは使えるサービスが限られているのでその条件をクリアする必要があります。

画像5



【考察3】大阪リージョンは災対環境に足りえるのか?

よく大阪リージョンは災対環境として使おう的なことが書かれています。実際、昨日の大阪リージョン関連のニュースでも「AWS「大阪リージョン」が本格始動、東西の冗長構成で災害対策しやすく」というニュースがポストされている。これが本当なのかを検証していきます。

まず、AWSはリージョンごとに使えるサービスが違います。
東京と大阪を比較すると、「東京168個」「大阪53個」なのです。この差は歴然。もちろん今後大阪リージョンで使えるサービスは増えると思いますが現時点ではまだまだ使えるサービスがベーシックなものになっているのが現実です。東京リージョンでしか使えないサービスの一部を書き出してみた。

東京リージョンでしか使えないサービス(主要なもののみ)
特に太文字が残念だなーと個人的に思ったサービス。
・AWS AppSync
・AWS Auto Scaling(EC2のAuto Scalingとは別)
・AWS Backup
AWS Code6兄弟のうち5つ(Artifact, Build, Commit, Pipeline, Star)
AWS Directory Service
AWS IoT Core
・AWS IoT Greengrass
・AWS Outposts
・AWS Serverless Application Repository
・Amazon CodeGuru
Amazon Cognito
・Amazon DocumentDB (with MongoDB compatibility)
・Amazon Elastic File System (EFS)
・Amazon FSx for Windows File Server
Amazon Rekognition
Amazon SageMaker
Amazon Simple Email Service (SES)
・Amazon Transcribe
Amazon WorkSpaces
・VMware Cloud on AWS

このサービスのうち1つでも使っていると大阪リージョンでの災対環境を構築することができなくなります。私の会社だと、「Amazon Cognito(ユーザー管理)」「Amazon Rekognition(画像認識AI)」「AWS Code6兄弟(CI/CD系)」を使っているのですでに災対環境として使えないことが分かった。うちの会社は使っていないけど、「Amazon Workspaces(仮想デスクトップ)」「Amazon Elastic File System (EFS)(ファイルサーバー)」「Amazon FSx for Windows File Server(ファイルサーバー)」なども東京リージョンで障害があったら相当影響が大きそう。

仮に、一部のサービスだけ東京リージョンを使って、他は大阪という構成も作れなくはないけど、リスクが倍増しているだけなのでやめましょう。

画像5


結論

大阪リージョンを使う条件
1.マルチAZ以上の災害対策が必要なサービス
2.「データを日本に置きたい」という要件があるサービス
3.数msecの遅延も妥協できないサービス
4.AWSで東京リージョン固有のサービスを使っていないサービス

この二つを満たす場合は大阪リージョンを使用しましょう。
それ以外のサービスの場合は「マルチクラウド」などを考えましょう。

マルチクラウドについても色々書きたいことがありますので、別途投稿しようと思います。

では、おやすみなさい。


この記事が参加している募集

スキしてみて

この記事が気に入ったらサポートをしてみませんか?