AWS Direct Connect
概要
個人学習ではなかなか試しに使用してみることが難しいところかもしれません。
特に私の場合はオンプレの構築経験もないので、少し実践的な理解が難しいところです。
Direct ConnectはオンプレのデータセンターとAWSを専用回線でつなぐサービスです。
AWS Direct Connect はプレミスから AWS への専用ネットワーク接続の構築をシンプルにするクラウドサービスソリューションです。AWS Direct Connect を使用すると、AWS とデータセンター、オフィス、またはコロケーション環境との間にプライベート接続を確立することができます。これにより、多くの場合、ネットワークのコストを削減し、帯域幅のスループットを向上させ、インターネットベースの接続よりも安定したネットワークエクスペリエンスをお客様に提供することが可能となりました。
引用元:AWS Direct Connect(AWS への専用ネットワーク接続)| AWS
AWSとオンプレを接続する方法としては大きくはDirect ConnectとインターネットVPNが存在します。
インターネットVPNは一般的な概念と同様で、インターネットを経由した経路でSSLやIPSecで暗号化を行う拠点間の接続方法です。
この2つを比較した場合の特徴は以下の通り。
■回線
・インターネットVPN:ベストエフォート。インターネット回線を経由するため、その影響を受ける。
・Direct Connect:キャリアによる保証。タイプ(占有型、共有型)によって保証帯域に違いがある。
Direct Connectを使用して、バックアップ回線としてインターネットVPNを利用するというユースケースは割とあるみたいです。
Direct Connectの構成タイプ
■物理接続
そもそもAWSはリージョンの場所を公表していないので、直接接続することができない。
そのため、実際にはDirect Connectロケーションと呼ばれる相互接続ポイントに接続することになる。
ユーザラックのネットワーク機器を自前で配置する専有型とAWS Direct Connectパートナーが用意した機器を利用する共有型が存在する。
専有型では1Gbpsと10Gbpsから選択する。
■論理接続
Direct Connectでは物理接続を論理的に分割して論理接続を行うことができる。
分割した論理接続はそれぞれ別のAWSアカウントで利用することができる。
論理接続を行った場合、論理インタフェースごとにVLANIDが割り振られ分別が行われる。
■プライベート接続
論理接続の論理インタフェースに行う設定です。
プライベートIPアドレス空間を利用し、VPCに接続を行う。
オンプレ側からVPC内のプライベートリソースにアクセスできるようになる。
■パブリック接続
AWS全リージョンへのパブリックサービスへのアクセスを行うための接続。
オンプレ側からの接続はNATを経由しなければならない。
Direct Connect Gateway
プライベート接続を行う際にAWS側に仮想プライベートゲートウェイ(VPG)を設定する必要がある、その際にDirect Connect Gatewayを設定する。
Direct Connect GatewayはVIFとVPGの間に設置するようである。
※完全に文章だけなのでイメージがしにくい・・・
■特徴
・いずれかのリージョンに作成すると、AWSの全リージョンに作成される。
・複数のリージョンのまたがったVPC間はDirect Connect Gatewayを経由すると接続できない。
VPC間で接続できないだけで異なるリージョンのDirect Connect Gateway間自体は接続できる?
Amazon CloudFront
概要
CDN(コンテンツデリバリネットワーク)なので、静的、動的なウェブコンテンツを配信するサービス。
Amazon CloudFront は、データ、動画、アプリケーション、および API をすべて開発者にとって使いやすい環境で、低レイテンシーの高速転送により世界中の視聴者に安全に配信する高速コンテンツ配信ネットワーク (CDN) サービスです。CloudFront は、AWS と統合され、どちらの物理的な場所も AWS のグローバルインフラストラクチャならびにその他の AWS サービスと直接接続されます。
引用元:Amazon CloudFront(グローバルなコンテンツ配信ネットワーク)| AWS
実際のサービスを利用する際にはCloudFrontの位置情報からエッジサーバの場所を特定しエッジサーバにアクセスする。
エッジサーバにはオリジンサーバから取得したコンテンツのキャッシュが存在するため、キャッシュが存在すれば高速な応答が可能となる。
暗号化通信
■クライアントとエッジサーバ間
デフォルトドメインである「cloudfront.net」ドメインのSSL証明書を利用でき、SSL通信(HTTPS)を行う。
これにより、暗号化通信を行う。
■エッジサーバとオリジンサーバ間
オリジンサーバの種類によって異なる。
・S3バケット
バケットに格納したオブジェクトを参照する場合、クライアントからエッジサーバにアクセスしたプロトコルが使用される。HTTPSでアクセスされたらそのまま通信が行われると。
Redirect HTTP to HTTPS または Only HTTPSを設定することでHTTPS必須にすることができる。
・S3静的ウェブホスティング
htmlファイルを格納してブラウザで参照できるようにしたりするアレ。
この場合では、S3のエンドポイントがHTTPS通信を受け入れてないためHTTPS通信を利用できない。
・カスタムオリジン
S3バケットと同様にRedirect HTTP to HTTPS または Only HTTPSを設定することでHTTPS必須にすることができる。
その他機能
■署名付きURL
コンテンツのアクセスを一定期間だけに限定する場合には署名付きURLにする。
■オリジンサーバの保護
暗号化通信と同様に種類によって異なる。
・S3バケット
Origin Access Identity(OAI)を利用してアクセスをCloud Frontからのみに限定することができる。
・S3静的ウェブホスティング
Cloud Frontから接続を可能にするためには、S3側の設定でパブリックアクセスを可能にしなければならない。
どこからでもアクセス可能にはなってしまう。
・カスタムオリジン
オリジンカスタムヘッダーをオリジンサーバ側でチェックすることでCloud Frontからの接続のみに制限することができる。