1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

DirectConnectに直結していないVPCへ、オンプレサーバからアクセスする

Posted at

1. はじめに

  • 先日、「DirectConnectに直結していないVPCからオンプレサーバへアクセスする」という記事にて、VPCからオンプレサーバ方向の通信(VPC-A内のOriginサーバ -> VPC-B -> DirectConnect -> オンプレのTargetサーバ)を実現する検証を行った。
  • 追加の要件として、逆方向となるオンプレサーバからVPCへの通信(オンプレのOriginサーバ -> DirectConnect -> VPC1 -> VPC2(Targetサーバ)が発生したため、改めて構成を検証した。
  • 検討した構成は全て実機検証しているが、今回の記事は考え方をまとめるもので、具体的な手順のキャプチャなどは記載しない。
  • もしかしたらよりよい接続方法などあるかもしれない。。

2. 今回のネットワーク要件

  • VPC-Aに接続されているVGWがDXGWに接続されている。
  • オンプレに存在するOriginサーバから、DX及びVPC-Aを経由し、VPC-B内のTargetサーバにhttpアクセスしたい。(DXGWと直結しているVPC-AはCIDRが小さく、そこにはTargetサーバを立てられない、という制約あり)
  • VPC-BのCIDRをDX網側に広報できない。(VPC-Bと重複するCIDRがDX網に接続されている別拠点に既に存在する、という制約あり)
  • DXはホスト型であるため、TransitVifなどは使用できない。

image.png

3. 構成検討

  • NLB及びPrivateLinkを用いて上記の要件を実現した(他の構成は思いつかず)。

image.png

設定内容

  • VPC-B内にInternal NLBを作成。
    • NLBのIPは10.20.0.218。
    • TARGETのnginxインスタンス(10.20.0.196)のみを含むTargetGroupを作成しNLBに設定。
  • Privatelinkを作成。
    • VPC-B内にInternal NLBに紐づくEndpoint Serviceを作成。
    • VPC-A内に上記のEndpoint Serviceと接続するEndpointを作成。EndpointのIPは10.10.0.11。
  • VPC-AのSubnet(10.10.0.0/24)には dst: 10.0.0.0/24 target: VGW のRouteTableがある状態。

確認内容

  • オンプレにあるOriginサーバから「curl 10.10.0.11」で、VPC Endpointを宛先とし、Privatelink及びNLBを経由して、Target(10.20.0.196)のnginxにhttpアクセスできることを確認。
  • Targetのnginxのaccesslogで、アクセス元IPがNLBのIP(10.20.0.218)になっていることを確認。
  • 留意点として、Privatelink経由でのNLBへのアクセスの場合、TargetGroupにおける「クライアントIPアドレスの保持」設定のON/OFFに関わらず、全てTargetサーバから見るとアクセス元IPはNLBのIPになり、OriginサーバのIPを判別することはできない。詳しくはこちらの記事「Network Load Balancer (NLB) のソースIPアドレスに思いを馳せてみた」を参照。
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?