Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
大規模環境をAWS Transit Gatewayで設計/移行する前に考える3つのポイントと移...
Search
Recruit Technologies
September 08, 2020
Technology
1
1.9k
大規模環境をAWS Transit Gatewayで設計/移行する前に考える3つのポイントと移行への挑戦
2020/9/8~2020/9/30 AWS Summit Onlineでの、
宮崎の講演資料になります
Recruit Technologies
September 08, 2020
Tweet
Share
More Decks by Recruit Technologies
See All by Recruit Technologies
障害はチャンスだ! 障害を前向きに捉える
rtechkouhou
1
630
Flutter移行の苦労と、乗り越えた先に得られたもの
rtechkouhou
3
11k
ここ数年間のタウンワークiOSアプリのエンジニアのチャレンジ
rtechkouhou
1
1.5k
【61期 新人BootCamp】TOC入門
rtechkouhou
3
41k
【RTC新人研修 】 TPS
rtechkouhou
1
41k
Android Boot Camp 2020
rtechkouhou
0
41k
HTML/CSS
rtechkouhou
10
50k
TypeScript Bootcamp 2020
rtechkouhou
9
45k
JavaScript Bootcamp 2020
rtechkouhou
1
43k
Other Decks in Technology
See All in Technology
The Rise of LLMOps
asei
5
1.3k
DMARC 対応の話 - MIXI CTO オフィスアワー #04
bbqallstars
1
160
iOS/Androidで同じUI体験をネ イティブで作成する際に気をつ けたい落とし穴
fumiyasac0921
1
110
RubyのWebアプリケーションを50倍速くする方法 / How to Make a Ruby Web Application 50 Times Faster
hogelog
3
940
Lexical Analysis
shigashiyama
1
150
適材適所の技術選定 〜GraphQL・REST API・tRPC〜 / Optimal Technology Selection
kakehashi
1
160
安心してください、日本語使えますよ―Ubuntu日本語Remix提供休止に寄せて― 2024-11-17
nobutomurata
1
990
マルチモーダル / AI Agent / LLMOps 3つの技術トレンドで理解するLLMの今後の展望
hirosatogamo
37
12k
New Relicを活用したSREの最初のステップ / NRUG OKINAWA VOL.3
isaoshimizu
2
580
Shopifyアプリ開発における Shopifyの機能活用
sonatard
4
250
【令和最新版】AWS Direct Connectと愉快なGWたちのおさらい
minorun365
PRO
5
750
The Role of Developer Relations in AI Product Success.
giftojabu1
0
120
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
520
39k
Facilitating Awesome Meetings
lara
50
6.1k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
Automating Front-end Workflow
addyosmani
1366
200k
How to Ace a Technical Interview
jacobian
276
23k
Agile that works and the tools we love
rasmusluckow
327
21k
10 Git Anti Patterns You Should be Aware of
lemiorhan
654
59k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
44
2.2k
Music & Morning Musume
bryan
46
6.2k
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.3k
Transcript
JAPAN
© 2020, Amazon Web Services, Inc. or its affiliates. All
rights reserved. 大規模環境をAWS Transit Gatewayで設計/移行 する前に考える3つのポイントと移行への挑戦 宮崎幸恵 プロダクト統括本部プロダクト開発統括室 開発ディレクション室インフラソリューションユニット 株式会社リクルート
Agenda 1. AWS共通基盤について 2. AWS Transit Gateway検討の背景 3. 既存の仕組みからの移行に向けての検討 4.
移行時の検討ポイント 5. まとめ
© 2020, Amazon Web Services, Inc. or its affiliates. All
rights reserved.
5 (C) Recruit □□□□□□□□ Co., Ltd. All rights reserved. 発表者紹介
宮崎 幸恵 株式会社リクルート プロダクト統括本部プロダクト開発統括室 開発ディレクション室インフラソリューションユニット サイトリライアビリティエンジニアリング部 クラウドグループ 2011年 株式会社リクルート入社 入社当初から全社クラウド基盤の設計/運用業務に従事
6 (C) Recruit □□□□□□□□ Co., Ltd. All rights reserved. リクルートのクラウド基盤について
リクルートでは、大きく2つのサービス向けインフラを運用 オンプレミス基盤 RAFTEL クラウド基盤 Rクラウド 共通インフラ運用 クラウド運用 サーバ構築
7 (C) Recruit □□□□□□□□ Co., Ltd. All rights reserved. AWS基盤としての対応範囲
責任共有モデルで、ユーザー側の責任範囲となっている 一部の機能を共通提供
8 (C) Recruit □□□□□□□□ Co., Ltd. All rights reserved. クラウド基盤におけるインフラチームの役割
アプリサイド/サービスインフラサイド/基盤運用がはっきり 分かれているのが特徴 またここには記載のない非機能要件(ID/認証等)の対応も している オンプレミス基盤管理/運用主体 クラウド基盤 アプリケーション フレームワーク ミドルウェア OS サーバ ストレージ ネットワーク DCファシリティ アプリチーム インフラチーム AWS AWS アプリチーム クラウド運用 クラウド運用
9 (C) Recruit □□□□□□□□ Co., Ltd. All rights reserved. AWS基盤のこれまで
AWS基盤自体は2011年から提供開始 2012年 2014年 2016年 2018年 オンプレミス基盤 との接続 共通認証基盤整備 システムセキュリティ 強化施策実施 ネットワーク設計 見直し ログ監査システム 実装 2019年
10 (C) Recruit □□□□□□□□ Co., Ltd. All rights reserved. 提供している共通機能について
主に3つの共通機能を全環境に対して提供 Bサイト 共通機能の提供 AWS環境 Nサイト Aサイト 分類 機能 ネットワーク 他インフラとの接続 AWS基盤内仮想NW設計 ID/認証/共通ログ保 管 ID・認証/ログ保管 契約・コスト管理 全体契約・各アカウントごとのコスト管理 ・・・・
11 (C) Recruit □□□□□□□□ Co., Ltd. All rights reserved. ネットワークの共通機能
ネットワークの共通機能として、オンプレミス環境との専 用線/VPN接続を提供 オンプレミス環境 AWS環境 AWS Direct Connect VPN connection AWS Cloud AWS Cloud AWS Cloud
© 2020, Amazon Web Services, Inc. or its affiliates. All
rights reserved.
13 (C) Recruit □□□□□□□□ Co., Ltd. All rights reserved. ネットワーク構成の課題
オンプレミス環境との接続は、当初からのつぎはぎ構成と なっており、複雑化していた オンプレミス環境 Amazon VPC Amazon VPC AWS Cloud ・ ・ ×100 専用線利用エリア ×9 L3ルータ (専用線) L3ルータ (専用線) L3ルータ (VPN) VPN接続エリア オンプレミス接続なしのエリア 認証基盤 監視機能 認証基盤 Amazon VPC 接続プロキシ VPC peering 接続プロキシ VPC peering 監視経路は VPN Active-Standby のため通常は片側 利用
14 (C) Recruit □□□□□□□□ Co., Ltd. All rights reserved. 複雑化の理由
用途に応じてVPN/専用線を使い分け AWSの機能で実現できない箇所は独自実装 主な用途 構成 接続VPC数 オンプレミス環境とのデータ連携/バッチ 連携 専用線(AWS Direct Connect利用) 100 オンプレミス環境の一部共通機能の利用 VPN接続(独自ルータで実装) 300 AWS基盤内の共通機能との接続 VPC Peeringが主だが、一部VPN接続(独 自ルータで実装) 600
15 (C) Recruit □□□□□□□□ Co., Ltd. All rights reserved. VPN接続でトランジットしていた理由
接続VPCが初期段階から100近くあり、頻繁に追加/削除が あったことから、AWSの機能は使わずVPNルータを利用し、 独自実装していた オンプレミス環境 Amazon VPC Subnet (AZ-a) ルータ Rクラウド 共通接続セグメント1-9 Subnet (AZ-a) ルータ ルータ Amazon VPC Subnet (AZ-a) ルータ VPN接続ルータ Rクラウド 共通機能 Amazon VPC Subnet (AZ-a) ルータ ルータによるオーバーレイネット ワークを組んでいるため、AWSに よる制限を受けず、自由にNWを構 成できる ▪VPN接続構成 ルータの独自管理は非常に負荷が高 く、品質低下にも苦しんでいた
16 (C) Recruit □□□□□□□□ Co., Ltd. All rights reserved. AWS
Transit Gateway 2018年のre:InventでAWS Transit Gateway発表 その後東京リージョンには、2018/12に対応
17 (C) Recruit □□□□□□□□ Co., Ltd. All rights reserved. AWS
Transit Gatewayへの移行検討 2019年初からAWS Transit Gatewayへの移行検討開始 最終的には12月までの約1年をかけて移行完了 1月-3月 4月-6月 7月-9月 10月-12月 対象選定 設計検討 検証 移行方式検討 利用者広報 移行検証/手順検討 移行作業
© 2020, Amazon Web Services, Inc. or its affiliates. All
rights reserved.
19 (C) Recruit □□□□□□□□ Co., Ltd. All rights reserved. 移行対象について
全てAWS Transit Gatewayにするのではなく一部のみ移行 検討 主な用途 構成 接続VPC数 移行対象 データ連携/バッチ連携 専用線 100 × オンプレミス側の一部共通機能 の利用 VPN接続 300 〇 AWS基盤内の共通機能との接続 VPC Peeringが主だが、一部VPN接 続 600 一部のみ〇
20 (C) Recruit □□□□□□□□ Co., Ltd. All rights reserved. 選定の理由について
認証機能については、アクセス制御要件があり、それを VPC Peering前提で実装していたため移行対象外とした 主な用途 構成 接続VPC数 移行対象 AWS基盤内の共通機能との接続 VPC Peeringが主だが、一部VPN接続 600 一部のみ〇 主な用途 移行対象 理由 認証機能との接続 × VPC Peering前提で接続先のアクセス制御を独 自実装していたため 監視/モニタリング機能との接続 〇 独自実装要件がない ログ収集との接続 〇 独自実装要件がない
21 (C) Recruit □□□□□□□□ Co., Ltd. All rights reserved. 設計の検討
複数のセグメントが存在し、相互に役割が違う機能が混 ざっていた オンプレミス環境 インターネット VPN 接続用ルータ 監視セグメント 認証セグメント 共通セグメント1 共通セグメント2 共通セグメント3 共通セグメント4 ~9 AWS専用線接 続ルータ 専用線接続 共通セグメント2のルータが各セ グメントのハブ状態だった 監視セグメント等との相互通信が あった 共通セグメント内にルータ以外の 共通機能が含まれていた
22 (C) Recruit □□□□□□□□ Co., Ltd. All rights reserved. 設計の検討
オンプレミスのセグメントと接続があるかどうかでAWS Transit gatewayを分けるか、用途との掛け合わせで分け るかの検討 案 Transit Gateway数 メリット/デメリット A 2 既存のオンプレミスとのVPN接続をす べてAWS Transit gateway1に置き 換え、それ以外の通信をAWS Transit Gateway2に集約する • 今後セグメントが追加された際にも設定変更不要 • 専用線接続Amazon VPC側でのルートテーブル設定次 第ではオンプレミス側へVPN経路での接続が可能(※ 意図しない通信ができてしまう) B 3 案1の2つのAWS Transit Gateway はそのまま、専用線接続VPCからのパ ケットがオンプレミス側に流れてこな い構成とするため、専用線接続専用の AWS Transit Gateway3を増やす • 今後セグメントが追加された際には設定の追加が必要 • 専用線接続Amazon VPC側でのルートテーブル設定に は関係なくオンプレミス側へVPN経路での接続は不可 C 3 用途別(共通機能との通信/オンプレ ミスとの通信)にAWS Transit Gatewayを分離する • 今後セグメントが追加された際には設定の追加が必要 • 専用線接続Amazon VPC側でのルートテーブル設定に は関係なくオンプレミス側へVPN経路での接続は不可 • 用途別のため、つなぐ先のアカウントAmazon VPCに、 複数のAWS Transit Gatewayと接続するための Attachmentが複数必要になってしまう場合があり、 利用料金と構成管理の複雑さが増す 採用
23 (C) Recruit □□□□□□□□ Co., Ltd. All rights reserved. 設計の検討
設計は以下の構成とした オンプレミス環境 認証機能 監視機能 ログ収集機能 モニタリング機能 Amazon VPC Amazon VPC Amazon VPC Amazon VPC オンプレミス接続なし AWS Transit Gateway1 Route Table1 Route Table2 AWS Transit Gateway2 Route Table1 VPN経由でオン プレミス接続 Route Table2 AWS Transit Gateway3 Route Table1 Route Table2 Amazon VPC Amazon VPC 専用線接続 オンプレミス接 続有 オンプレミス接続な しのAmazon VPC とも接続
24 (C) Recruit □□□□□□□□ Co., Ltd. All rights reserved. 設計の検討
ほぼ東京リージョンだが、一部VPN接続が必要なAmazon VPCが東京以外のリージョンに存在していた 移行時は東京リージョンのインターリージョン接続に対応 していなかったので、そのままルータ-AWS Transit Gateway間のVPN接続で設定 AWS Transit Gateway (ap-northeast-1) Route Table1 Route Table2 オンプレミス環境 Amazon VPC (ap-northeast-1) Subnet (AZ-a) Subnet (AZ-c) Amazon VPC (us-east) Subnet (AZ-a) Subnet (AZ-c) … ルータ
25 (C) Recruit □□□□□□□□ Co., Ltd. All rights reserved. 設計の検討
アカウントならびにAmazon VPCが非常に多いので、上限 値にあたらないかの検討も事前に実施 項番 項目 利用数 (予定) 上限 備考 1 アカウントあたりの AWS Transit Gateway Attachmentの数 650 5,000 共通系Amazon VPCが利用するAWS Transit Gateway Attachmentは12程度のため、サイ ト用Amazon VPCの数が上限に達する要因になる。1Amazon VPCが1 Attachmentを利用 するので、5,000サイト用Amazon VPC程度で上限に達する 2 VPN 接続ごとの帯域幅 不明 1.25 Gbps 今後増えた際は、ここがボトルネックとなる可能性があり 3 Amazon VPC 接続ごとの帯域幅 (バースト) 不明 50 Gbps Amazon VPC間でそれほど帯域を必要とする処理は行っておらず、本項目は今後も問題と ならない。 4 アカウントあたりの AWS Transit Gateway の数 3 5 今以上にAWS Transit gatewayを分けるメリットが感じられないので、本項目は今後も問 題にならないと考える。申請により上限緩和可能 5 Amazon VPC あたりの AWS Transit Gateway Attachmentの数 3 5 今以上にAWS Transit gatewayを分けるメリットが感じられないので、本項目は今後も問 題にならないと考える。 6 AWS Transit gatewayあたりの Route Tableの数 2 20 Route Tableを3つ以上にするケースは想定していないため本項目は今後も問題にならない と考える。申請により上限緩和が可能 7 AWS Transit Gateway Route Table当たりのルート 数 660 10,000 Amazon VPCからのPropagationにより、AWS Transit Gateway Route Tableのルートが 1つ増えると考えられるので、サイト用Amazon VCPの数が上限に達する要因となる。が現 状ではおそらく問題ない。 8 Amazon VPCのルートテーブルエントリ数 ~100 1,000 (100以内が推 奨値) 宛先IPアドレスをある程度集約したルーティングを設定することで、上限に達することはな いと考える。 9 セキュリティグループ当たりのインバウンドルール またはアウトバウンドルールの数 50 60×5 =300 今後ルールが増える要因は特にない
26 (C) Recruit □□□□□□□□ Co., Ltd. All rights reserved. 移行の検討
用途の異なる機能が複数含まれたため影響範囲と万一の際 の切り戻しのしやすさもふまえて、全部で7回に分けて移行 フェーズ 作業内容 影響範囲 実施期間 1 AWS Transit Gateway 1、2、3の作成 影響なし 10月 監視経路をAWS Transit Gatewayに切り替える 1 Amazon VPC 2 監視経路をAWS Transit Gatewayに切り替える 影響なし ログ収集経路をAWS Transit Gatewayに切り替える 影響なし モニタリング基盤との接続準備 影響なし 3 AWS Transit Gateway 1の用意 影響なし 監視、ログ収集、モニタリング経路を準備 影響なし 共通セグメント9のVPN経路をAWS Transit Gateway経由に切り替える 60 Amazon VPC 11月 4 共通セグメント3-8のVPN経路をAWS Transit Gateway経由に切り替える 160 Amazon VPC 5 共通セグメント1,2と共通機能間の通信を切り替える 90 Amazon VPC 6 Peeringを経由している監視やログ収集やモニタリングの通信をAWS Transit Gateway経由に切り替える 80 Amazon VPC 12月 7 オンプレミス側VPNルーターの構成変更実施 VPN接続をしている全Amazon VPC
© 2020, Amazon Web Services, Inc. or its affiliates. All
rights reserved.
28 (C) Recruit □□□□□□□□ Co., Ltd. All rights reserved. 検討ポイント
設計時は以下3点を特に判断のポイントとした • 構成がシンプルになるか • ある程度の拡張性があるか • 他の接続方法が適していると考えられないか リリースされて間もないころから検討を開始したため、 AWSのプロフェッショナルサービスも活用
29 (C) Recruit □□□□□□□□ Co., Ltd. All rights reserved. 検討ポイント
移行時は以下3点を特に判断のポイントとした • できるだけ同じ作業と影響が出る作業でまとめる • 切り替え時の断時間が最短になる方法を検討する • 既存の構成変更と移行は一緒におこなわない
30 (C) Recruit □□□□□□□□ Co., Ltd. All rights reserved. 設計時/移行時の課題
実際には設計時、移行時にいくつか後から発覚した問題は あった • 東京リージョン以外への対応 • 当初リージョンをまたいだアタッチメント付与ができず、途中で気づいて追加で方式検 討/検証を実施 • AZ単位のアタッチメント付与 • 2つ以上AZがある場合、片方にしか付与してなかったので、片側AZでしか当初疎通がで きなかった。 • 移行時に気付きアタッチメントを追加 • AWS Transit Gatewayでの監視とモニタリング • CloudWatchだけでは疎通が正しくできているかの確認までとれないため、どのようにモ ニタリングするかは課題としていまもある
31 (C) Recruit □□□□□□□□ Co., Ltd. All rights reserved. 移行後の所感
• 現在のところ大きな障害もなく非常に安定している • マネージドサービスのため運用もしやすくなった
© 2020, Amazon Web Services, Inc. or its affiliates. All
rights reserved.
33 (C) Recruit □□□□□□□□ Co., Ltd. All rights reserved. AWS
Transit Gateway移行時の3つのポイント • ネットワーク関連の構成更改には設計にも移行にも事前 検討が他のサービスに比べるとより重要 • AWSの上限値を意識しつつ、今後の拡張も踏まえての設 計する • 全ての変更ではなく、より適した箇所にサービスを適用 する
Thank you! © 2020, Amazon Web Services, Inc. or its
affiliates. All rights reserved.
© 2020, Amazon Web Services, Inc. or its affiliates. All
rights reserved.