AWSでウェアハウスごとのConsoleエンドポイントへのプライベート接続を設定する
このガイドでは、AWS PrivateLinkを使用して、パブリックインターネットを経由せずにAWS VPCからウェアハウスごとのConsoleエンドポイントにプライベートアクセスする方法について説明します。
接続モデルと要件の概要については、ウェアハウスごとのConsoleエンドポイントへのプライベート接続を参照してください。
要件
- Consoleホスト名と対応するAWSリージョン。
- ウェアハウスごとのConsoleツールを使用するユーザーがアクセスできるAWS VPC。
- Interface VPC Endpoint、セキュリティグループルール、Route 53プライベートDNSレコードを作成する権限。
- VPCでDNS resolutionとDNS hostnamesが有効であること。
- クライアントとエンドポイント間でTCPポート
443が許可されていること。
本番環境では、可能な場合は複数のアベイラビリティゾーンにエンドポイントサブネットを配置してください。
リージョン別Endpoint Service
| AWSリージョン | Endpoint Service名 |
|---|---|
us-east-1 | com.amazonaws.vpce.us-east-1.vpce-svc-0fb96af7d8cd84d4d |
us-west-2 | com.amazonaws.vpce.us-west-2.vpce-svc-0709eceab1c84431a |
eu-west-1 | com.amazonaws.vpce.eu-west-1.vpce-svc-027fb01a146da1e29 |
eu-central-1 | com.amazonaws.vpce.eu-central-1.vpce-svc-0b44881fddef6b599 |
ap-southeast-1 | com.amazonaws.vpce.ap-southeast-1.vpce-svc-06e619c006c767a35 |
ap-southeast-7 | com.amazonaws.vpce.ap-southeast-7.vpce-svc-0378cb9082f6839fd |
ap-northeast-1 | com.amazonaws.vpce.ap-northeast-1.vpce-svc-02a4c77c825111428 |
ap-south-1 | com.amazonaws.vpce.ap-south-1.vpce-svc-066b8836d19ee2a95 |
ap-east-1 | com.amazonaws.vpce.ap-east-1.vpce-svc-07c3dac48f26cc10a |
me-south-1 | com.amazonaws.vpce.me-south-1.vpce-svc-0f51549e7949898ca |
me-central-1 | com.amazonaws.vpce.me-central-1.vpce-svc-01bb92d635d16039f |
手順1: Interface VPC Endpointを作成する
- AWS Management ConsoleでVPC > Endpointsを開きます。
- Create endpointを選択します。
velodb-studioなどの名前を入力します。- TypeでEndpoint services that use NLBs and GWLBsを選択します。
- リージョンに対応するVeloDB Cloud Service名を入力します。
- Verify serviceを選択し、Service名が検証されることを確認します。
- ウェアハウスごとのConsoleツールのクライアントが使用するVPCを選択します。
- 1つ以上のエンドポイントサブネットを選択します。
- クライアントのCIDR範囲またはクライアントセキュリティグループからのTCP
443インバウンドを許可するセキュリティグループをアタッチします。 - エンドポイントを作成します。
状態がPending acceptanceのままの場合は、次の情報をVeloDB Supportに送信します。
- VeloDB Cloud組織名
- Consoleホスト名
- AWSリージョン
- VPC Endpoint ID(例:
vpce-0123456789abcdef0)
エンドポイントの状態がAvailableになってから続行します。
手順2: プライベートDNSを設定する
エンドポイントのDetailsタブからリージョンDNS名を記録します。形式は次のとおりです。
vpce-xxxxxxxx-yyyyyyyy.vpce-svc-xxxxxxxx.<region>.vpce.amazonaws.com
次にRoute 53を設定します。
-
VPCで
enableDnsSupportとenableDnsHostnamesが有効であることを確認します。 -
クライアントVPCに関連付けられたRoute 53 Private Hosted Zoneを作成または選択します。
-
実用上最も限定的なゾーン名を使用します。例:
us-east-1.aws.velodb.cloud -
完全なConsoleホスト名の
CNAMEレコードを作成し、リージョンVPC Endpoint DNS名を指定します。
| レコード | タイプ | 値 |
|---|---|---|
awvadbgl-studio.us-east-1.aws.velodb.cloud | CNAME | リージョンVPC Endpoint DNS名 |
Private Hosted Zoneは、関連付けられたVPC内でリージョンサフィックス全体に対して権威を持ちます。そのサフィックスのホスト名に一致するプライベートレコードがない場合、Route 53はパブリックDNSにフォールバックしません。クライアントが解決する必要のあるリージョン内のすべてのウェアハウスごとのConsoleホスト名にCNAMEレコードを追加してください。追加しない場合、同じリージョン内の他のウェアハウスホスト名がNXDOMAINを返すことがあります。
VeloDB Supportから明示的な指示がない限り、Endpoint Serviceの自動Private DNSオプションは無効のままにします。
手順3: 接続を確認する
VPC内のクライアントから次のコマンドを実行します。
nslookup awvadbgl-studio.us-east-1.aws.velodb.cloud
DNSチェーンは、エンドポイントのネットワークインターフェースに属するプライベートIPアドレスに解決される必要があります。
TLSとHTTPルーティングを確認します。
curl -sS \
-o /dev/null \
-w 'remote_ip=%{remote_ip} http_code=%{http_code}\n' \
https://awvadbgl-studio.us-east-1.aws.velodb.cloud/webui_api/api/data/catalogs
リモートアドレスがプライベートであること、--insecureを使用せずにTLS検証が成功すること、サーバーがHTTPレスポンスを返すことを確認します。未認証のリクエストは401、403、またはリダイレクトを返すことがあります。
最後に、認証済みブラウザーからVeloDB Consoleでウェアハウスを開き、SQL Editorでクエリを実行するなど、対象機能を使用します。
オンプレミスネットワークから接続する
- AWS Direct ConnectまたはVPNを使用して、オンプレミスネットワークをエンドポイントVPCに接続します。
- ルートとセキュリティルールで、エンドポイントのネットワークインターフェースへのTCP
443アクセスを許可します。 - リージョン別VeloDB CloudプライベートゾーンをRoute 53 Resolverに転送するように企業DNSを設定します。
トラブルシューティング
| 問題 | 確認事項 |
|---|---|
| Service名を検証できない | VPCリージョンがService名と一致し、エンドポイントタイプがInterfaceであることを確認します。 |
| エンドポイントがPendingのまま | VPC Endpoint IDの承認をVeloDB Supportに依頼します。 |
| Consoleホスト名がパブリックに解決される | Private Hosted Zone名、VPCの関連付け、レコード名、DNS転送を確認します。 |
| 接続がタイムアウトする | エンドポイントの状態、セキュリティグループ、ネットワークACL、ルート、TCP 443アクセスを確認します。 |
| TLS検証に失敗する | VPC Endpoint DNS名やプライベートIPではなく、元のConsoleホスト名を使用します。 |