Slide 1

Slide 1 text

君はRoute 53 Application Recovery Controller(ARC)
 を知っているか
 クラスメソッド株式会社 AWS事業本部 コンサルティング部 荒平 祐次 (arap) @0Air


Slide 2

Slide 2 text

2 自己紹介 荒平 祐次 / arap Follow me!! 業者っぽいアカウント以外は全員フォ ロー返しています 今日の資料はアップ次第告知します

Slide 3

Slide 3 text

3 略歴 大阪府立大学工業高等専門学校 卒 2018年 独立系SIerへ新卒入社 - 仮想化技術(VMware製品)に触れ楽しくなる - クラウド(AWS, Azure)も楽しくなってきた - 製造業メイン、官公庁・教育系を少々担当 2023年 クラスメソッドへ転職 - AWSバリバリやっていくぞ💪 と強い意思でジョイン - AWSにまつわる幅広い設計と提案を担当中 そして今日 - @minorun365 さんより「LT登壇しない?」とのことで二つ返事 - ゆるくRoute53のとある機能について紹介します

Slide 4

Slide 4 text

4 本日のLTタイトル 君は Route 53 Application Recovery Controller(ARC) を知っているか

Slide 5

Slide 5 text

5 本日時点では

Slide 6

Slide 6 text

6 しかし 私は Route 53 Application Recovery Controller(ARC) を知りませんでした

Slide 7

Slide 7 text

7 事の経緯 ここで初めて知る👀

Slide 8

Slide 8 text

8 というわけで Route 53 Application Recovery Controller(ARC) を攻略していきます。

Slide 9

Slide 9 text

9 今日のゴールは Route 53 Application Recovery Controller(ARC) への一歩を踏み出す

Slide 10

Slide 10 text

10 さっそく調べてみた - Amazon Route 53 Application Recovery Controller を使用すると、アプリケー ションとリソースがリカバリー可能な状況かどうかについてのインサイトが得ら れます。アプリケーションリカバリーコントローラーは、AWS アベイラビリティー ゾーン (AZ) またはリージョン間でのアプリケーションリカバリーを管理および調 整するのにも役立ちます。これらの機能により、従来のツールやプロセスで必 要な手動の手順が削減されるため、アプリケーションリカバリーがよりシンプル になり、信頼性が高くなります。 - マルチ AZ およびマルチリージョンアプリケーションのリカバリーを簡素化できま す - Route 53 アプリケーション復旧コントローラーを使用すると、ゾーンシフトと ルーティング制御を使用することで、マルチ AZ またはマルチリージョンアプ リケーションの障害をより迅速に軽減できます。これらの機能は、あらゆる 規模のアクティブ-アクティブおよびアクティブ-スタンバイアプリケーションを サポートします。 - マルチリージョンアプリケーションリカバリー準備を検証します - Route 53 Application Recovery Controller は、リソースクォータ、容量、

Slide 11

Slide 11 text

11 さっそく調べてみた - Amazon Route 53 Application Recovery Controller を使用すると、アプリケー ションとリソースがリカバリー可能な状況かどうかについてのインサイトが得ら れます。アプリケーションリカバリーコントローラーは、AWS アベイラビリティー ゾーン (AZ) またはリージョン間でのアプリケーションリカバリーを管理および調 整するのにも役立ちます。これらの機能により、従来のツールやプロセスで必 要な手動の手順が削減されるため、アプリケーションリカバリーがよりシンプル になり、信頼性が高くなります。 - マルチ AZ およびマルチリージョンアプリケーションのリカバリーを簡素化できま す - Route 53 アプリケーション復旧コントローラーを使用すると、ゾーンシフトと ルーティング制御を使用することで、マルチ AZ またはマルチリージョンアプ リケーションの障害をより迅速に軽減できます。これらの機能は、あらゆる 規模のアクティブ-アクティブおよびアクティブ-スタンバイアプリケーションを サポートします。 - マルチリージョンアプリケーションリカバリー準備を検証します - Route 53 Application Recovery Controller は、リソースクォータ、容量、

Slide 12

Slide 12 text

12 はい はちゃめちゃに取っつきにくい。

Slide 13

Slide 13 text

13 Route53 ARCとは - 調べてみて分かったこと - アーキテクチャアイコン - 2021/7/27 GAと比較的新しめのサービス - 主に3つの機能があるよ - レディネスチェック (Readiness Check) - ルーティングコントロール (Routing Control) - ゾーンシフト (Zone Shift) *2023/1/11 GA - アプリケーションの可用性をDNSの観点から高めるサービスだよ Route 53 Application Recovery Controller

Slide 14

Slide 14 text

14 3つの機能 - 1つめ - レディネスチェック (Readiness Check) - デベロッパーガイドより画像引用

Slide 15

Slide 15 text

15 3つの機能 - 1つめ - レディネスチェック (Readiness Check) - デベロッパーガイドより画像引用 【セル】 アベイラビリティーゾーンまたは リージョンを表す。 セルの中に複数のセルを持たせるこ とも可能

Slide 16

Slide 16 text

16 3つの機能 - 1つめ - レディネスチェック (Readiness Check) - デベロッパーガイドより画像引用 【リカバリーグループ】 機能的に一致する2つ以上のセルで まとめられる。(レプリカ)

Slide 17

Slide 17 text

17 3つの機能 - 1つめ - レディネスチェック (Readiness Check) - デベロッパーガイドより画像引用 【準備ルール】 各リソースおよびリソースセットに 対して行う監査のこと。 ルールのサンプルは次項

Slide 18

Slide 18 text

18 - 準備ルールの例 - 詳細はAWSドキュメント(準備ルールの説明)に記載があります 3つの機能 - 1つめ 項目 内容 ElbV2TargetGroupsCanServeTraffic 各NLB, ALBを検査して、少なくとも 1 つの正常な Amazon EC2 イン スタンスがあることを確認します。 DynamoTableStatus 各 DynamoDB テーブルを検査して、ステータスが ACTIVE であること を確認します。 VpcCidrBlock すべての VPC を検査して、すべての VPC の CIDR ブロックネット ワークサイズの値が同じであることを確認します。 VpnConnectionsRoutesCidr すべての VPN 接続を検査して、宛先 CIDR ブロックが同じであること を確認します。 レプリカ環境として条件を満たしているかどうかが確認できる! という機能

Slide 19

Slide 19 text

19 3つの機能 - 2つめ - ルーティングコントロール (Routing Control) - デベロッパーガイドより画像引用

Slide 20

Slide 20 text

20 3つの機能 - 2つめ - ルーティングコントロール (Routing Control) - デベロッパーガイドより画像引用 【クラスター】 冗長なリージョナルエンドポイント のセット。 これに対してフェイルオーバーなど のAPIコールができる

Slide 21

Slide 21 text

21 3つの機能 - 2つめ - ルーティングコントロール (Routing Control) - デベロッパーガイドより画像引用 【ルーティングコントロール】 セルに出入りするトラフィックを ON / OFFできるスイッチ これを作成すると、Route53に Route53 ARCヘルスチェックが 追加される

Slide 22

Slide 22 text

22 3つの機能 - 2つめ - ルーティングコントロール (Routing Control) - デベロッパーガイドより画像引用 【ARCヘルスチェック】 Route53 ヘルスチェックと統合し、 各アプリケーションのDNSレコードに 紐付いている。 ステータスが変更されると、 ARCはヘルスチェックを更新して トラフィックルーティングを変更する

Slide 23

Slide 23 text

23 3つの機能 - 2つめ - ルーティングコントロール (Routing Control) - デベロッパーガイドより画像引用 【安全ルール】 リカバリー操作によって逆にアプリケー ションの可用性が落ちないように設定 例えば、「1つ以上のスイッチをONの 状態に保つ」ように設定すれば、全断す ることがなくなる

Slide 24

Slide 24 text

24 3つの機能 - 2つめ - ルーティングコントロール (Routing Control) - デベロッパーガイドより画像引用 Route53のトラフィックルーティングを制御するON/OFFスイッチ! という機能

Slide 25

Slide 25 text

25 3つの機能 - 3つめ - ゾーンシフト (Zone Shift) - デベロッパーガイドより画像引用

Slide 26

Slide 26 text

26 3つの機能 - 3つめ - ゾーンシフト (Zone Shift) - デベロッパーガイドより画像引用 【ゾーンシフト対象】 「クロスゾーン負荷分散」が 設定されていない NLB, ALB

Slide 27

Slide 27 text

27 3つの機能 - 3つめ - ゾーンシフト (Zone Shift) - デベロッパーガイドより画像引用 【安全ルール】 既にゾーンシフトが有効なリソースに 対して新規にゾーンシフトは不可

Slide 28

Slide 28 text

28 3つの機能 - 3つめ - ゾーンシフト (Zone Shift) - NLBを作ってゾーンシフトを試してみた

Slide 29

Slide 29 text

29 3つの機能 - 3つめ - ゾーンシフト (Zone Shift) - 「ゾーンシフトを開始」

Slide 30

Slide 30 text

30 3つの機能 - 3つめ - ゾーンシフト (Zone Shift) - 「ゾーンシフトを開始」

Slide 31

Slide 31 text

31 3つの機能 - 3つめ - ゾーンシフト (Zone Shift) - digの結果

Slide 32

Slide 32 text

32 3つの機能 - 3つめ - ゾーンシフト (Zone Shift) - digの結果は特に変わらず(順序は入れ替わっている)

Slide 33

Slide 33 text

33 3つの機能 - 3つめ - ゾーンシフト (Zone Shift) - せっかくなのでEC2を3台立ててtgに登録 - #!/bin/bash - yum update -y - yum install -y httpd - systemctl start httpd - systemctl enable httpd - echo "It works! 1a/c/d" > /var/www/html/index.html

Slide 34

Slide 34 text

34 3つの機能 - 3つめ - ゾーンシフト (Zone Shift) - 1aに流れている状態でゾーンシフトを開始

Slide 35

Slide 35 text

35 3つの機能 - 3つめ - ゾーンシフト (Zone Shift) - なお、ゾーンシフトは即時キャンセルも可能

Slide 36

Slide 36 text

36 3つの機能 - 3つめ - ゾーンシフト (Zone Shift) - デベロッパーガイドより画像引用 特定のアベイラビリティーゾーンにトラフィックを流さない! という機能

Slide 37

Slide 37 text

37 【参考】料金について - Route53 Application Recovery Controller - レディネスチェック (Readiness Check) - 1チェックにつき、0.045 USD / 時間 - ルーティングコントロール (Routing Control) - 1クラスターにつき、2.50 USD / 時間 - ゾーンシフト (Zone Shift) - 追加料金なし - https://aws.amazon.com/jp/route53/pricing/

Slide 38

Slide 38 text

38 まとめ - Route53 Application Recovery Controller - レディネスチェック (Readiness Check) - レプリカ環境として条件を満たしているかどうかが確認できる! - ルーティングコントロール (Routing Control) - Route53のトラフィックルーティングを制御するON/OFFスイッチ! - ゾーンシフト (Zone Shift) - 特定のアベイラビリティーゾーンにトラフィックを流さない!

Slide 39

Slide 39 text

39 午後も頑張っていきましょう Route 53 Application Recovery Controller(ARC) への一歩、踏み出せましたか?

Slide 40

Slide 40 text

40 参考資料 Route 53 Application Recovery Controllerを試した https://dev.classmethod.jp/articles/route-53-application-recovery-controller-ga/ 【Route53】「ゾーンシフト」を活用してAZ障害からトラフィックを素早く回避させよう 【ARC】 https://qiita.com/hedgehog051/items/1a92d166463e5f4a7a6f What is recovery control configuration in Amazon Route 53 Application Recovery Controller? https://docs.aws.amazon.com/ja_jp/recovery-cluster/latest/api/what-is-recovery-cont rol.html What is recovery readiness in Amazon Route 53 Application Recovery Controller? https://docs.aws.amazon.com/ja_jp/recovery-readiness/latest/api/what-is-recovery-re adiness.html