Slide 1

Slide 1 text

AWS x さくらのクラウドの ハイブリッドクラウドによる 安価なフレッツ閉域網接続の実装 株式会社サイバーエージェント AI事業本部 黒崎 優太 (@kuro_m 88 ) AWS cafeteria # 1 〜サイバーエージェント×ゆめみ×クラスメソッド 3社共催LT会〜

Slide 2

Slide 2 text

ࠇ࡚ ༏ଠ גࣜձࣾαΠόʔΤʔδΣϯτ AIࣄۀຊ෦ @kurochan @kuro_m88 αΠόʔΤʔδΣϯτ CTO౷ׅࣨ

Slide 3

Slide 3 text

去年バズった記事 • サイバーエージェントのGitHub CopilotのAnalyticsデータを公開! 利 用 開始から約3ヶ 月 でエンジニアの 生 産性は向上したのか https://developers.cyberagent.co.jp/blog/archives/ 9

Slide 4

Slide 4 text

普段の仕事 • AI事業本部にてリテールメディアの開発やDXを 支 援をする事業をやっています • バックエンドのソフトウェア開発やセキュリティまわりを 見 ています

Slide 5

Slide 5 text

本 日 話すこと • とある案件で複数の物理的な拠点を既設の閉域網(フレッツVPNワイド)経由で AWSと接続しないといけなくなった • PoCのためにデータセンタにラックを構築したがほぼクラウドで 済むようにしたくなった • AWS+さくらのクラウドの構成を採 用 し移 行 した • そして安くなった! • ㊙がついているスライドは撮影、SNS共有等禁 止 です! • 資料は公開します!

Slide 6

Slide 6 text

複数の物理拠点とAWSを 接続する

Slide 7

Slide 7 text

要件 • ???「既設のフレッツ閉域網を利 用 した拠点間接続のネットワークを AWSまで延伸して、AWS上で構築したアプリケーションと連携できるようにし てほしい」 いい感じに繋いでくれる何か 様々な物理拠点(たくさん) AWS上に構築されたシステム

Slide 8

Slide 8 text

とりあえずオフィスに接続する…? • 既設のインターネット接続回線は利 用 不可 •インターネットに繋ぎたいわけではなく、「フレッツの閉域網」に繋ぎたい •フレッツを事業 用 途で単独でオフィスに引き込むのも各種調整が難しい • オフィスは法定停電もあるし。。 • 安定した電源が確保されていて物理的に回線が引き込み可能で機材も設置し ていい場所 • データセンタしかない😇

Slide 9

Slide 9 text

ラック構築 • 諸々社内協 力 を得た結果、社内のリソース+αでなんとか構築できた •ここでもいくつか課題が出てきましたが今 日 はAWSの話をする会なので省略 • データセンタでフレッツを終端 + AWSにVPNする構成ができた!🙌 •後半で話す構成と似通っている部分が多いので、ここではAWSとのVPNだけ 言 及します

Slide 10

Slide 10 text

AWSとデータセンタ間のVPN • AWS Site-to-Site VPNを利 用 •IPSecというプロトコルで接続する •DC側のVPNの終端はNEC IX 2106 • NECのサポートサイトを 見 るとつなぎ 方 が書いてある https://jpn.nec.com/univerge/ix/Support/AWS/index.html

Slide 11

Slide 11 text

AWS + さくらのクラウドの ハイブリッドクラウド

Slide 12

Slide 12 text

PoCは成功🎉商 用 利 用 見 据えたい🚀 • データセンタのラックの 面 倒誰が 見 るのか問題 •ほぼ 自 分ひとりで構築したので 面 倒 見 られるのが 自 分しかいない •この構成のために障害発 生 時に駆けつけられる体制つくるのは過剰すぎる •とりあえず最速でPoCをするための環境だったので商 用 は別にしたい •できる限りクラウドで完結させた構成にするほうがよさそう! •IaCで構築したほうが引き継ぎやすそう

Slide 13

Slide 13 text

さくらインターネットのダイレクトアクセス • フレッツの回線終端装置をさくらのDCに設置 & さくらのクラウドに引き込める •初期の設置や故障時の交換作業などはお任せできるのでDCに 行 かなくてOK •さくらのクラウドとの接続費 用 も込みで 月 額4万円以下(初期費 用 別)、ラック借りるより安い! https://cloud.sakura.ad.jp/speci fi

Slide 14

Slide 14 text

AWSとさくらのクラウドの接続 • AWS、さくらのクラウド双 方 にWireGuardのサーバを構築 •さくらのマネージドルータだとWireGuardを利 用 しつつ経路の冗 長 化ができなかったため •AWSはそもそもWireGuardのマネージドサービスは存在しない •AWS Site-to-Site VPNはちょくちょくメンテナンスがあるのと、 今回はEC 2 の 方 が安かった(t 4 g.micro x 2 )

Slide 15

Slide 15 text

AWS,さくらのクラウド双 方 にWireGuardのサーバを構築 • WireGuard •イケてるVPN, UDPで通信 •Linuxカーネル内に実装 • 最近のディストリビューションなら素直に動く

Slide 16

Slide 16 text

Transit Gateway • VPCやVPN、Direct Connect、Transit Gateway Connectなど同 士 を ネットワーク的に接続するハブのようなサービス •これのおかげでAWS同 士 だけでなくその他のクラウドやオンプレともネットワークの統合が可能 •リージョン間の接続も可能にするCloud WANなども存在する

Slide 17

Slide 17 text

Transit Gateway Connect • ルータのEC 2 とTransit Gatewayを接続する仕組み • EC 2 と接続できるので任意のルータが使える •めちゃくちゃ拡張性が 高 い •今回はWireGuard終端EC 2 と接続 • GRE(Generic Routing Encapsulation) で転送するパケットをカプセリングする • BGP(Boarder Gateway Protocol, 後述)で 経路情報を交換する

Slide 18

Slide 18 text

EC 2 、さくらのサーバでBGPを動かす • FRRoutingを利 用 •OSSのルーティングソフトウェア •業務 用 ルータ(CiscoとかJuniperとか)と同じネットワークのプロトコルで経路交換が可能 •サーバ上でFRRoutingを稼働させて物理拠点からVPCまでの経路を確保する •物理拠点<->さくらのクラウド<->AWS(Transit Gateway)<->AWS(VPC) •BGP(Boarder Gateway Protocol)を使うことで動的なルーティングを 行 う

Slide 19

Slide 19 text

動的なルーティングのメリット • 全てのルータに 手 打ちで経路を打ち込むのは 大 変、 自 動で反映されてほしい •Transit Gatewayとの経路交換もBGPで 行 う •経路上に障害が発 生 した場合は 自 動で迂回経路が計算されてほしい •BFD(Bidirectional Forward Detection)を有効化した区間は1秒未満で障害検出可能

Slide 20

Slide 20 text

障害が起きた時の想定 • 例 •EC 2 で1台障害発 生 したパターン •さくらのクラウドのサーバで1台障害が発 生 したパターン •動的なルーティングにより、 自 動でトラフィックが迂回される

Slide 21

Slide 21 text

No content

Slide 22

Slide 22 text

No content

Slide 23

Slide 23 text

No content

Slide 24

Slide 24 text

No content

Slide 25

Slide 25 text

No content

Slide 26

Slide 26 text

No content

Slide 27

Slide 27 text

No content

Slide 28

Slide 28 text

EC 2 から 見 た経路 • さくらのクラウド側とTransitGateway越しのVPCの経路情報が受信できている

Slide 29

Slide 29 text

TransitGatewayから 見 た経路 • さくらのクラウド側から受信した経路がTransit Gatewayまで到達している • VPCへの経路も存在しているので、物理拠点からVPCまでの経路が確 立 !🎉

Slide 30

Slide 30 text

最終的な姿 • 複数物理拠点とAWS VPCを接続することができた •以前より可 用 性が向上している •AWS VPCの利 用 者からすると裏側の構成は意識不要 •VPC内から直接アクセスできるリソースのように 見 えるだけ •ランニングコストは 月 額10万円前後 •安いですよね…?

Slide 31

Slide 31 text

Systems Manager Hybrid Activations • さくらのクラウドのサーバはSystems Managerで管理した • Hybrid Activationを使うとAWS外のサーバもSystems Managerの管理下に •ssm-agent経由でさくらのクラウドのサーバにIAM Roleが付与できる •EC 2 と同じ。IAM Userを作成してアクセスキーをサーバに埋め込むよりセキュアになる •AWS Consoleからブラウザ越しにターミナル操作可能 •IAM Roleでさくらのクラウドのサーバアクセスも管理

Slide 32

Slide 32 text

Packer + Terraform • VMイメージ(さくら, AWS)の構築は全てPackerで 行 った •provisonerはシェルスクリプト •さくらもAWSも両 方 Terraformで構築 •GitHub Actionsで変更は 自 動反映 •さくらのサーバにIAM RoleがついているのでクレデンシャルはSSM Parameter Storeから取得 •EC 2 はAuto Scaling(台数固定)にしたのでヘルスチェックに不合格になると 自 動で インスタンスがリプレースされる •ほぼクラウドで完結🎉 構成変更や障害対応はGitHub上のコードでまかなえる🎉

Slide 33

Slide 33 text

まとめ • AWSとさくらのクラウドのハイブリッドクラウド構成をとることで、フレッツの 閉域網の物理拠点間接続をAWSまで延伸することができた🎉 • 諦めずできる限りクラウドに寄せることで運 用 の 自 動化&省 力 化ができた🎉 • こういった構成でもIaCでほぼ完結させることは可能🤘 • さくらインターネットの 方 々にも実現にあたってご協 力 いただいたので、その話 もどこかでできれば…!(今 日 はAWSの会だったので🙇)