はじめに

本記事は、AWS環境上のVerticaクラスタ間でデータコピーやエクスポートを行う上で、一般的な確認項目をご紹介します。対象となるデータコピー操作の概要は、以下の記事を合わせてご確認ください。

異なるクラスタのテーブルにデータをコピーする方法(EXPORT TO VERTICA)
http://vertica-tech.ashisuto.co.jp/export_to_vertica/

特定テーブルのデータを別環境のVerticaに直接コピーする方法
http://vertica-tech.ashisuto.co.jp/copy_from_vertica/

確認項目

1.パブリックIPの確認

Verticaクラスタ(ソース)とVerticaクラスタ(宛先)が異なるVPC上に存在する場合、通信する全ノードがパブリックIPを持っているか確認します。
※同一VPC上に存在する場合、プライベートIPを使用して通信可能なため、本項目は確認不要です。「2.セキュリティグループの確認」に進んでください。
※本記事における「パブリックIP」は、ElasticIPあるいは自動割り当てパブリックIPを指します。

ノードへのパブリックIPの割り当て

Verticaクラスタ(ソース)の全ノードと、Verticaクラスタ(宛先)の全ノードにパブリックIPが割り当てられて、通信できることを確認します。

DontCheckNetworkAddressパラメータの確認

Veritca9.1以前のバージョンを利用されている場合、ネットワークインターフェースを作成する際に、パブリックIPをノードに割り当てようとすると、Verticaはエラーを返します。
9.2以降のバージョンでは、本仕様は変更されているためDontCheckNetworkAddressパラメータの確認は不要です。「2.セキュリティグループの確認」に進んでください。


上記エラーは、プライベートIPではなくパブリックIPを割り当てようとしていることによって発生します。問題解消のために、DontCheckNetworkAddressをTrueに変更します。デフォルトはFalseです。


変更後のパラメータは以下コマンドで確認します。


変更後、エラーなくネットワークインターフェースの作成が完了することを確認します。


2.セキュリティグループの確認

セキュリティグループに、Verticaクラスタ間通信を許可するルール設定がされているか確認します。具体的には以下の許可ルール設定が必要です。
ポート:5433,5434
ソースIPアドレス:通信先VerticaクラスタのノードIP、その他接続元となるAWSサービス(ELB等)

また、通信対象のVerticaクラスタが異なるVPC上にある場合は、ネットワークACLのルールで以下ポート通信における拒否ルールがないか確認します。
ポート:5434

3.ELBを利用している場合の確認

VerticaクラスタとELBの通信における許可ポート

Verticaクラスタ側およびELB側で、以下ポート通信の許可ルールが設定されているか確認します。
ポート:5433

VerticaクラスタとELBの通信について

「Verticaクラスタ(ソース) ⇒ ELB ⇒ 別Verticaクラスタ(宛先)」の構成では、ELBはVerticaクラスタ(ソース)から別Verticaクラスタ(宛先)への接続要求のみ分散します。 一度接続が確立した後は、データの伝送はELBを介さずに「Verticaクラスタ(ソース) ⇒ 別Verticaクラスタ(宛先)」間で直接行われます。

参考情報

Copying and Exporting Data on AWS: What You Need to Know
https://www.vertica.com/docs/10.1.x/HTML/Content/Authoring/UsingVerticaOnAWS/MigratingDataBetweenAWSClusters.htm

検証バージョンについて

この記事の内容はVertica 10.1で確認しています。

更新履歴

2021/10/13 本記事を公開