AWS ANS に向けての勉強　1. AWS Direct Connect

### 参考
- https://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-online-seminar-aws-direct-connect-123494683
- https://aws.amazon.com/jp/directconnect/?nc=sn&loc=0
- https://d1.awsstatic.com/webinars/jp/pdf/services/20200219_BlackBelt_Onpremises_Redundancy.pdf

# 概要
- オンプレミス環境からAWSに対して、専用線を使用してプライベートに接続するサービス
- 一般的なインターネット接続に対して
    - 安価なアウトバウンドトラフィック（AWS リージョンから AWS Direct Connect を使って送信したデータに対してのみ料金が発生）
    - 安定・良好なネットワーク品質 (一般のネットワークと帯域が異なるので混雑に影響されない）

# ユースケース
## 大規模なデータセットの使用
- Direct Connectを使用しない場合、大容量データの送信に対して、ISPへの帯域増強が必要
    - 高い契約更新料
    - 期間契約
― Direct Connectは、シンプルな従量課金制で一定期間の契約もなく、接続で使用したネットワークポートおよび転送したデータに対してのみの支払いのみ

## リアルタイムのデータフィード
- ルーティングをユーザがコントロールできるため、一貫性のあるネットワーク体験
    - 音声や動画のアプリケーションなどのネットワークの待ち時間が一定である場合に最適に機能するものに対して効果

## ハイブリット環境
- プライベート接続が規制要件の場合に、活用
- ただしAWS VPNでも実施可能

# 物理接続
![](https://image.slidesharecdn.com/20181119-aws-blackbelt-directconnect-181120103042/95/aws-black-belt-online-seminar-aws-direct-connect-40-638.jpg?cb=1542709873)

# 接続方法
## 専用接続(専有型)
- 専用線で[Direct Connect Location](https://aws.amazon.com/jp/directconnect/features/#AWS_Direct_Connect_Locations)に接続
    - 東京リージョンでは **Equinix TY2(東京) / OS1(大阪)** ・・・など4つ
- Connectionは　1Gbps / 10Gbps　のポート速度をサポート
- 接続パターン
    ![](https://image.slidesharecdn.com/20181119-aws-blackbelt-directconnect-181120103042/95/aws-black-belt-online-seminar-aws-direct-connect-15-638.jpg?cb=1542709873)
- Link Aggregation Group (LAG)
    - Link Aggregation Control Protocol (LACP) を使用して複数の接続を 1 つの AWS Direct Connect エンドポイントに集約し、これらを 1 つのマネージド接続として扱えるようにする論理インターフェイス  
    - 制約
        - すべての接続が専用接続
        - すべての接続が同じ帯域幅
        - 最大４つまで
        - 同じAWS Direct Connect エンドポイントで終了
- Cloud Watch でメトリクスが扱える
- LOAの発行場所の記載
    https://docs.aws.amazon.com/ja_jp/directconnect/latest/UserGuide/lags.html
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398359/8a1aa7e9-f1dc-ee49-5e13-aeba2d5303ea.png)

## 専用接続(共有型)
- Cloud Watch でメトリクスが扱えない
- LOAの発行場所の記載がなく、パートナー名が表示

## ホスト接続
- Hosted Connectionと呼ぶ仮想的なConnectionをパートナーがユーザに提供
- 1Gbps以下の接続を提供する場合に利用
- 50, 100, 200, 300, 400, 500 Mbpsのいずれかの帯域を専有可能
- Hosted Connection の中のVIFを一つだけ、ユーザで自由に設定できる
- Cloud Watch でメトリクスが扱えない
- LOAの発行場所の記載がなく、パートナー名が表示
- **異なる回線サービスで冗長をとる場合、回線ごとの経路広報タイプが異なると予期せぬ経路の偏りの原因となるので注意**

![](https://image.slidesharecdn.com/20181119-aws-blackbelt-directconnect-181120103042/95/aws-black-belt-online-seminar-aws-direct-connect-41-638.jpg?cb=1542709873)

# 仮想インターフェース (Virtual Interface = VIF)
- Connection（物理接続）を通してAWSリソースにアクセスするための論理インターフェース
    - AWSとユーザルータ間でBGP[^BGP]ピアを確立し、経路交換するために必要
    - VLAN IDを持つ
- private / public 
    - Private VIF: VPCへプライベートアドレスを介した接続を提供する
    - Public VIF: AWSの全リージョンへパブリックIPを介した接続を提供するのがPublic VIF

![](https://image.slidesharecdn.com/20181119-aws-blackbelt-directconnect-181120103042/95/aws-black-belt-online-seminar-aws-direct-connect-23-638.jpg?cb=1542709873)

[^BGP]: BGP（Border Gateway Protocol）。パケットのあて先を正確に把握し、維持していくための経路制御技術の代表的なプロトコル。参考：https://www.nic.ad.jp/ja/newsletter/No35/0800.html

# 接続
## クロスアカウント利用
- Connection を所有すしているアカウントからほかのアカウントに対してVIFを提供することが可能

![](https://image.slidesharecdn.com/20181119-aws-blackbelt-directconnect-181120103042/95/aws-black-belt-online-seminar-aws-direct-connect-24-638.jpg?cb=1542709873)

## プライベート接続
- ユーザルータでBGP、MD5認証、IEEE802.1q VLANのサポートが必要
- VPC のCIDR（IPv4/v6)がAWSから広告される
- Jumbo Frame[^jumboframe](MTU=9001)をサポート
    - VPN接続、インターネットゲートウェイ経由のトラフィックは1500MTUに制限されてしまうので、DirectConnectが良い 

![](https://image.slidesharecdn.com/20181119-aws-blackbelt-directconnect-181120103042/95/aws-black-belt-online-seminar-aws-direct-connect-25-638.jpg?cb=1542709873)

[^jumboframe]: ネットワーク接続の最大送信単位 (MTU)は通常1500バイトだが、パケット当たりのペイロードサイズを拡張し、パケットオーバーヘッド以外のパケットの割合を高めることで1500バイト以上のデータを送信可能なもの。

### Private VIFによるマルチVPC接続
- オンプレミスを複数のVPCへ接続するために複数のPrivateVIFを使用
- 複数の異なるＡＷＳアカウントのＶＰＣへオンプレミスから接続可能
- **Direct Connection Location に紐づけられたリージョンのVPCのみ接続可能**

![](https://image.slidesharecdn.com/20181119-aws-blackbelt-directconnect-181120103042/95/aws-black-belt-online-seminar-aws-direct-connect-27-638.jpg?cb=1542709873)

### オンプレミスからの接続
![](https://image.slidesharecdn.com/20181119-aws-blackbelt-directconnect-181120103042/95/aws-black-belt-online-seminar-aws-direct-connect-28-638.jpg?cb=1542709873)
![](https://image.slidesharecdn.com/20181119-aws-blackbelt-directconnect-181120103042/95/aws-black-belt-online-seminar-aws-direct-connect-29-638.jpg?cb=1542709873)


## パブリック接続
- Public VIF を使用して中国を除く全リージョンのパブリックサービスへの接続を提供
- オンプレミスのプライベートアドレスをAWS提供のパブリックIPアドレスへNAT
- 中国を除く全リージョンのAWSサービスのパブリックIPアドレスをAWSから広告

![](https://image.slidesharecdn.com/20181119-aws-blackbelt-directconnect-181120103042/95/aws-black-belt-online-seminar-aws-direct-connect-30-638.jpg?cb=1542709873)

### Public VIFによるパブリックサービスへの接続

![](https://image.slidesharecdn.com/20181119-aws-blackbelt-directconnect-181120103042/95/aws-black-belt-online-seminar-aws-direct-connect-31-638.jpg?cb=1542709873)

# AWS Direct Connect Gateway
![](https://image.slidesharecdn.com/20181119-aws-blackbelt-directconnect-181120103042/95/aws-black-belt-online-seminar-aws-direct-connect-34-638.jpg?cb=1542709873)
![](https://image.slidesharecdn.com/20181119-aws-blackbelt-directconnect-181120103042/95/aws-black-belt-online-seminar-aws-direct-connect-35-638.jpg?cb=1542709873)

# パートナー経由のDirect Connect
![](https://image.slidesharecdn.com/20181119-aws-blackbelt-directconnect-181120103042/95/aws-black-belt-online-seminar-aws-direct-connect-40-638.jpg?cb=1542709873)

# 高可用性
## 冗長化の選択肢
https://d1.awsstatic.com/webinars/jp/pdf/services/20200219_BlackBelt_Onpremises_Redundancy.pdf
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398359/a7c45d2c-5806-77b9-2d25-3479f5e564e6.png)

## デュアルロケーション
![](https://image.slidesharecdn.com/20181119-aw![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398359/5b1ad3da-47a6-8562-a4c3-3cc0d1dc910e.png)
lackbelt-directconnect-181120103042/95/aws-black-belt-online-seminar-aws-direct-connect-46-638.jpg?cb=1542709873)
![](https://image.slidesharecdn.com/20181119-aws-blackbelt-directconnect-181120103042/95/aws-black-belt-online-seminar-aws-direct-connect-47-638.jpg?cb=1542709873)
![](https://image.slidesharecdn.com/20181119-aws-blackbelt-directconnect-181120103042/95/aws-black-belt-online-seminar-aws-direct-connect-48-638.jpg?cb=1542709873)

## 複数のDirect Connectによる冗長化
- VGWは内部的に冗長化されているので冗長化の意識は不要
- 同一ロケーションの冗長化は旧来の方法。今はベストプラクティスではない
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398359/ef4626f4-8881-1868-4ef8-f20fd042bb38.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398359/e5fe8d21-ed31-d6d2-fd8c-246b45e96184.png)

## BGPパス属性を用いた経路制御
- TIPS: 一部のルーターOSでは、Graceful Restart*の機能がデフォルトで有効になっているBFDとGraceful Restartを併用すると、意図した障害検出が出来ず、切り替えに時間がかかるので、無効にしておくことを強く推奨
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398359/e95afcc2-39ed-68a6-cdd0-c08f25f1a4b0.png)

## 障害時の経路切り替え時間の短縮
![](https://image.slidesharecdn.com/20181119-aws-blackbelt-directconnect-181120103042/95/aws-black-belt-online-seminar-aws-direct-connect-57-638.jpg?cb=1542709873)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398359/58005bb1-6689-12ca-22d1-cd96838cbca3.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398359/65034453-3cea-3eee-75bd-18439d2c886f.png)

## コスト抑制条件に適用した冗長化
- Standbyへ切り替わり時には、通信品質の劣化を許容することも必要
- パートナーのサービスによっては、意図する経路設計が出来ない事もあるので、事前に確認が必要
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398359/9a23723a-4b77-7d8f-342e-7cfabf99d073.png)
- BGPのASパス属性でVPN側を優先したとしても、AWS→オンプレミス方向の通信は、必ずDirect Connectが優先される
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398359/8476d0fa-9b2c-1c60-fe30-5b69eb0d6358.png)

## パートナー網を経由した冗長化
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398359/cd7972dd-cef3-ba50-0d80-c2cf75ad2fce.png)

## Direct Connect Gatewayに対する冗長化
- 本番と開発のリソースを分ける観点から、DXGWを分けたい要望があるが、
VGWアタッチの制約で不可
- （そもそもDirectConnectGatewayは内部で冗長されている)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398359/9656f24d-a8b2-7617-ae57-5e6dc90c0704.png)

## Transit Gatewayに対する冗長化
- TGWを分ける必要が無い理由: HyperPlane 
    - 大量のリソースを仮想的に分割して提供
- TIPS: TGWを分ける事で、利用するVPC CIDRごとに使う物理線を分割可能
    - パートナのサービスにおいて、１つしかVPCが利用できない場合など
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398359/bc7281cc-a498-fc31-ed81-ecaf8f724203.png)

# 障害に対する対応
## ゲームデー
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398359/a0ce92b9-f1f4-4096-7570-e719e28867b5.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398359/adcd8607-6aa0-ae92-acf2-0abf5d285f53.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398359/44520fe1-b1f9-e2f7-1e3c-a3df1b95bcdc.png)

## 回復性向上
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398359/4c5323db-ad06-20b5-8450-5ab79cd64584.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398359/3654dfc5-d59b-c7b2-c171-f085728bee16.png)

# 各種制限
![](https://image.slidesharecdn.com/20181119-aws-blackbelt-directconnect-181120103042/95/aws-black-belt-online-seminar-aws-direct-connect-63-638.jpg?cb=1542709873)
![](https://image.slidesharecdn.com/20181119-aws-blackbelt-directconnect-181120103042/95/aws-black-belt-online-seminar-aws-direct-connect-64-638.jpg?cb=1542709873)

# セキュリティ

https://docs.aws.amazon.com/ja_jp/directconnect/latest/UserGuide/security.html

- 各アカウントで多要素認証 (MFA) を使用します。
- TLS を使用して AWS リソースと通信します。TLS 1.2 以降が推奨されています。
- AWS CloudTrail で API とユーザーアクティビティログをセットアップします。
- Amazon Macie などの高度なマネージドセキュリティサービスを使用します。これにより、Amazon S3 に保存される個人データの検出と保護が支援されます。
- コマンドラインインターフェイスまたは API を使用して AWS にアクセスするときに FIPS 140-2 検証済みの暗号化モジュールが必要な場合は、FIPS エンドポイントを使用します。
- 
## データ保護


# 状態監視

https://docs.aws.amazon.com/ja_jp/directconnect/latest/UserGuide/monitoring-cloudwatch.html

- AWS Direct Connect は AWS Direct Connect 接続に関する以下のメトリクスを 30 秒間隔で Amazon CloudWatch に送信
- Amazon CloudWatch は、このデータポイントを 1 分間隔または 5 分間隔に集計
## Cloud Watch DX 接続メトリクス

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398359/19d710c1-0bfb-abc3-fe9d-97e13821f638.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398359/aba051f4-1435-2af3-1e19-68a049888752.png)

## VIFのメトリクス

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398359/514a65ea-05a7-723b-284b-dda1794bf358.png)

## 使用可能なディメンション

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398359/e1f3cf9d-e0db-dcdc-07a5-2eed5a3b1d07.png)