この記事はBBSakuraNetworksアドベントカレンダー2022の21日目の記事です。
目的
- 各クラウドとのプライベート接続ですが、なかなか簡単に検証できるものではないし、イメージもしづらい
- 各クラウドで仕組みとして似てるところは多い、横並びで概念のレイヤーを並べてみたい
対象クラウド
だいたいこの辺抑えておけばいいのかなという個人的なチョイスです。
- AWS
- Azure
- GCP (Google Cloud Platform)
- OCI (Oracle Cloud Infrastructure)
前提条件
大前提として、EndUserから見て接続方式は "L2接続" かつ "プロバイダ" を経由する形としてます。(EndUser自身が直接各クラウド事業者と調整して繋ぐ場合は、demarcation(境界線)や接続サービス利用の選択肢が変わってくるためご注意ください。)
- プロバイダ一覧
接続イメージの絵
4クラウドで接続イメージが付きやすいよう、一枚絵にしてみました。上記の順番で上から見てもらえればと思います。
利用の想定は、VPCネットワークへそのまま繋がり、Server同士のEndtoEnd通信ができるシンプルな構成のみに絞ってます。(AWSでいうTransitGateway的な機能は使わない、という意味)
絵の補足は下記の通り
- VPC内はなるだけルーティングの流れを意識して書きましたが、各クラウド毎に仕様も違うので結構雑に書きました。特にSecurity(SecurityGroup/Firewall)は一番雑、いつか気が向いたら整理します。
- attach/detachまわり(青線の片側四角)は、四角がない側のリソースを先に準備した上で、四角がついてる側リソースを作るイメージで描きました。
- 変更はGUIベースで確認、CLIまわりの細かな動作までは確認しきれてないので、そのへんは自身で補完していただければと思います。
- IPアドレスとかVLANはイメージしやすいように振ってます、あくまで例として見てもらえればと思います。
構築のポイント
絵を元に、細かいところの注意点だけ書きました。
クラウド全般
-
BGP-ASNは以下の通り
クラウド名 ASN 設定対象リソース 備考 AWS 10124 VGW or DGW プライベートASNの範囲で変更可能 Azure 12076 ExpressRouteCircuit GCP 16550 Cloud Router OCI 31898 FastConnect -
Securityまわりの紐付け
- [Instance]のところは、実際はNIC(Eth0とかEth1とか)になるので、Securityまわりの紐付け時は注意が必要
- 複数のEthernet-Interfaceを作成してる場合、このへんでよくハマる
- AWSなんかInterfaceにSecurityGroupが紐づくので特に注意が必要
- パケットの気持ちになって、どのInterfaceから出ていくかをイメージすることが大切
-
SSHの鍵共有化
- クラウドによってはVPCで共通のSSH鍵を仕込めるマネージドサービスを提供してくれてる場合が多いので、使うと便利
- Instanceを増やしても共通の鍵で入れる
- クラウドによってはVPCで共通のSSH鍵を仕込めるマネージドサービスを提供してくれてる場合が多いので、使うと便利
AWS
- dxconとVIFの紐付けは、付け替え先のdxconが未紐付け状態であれば付け替え可能(AWSホスト型接続の場合)
- ちなみにDXの環境が東京でも、大阪のVPCと接続することは簡単にできます
- DGWに紐付けるVGW&VPCを大阪にすればOK
Azure
- 他と比較し、ExpressRouteは仕様が独特
- 必ずPri/Secの1セットでの作成が必須
- VLANは必ずPri/Sec統一
- サブネットは/30のネットマスク固定、かつ割当ルールも決まってる
- QinQによるダブルタグでCPEまで転送される
- プロバイダのサービスによってはdot1q変換して転送してくれるので、ここはプロバイダの仕様をちゃんと確認する
- ServiceKeyを用いた連携が必要
- 事前にExpressRouteCircuitを作成し、生成されたServiceKeyを用いてプロバイダ側と連携する仕組みが多いので、手順周りはプロバイダが提供してるドキュメントを理解しておく必要あり
GCP
- PairingKeyを用いた連携が必要
- 事前にInterConnect VLAN Attachmentを作成し、生成されたPairingKeyを用いてプロバイダ側と連携する仕組みが多いので、手順周りはプロバイダが提供してるドキュメントを理解しておく必要あり
OCI
その他
クラウド利用のための権限やらユーザー管理も理解しておく必要があります。
- 共通
- IAM
- 個別
- AWS
- AWSアカウント全体の概念やスイッチロールなど
- Azure
- サブスクリプション
- ディレクトリ
- リソースグループ
- 課金プロファイル
- IAMも、AzureADロール、Azureロール、それぞれの複雑な管理が必要
- GoogleCloud
- プロジェクトの概念
- OCI
- テナンシの概念
- AWS
などなど、、、
まとめ
個人的に一枚絵はここ数年で作っておきたい資料だったので、それが作れただけで満足です。
構築のポイントは、また気づいたときに追加してこうとは思います。おわり。