拡張 VPC ルーティングは Amazon Redshift ではどのように機能しますか?

最終更新日: 2020 年 9 月 30 日

Amazon Redshift で拡張 VPC ルーティングを有効にしようとしています。拡張 VPC ルーティングはどのように機能しますか? また、それを使用するための重要な考慮事項は何ですか?

簡単な説明

Amazon Redshift では、COPYUNLOAD、および Amazon Redshift Spectrum によって作成されたネットワークトラフィックは、ネットワークインターフェイスを介して流れます。このネットワークインターフェイスは Amazon Redshift クラスターの内部にあり、Amazon Virtual Private Cloud (Amazon VPC) の外側にあります。デフォルトでは、ネットワークトラフィックはパブリックインターネット経由でルーティングされ、宛先に到達します。

ただし、Amazon Redshift 拡張 VPC ルーティングを有効にすると、Amazon Redshift は、代わりに VPC 経由でネットワークトラフィックをルーティングします。Amazon Redshift 拡張 VPC ルーティングでは、利用可能なルーティングオプションを使用し、ネットワークトラフィックについて最も特定的なルートを優先します。VPC エンドポイントは、ルートの優先度において最も優先されます。VPC エンドポイントが利用できない場合、Amazon Redshift はネットワークトラフィックをインターネットゲートウェイ、NAT インスタンス、または NAT ゲートウェイ経由でルーティングします。

Amazon Redshift 拡張 VPC ルーティングを有効にするかどうかを判断するには、次のユースケースを検討してください。

  • パブリックインターネットを経由するのではなく、VPC ゲートウェイエンドポイントを経由する COPY または UNLOAD の Amazon S3 トラフィック。
  • VPC またはオンプレミスサーバーのリモートホストからの (SSH 取り込みを介した COPY コマンドの実行による) SSH トラフィック。
  • VPC インターフェイスエンドポイントを介した Redshift Spectrum 向けの AWS Glue、Amazon Athena、または Apache Hive メタストアのトラフィック。
  • ピア接続された VPC にあるプライベート Amazon Relational Database Service (Amazon RDS) インスタンスへのフェデレーションクエリ

Amazon Redshift 拡張 VPC ルーティングがクラスターのニーズに合っているかどうかを判断するには、次の考慮事項に留意してください。

  • ネットワークトラフィックを制御できます。
  • ネットワークトラフィックにプライベート IP アドレスを使用するため、セキュリティを強化します。
  • Amazon Redshift が他のリソースにアクセスする方法に影響します。したがって、拡張 VPC ルーティングでは、セキュリティグループ、ネットワークアクセスコントロールリスト (ネットワーク ACL)、またはルートテーブルを設定するときに、追加のオーバーヘッドが発生することがあります。
    注意: 正しく設定されていない場合、拡張 VPC ルーティングにより、COPYUNLOAD、または Redshift Spectrum ジョブが失敗する可能性があります。
  • クラスターのパフォーマンスは向上しません。

解決方法

Amazon Redshift によるルーティングメソッドの優先順位付け

重要: 拡張 VPC ルーティングが有効な場合、VPC 経由のトラフィックフローは自動的に有効になりません。VPC エンドポイントを作成し、サブネットのルートテーブルで指定する必要があります。

複数のネットワークパスが存在する場合、Amazon Redshift は利用可能かつ最も特定的なルートを介してトラフィックをルーティングします。

例 1: Amazon Simple Storage Service (Amazon S3) ゲートウェイエンドポイント

次の例では、Amazon Redshift は Amazon S3 ゲートウェイエンドポイント (「vpce-xxxxx」) を介してネットワークトラフィックをルーティングします。

Destination  |  Target
-------------------------
10.0.0.0/16  |  local
0.0.0.0/0    |  igw-xxxxx
pl-6fa54006  |  vpce-xxxxx 

注意: VPC 内の各サブネットは、ルートテーブルに関連付ける必要があります。

例 2: インターネット、NAT ゲートウェイ、または NAT インスタンス

Amazon S3 トラフィックがインターネットゲートウェイ (「igw-xxxxx」) を介してルーティングされるサブネットルートテーブルの例を次に示します。

Destination  |  Target
-------------------------
10.0.0.0/16  |  local
0.0.0.0/0    |  igw-xxxxx

例 3: 宛先への利用可能なルートがない

利用可能なルーティング方法がなく、ルートテーブルが S3 に到達できない場合、COPY および UNLOAD のネットワークトラフィックは次のようにタイムアウトします。

Destination   |  Target
------------------------------
10.0.0.0/16   |  local

数回の再試行後、S3 に到達できないルーティング方法により、次のエラーメッセージが表示されます。

"ERROR:  S3CurlException: Connection timed out after 50001 milliseconds, CurlError 28, multiCurlError 0, CanRetry 1, UserError 0"

拡張 VPC ルーティングが有効になっているかどうかを確認しています

Amazon Redshift で VPC ルーティングが有効になっているかどうかを確認するには、次のいずれかの方法を使用します。

  • Amazon Redshift コンソール: Amazon Redshift コンソールを使用して、拡張 VPC ルーティングが有効になっているかどうかを確認できます。詳細については、拡張 VPC ルーティングの有効化の「拡張 VPC ルーティングを使用してクラスターを作成するには」のセクションを参照してください。
  • AWS コマンドラインインターフェイス (AWS CLI): describe-clusters および grep コマンドを使用して、拡張 VPC ルーティングが「true」に設定されているかどうかを確認します。
  • VPC フローログ: フローログを使用して、VPC 内のネットワークインターフェイスとの間で送受信される IP トラフィックに関する情報をキャプチャします。

拡張 VPC ルーティング設定を確認するために使用される AWS CLI コマンド構文の例を次に示します。

$ aws redshift describe-clusters --cluster-id <cluster-id> | grep EnhancedVpcRouting 

|| EnhancedVpcRouting | True

VPC フローログの例を次に示します。ここでは、プライベート Amazon Redshift IP アドレスと S3 バケット間の COPY ネットワークトラフィックを示します。

Account_ID    ENI    Source_IP    Destination_IP    Source_Port    Destination_Port    Protocol   Packets    Bytes    Start_Time    End_Time
…….
2 540754XXXXXX eni-01783841dad81XXXX 52.216.29.118 172.31.13.236 443 37516 6 279740 390798072 1589668161 1589668221 ACCEPT OK
2 540754XXXXXX eni-01783841dad81XXXX 172.31.13.236 52.216.29.118 37516 443 6 9206 368276 1589668161 1589668221 ACCEPT OK
…….

その他の考慮事項

  • Amazon S3 VPC エンドポイントを使用している場合、S3 バケットは Amazon Redshift クラスターと同じリージョンに存在する必要があります。
  • VPC で DNS サポートが有効になっている必要があります。カスタム DNS を使用している場合は、Amazon S3 および AWS Glue サービスのエンドポイントが解決できることを確認してください。
  • トラフィックが VPC を介して Redshift Spectrum から AWS Glue にプライベートに流れるように、AWS Glue インターフェイスエンドポイントを設定してください。それ以外の場合は、NAT ゲートウェイまたはインターネットゲートウェイが必要です。

拡張 VPC ルーティングの使用についての要件と制約の詳細については、拡張 VPC ルーティングの有効化を参照してください。</p


この記事はお役に立ちましたか?


請求に関するサポートまたは技術的なサポートが必要ですか?