FivetranでAurora PostgreSQLからSnowflakeへの全経路をAWS PrivateLinkで接続してみた

FivetranでAurora PostgreSQLからSnowflakeへの全経路をAWS PrivateLinkで接続してみた

2026.04.16

かわばたです。

Fivetran を使って Aurora PostgreSQL から Snowflake へデータを連携する際、通常はパブリックインターネット経由で接続しますが、セキュリティ要件が厳しい環境では全経路をプライベートネットワーク内に閉じたいケースがあります。

今回、Source 側(Aurora PostgreSQL → Fivetran)と Destination 側(Fivetran → Snowflake)の両方で AWS PrivateLink を使い、パブリックインターネットを経由しない閉域構成を試してみたので、手順と確認結果をまとめます。

https://fivetran.com/docs/connectors/databases/postgresql/aurora-setup-guide

https://fivetran.com/docs/connectors/databases/connection-options/aws-private-link

https://fivetran.com/docs/destinations/snowflake/setup-guide

機能概要

今回構築する全体構成は以下のとおりです。

Aurora PostgreSQL → NLB → VPC Endpoint Service ←[PrivateLink]← Fivetran →[PrivateLink]→ Snowflake

Source 側と Destination 側で PrivateLink の仕組みが異なります。

Source 側(Aurora PostgreSQL → Fivetran)

ユーザーが Aurora PostgreSQL の前段に internal NLB と VPC Endpoint Service を構築します。Fivetran は自社 VPC に Interface VPC Endpoint を作成して接続します。ユーザーが構築する範囲は Host VPC 側のみです。

Destination 側(Fivetran → Snowflake)

Snowflake サポートに PrivateLink の有効化を申請し、Fivetran のサポートと連携して接続を設定します。ユーザーは Snowflake 側のネットワークポリシー設定と Fivetran の Destination 設定を行います。

2026-04-15_10h06_39

制限事項

共通

  • Fivetran の Business Critical プランが必要です

Source 側(Aurora PostgreSQL)

  • 2026年4月15日時点では、PostgreSQL コネクタの AWS PrivateLink セルフサービス設定は Beta です
  • NLB に Security Group を利用する場合は、作成時に少なくとも 1 つ関連付けておく必要があります。
    作成時に Security Group を関連付けなかった NLB には、後から追加できません。
  • Aurora PostgreSQL では TLS を有効化しておく必要があります

Destination 側(Snowflake)

  • Snowflake アカウントが Business Critical 以上のエディションである必要があります
  • 2026年3月30日時点では、対応リージョンに制限があります
  • PrivateLink 接続の場合、以下の Snowflake パラメータの設定が必要です(Fivetran公式ドキュメント記載のパラメータ名に従う)
    • PREVENT_LOAD_FROM_INLINE_URL = FALSE
    • REQUIRE_STORAGE_INTEGRATION_FOR_STAGE_OPERATION = FALSE
  • QUOTED_IDENTIFIERS_IGNORE_CASE = FALSE である必要があります(ソース名の大文字小文字を保持するため)
  • Snowflake はパスワード認証を廃止予定のため、キーペア認証が推奨されています

コスト

  • AWS PrivateLink(VPC Endpoint Service)の利用料金が発生します(エンドポイント時間 + データ処理量)
  • NLB の利用料金が発生します
  • Snowflake / Fivetran 側の PrivateLink 利用に伴う追加費用が発生する可能性があります
  • Fivetran の利用料金(Monthly Active Rows 等に基づく)および Snowflake のコンピュート・ストレージ料金は別途発生します

前提条件

項目
Fivetran プラン Business Critical
Aurora PostgreSQL 作成済み(VPC 内の private subnet に配置)
Snowflake AWS、Business Critical エディション
AWS リージョン ap-northeast-1
Source 側 PrivateLink 設定方式 セルフサービス(2026年4月15日時点では Beta)
Destination 側 PrivateLink Snowflake サポートおよび Fivetran サポートとの連携が必要

事前準備

Snowflake 側の準備

セットアップスクリプトの実行

Fivetran の公式ドキュメントに記載されているセットアップスクリプトを Snowflake のワークシートで実行します。このスクリプトで Fivetran 用のロール・ユーザー・ウェアハウス・データベースを作成します。

USE ROLE SECURITYADMIN;

-- Fivetran 用ロールの作成
CREATE ROLE IF NOT EXISTS FIVETRAN_ROLE;

-- Fivetran 用ユーザーの作成
CREATE USER IF NOT EXISTS FIVETRAN_USER
  DEFAULT_ROLE = FIVETRAN_ROLE;

-- ロールをユーザーに割り当て
GRANT ROLE FIVETRAN_ROLE TO USER FIVETRAN_USER;
USE ROLE SYSADMIN;

-- Fivetran 用ウェアハウスの作成
CREATE WAREHOUSE IF NOT EXISTS FIVETRAN_WAREHOUSE
  WAREHOUSE_SIZE = 'XSMALL'
  AUTO_SUSPEND = 60
  AUTO_RESUME = TRUE;

-- Fivetran 用データベースの作成
CREATE DATABASE IF NOT EXISTS FIVETRAN_DATABASE;
USE ROLE SECURITYADMIN;

-- ウェアハウスとデータベースの権限を Fivetran ロールに付与
GRANT USAGE ON WAREHOUSE FIVETRAN_WAREHOUSE TO ROLE FIVETRAN_ROLE;
GRANT CREATE SCHEMA ON DATABASE FIVETRAN_DATABASE TO ROLE FIVETRAN_ROLE;
GRANT USAGE ON DATABASE FIVETRAN_DATABASE TO ROLE FIVETRAN_ROLE;
USE ROLE ACCOUNTADMIN;

-- デフォルトウェアハウスの設定
ALTER USER FIVETRAN_USER SET DEFAULT_WAREHOUSE = FIVETRAN_WAREHOUSE;

-- Snowflakeの設定パラメータ

ALTER ACCOUNT SET PREVENT_LOAD_FROM_INLINE_URL = FALSE;
ALTER ACCOUNT SET REQUIRE_STORAGE_INTEGRATION_FOR_STAGE_OPERATION = FALSE;

各 SQL が正常に実行されれば OK です。

キーペア認証の設定

Snowflake のパスワード認証は廃止予定のため、キーペア認証を設定します。ローカル環境で OpenSSL を使って RSA 鍵ペアを生成します。

秘密鍵を生成します。

openssl genrsa -out rsa_key.pem 2048

秘密鍵から公開鍵を生成します。

openssl rsa -in rsa_key.pem -pubout -out rsa_key.pub

生成した公開鍵を Snowflake ユーザーに割り当てます。公開鍵ファイルの中身から -----BEGIN PUBLIC KEY----------END PUBLIC KEY----- のヘッダー・フッターおよび改行を除いた部分を使用します。

USE ROLE SECURITYADMIN;

ALTER USER FIVETRAN_USER SET RSA_PUBLIC_KEY='MIIBIjANBgkqh...(公開鍵の内容)';

設定が反映されたことを確認します。

DESC USER FIVETRAN_USER;

RSA_PUBLIC_KEY_FP にフィンガープリントが表示されていれば OK です。

2026-04-15_10h30_42

Aurora PostgreSQL 側の準備

Aurora PostgreSQL の作成

Aurora PostgreSQL の作成手順については割愛しますが、以下の点を確認しておきます。

  • エンジンは Aurora PostgreSQL
  • ホスト側 VPC のサブネットを選ぶ形でサブネットグループを作成する
  • 検証では Aurora PostgreSQL を使用しました
  • 「開発用」を選びシングルノードにする

Fivetran ユーザーの作成と権限付与

Aurora PostgreSQL に Fivetran 用のユーザーを作成し、必要な権限を付与します。

-- Fivetran 用ユーザーの作成
CREATE USER fivetran_user WITH PASSWORD 'your_password';

同期対象のスキーマに対して SELECT 権限を付与します。

GRANT USAGE ON SCHEMA public TO fivetran_user;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO fivetran_user;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO fivetran_user;

クラスターエンドポイントのIPアドレスを確認する

NLB のターゲットグループに登録するため、Aurora のクラスターエンドポイントを名前解決して IP アドレスを取得します。

dig +short <Aurora writer endpoint>

返された IP アドレスを控えておきます。

試してみた

AWS PrivateLink を使用するには、SnowflakeサポートとFivetranサポートの双方に連絡が必要です。

まず、Snowflake サポートに以下の情報を送付して PrivateLink の有効化を依頼します。

  • Fivetran の AWS VPC アカウント ID: arn:aws:iam::834469178297:root
  • Snowflake アカウント URL: https://<account>.snowflakecomputing.com
  • Snowflake アカウント名
  • Snowflake アカウントロケーター
  • クラウドプラットフォーム: AWS

2026-04-15_10h53_02

Snowflake サポートからの返信を受け取ったら、Snowflake で PrivateLink 設定情報を取得します。

USE ROLE ACCOUNTADMIN;

SELECT SYSTEM$GET_PRIVATELINK_CONFIG();

JSON 形式の結果が返却されれば OK です。

2026-04-15_10h56_16

取得した VPC エンドポイントサービス名と SYSTEM$GET_PRIVATELINK_CONFIG() の出力結果を、Fivetran のサポートに送付します。

2026-04-15_11h11_58
Fivetran のサポートより PrivateLink 接続のためのリソース ID(vpc_endpoint_id)が提供されます。これで PrivateLink の接続準備が完了です。

2026-04-15_11h13_20

ネットワークポリシーの設定

Fivetran から Snowflake へ PrivateLink 経由でアクセスできるよう、ネットワークポリシーを設定します。Fivetran の VPC 内部 CIDR 10.0.0.0/8 を許可リストに追加します。

USE ROLE ACCOUNTADMIN;

use database FIVETRAN_DATABASE;

CREATE OR REPLACE NETWORK RULE all_ips 
  TYPE=IPV4 VALUE_LIST=('10.0.0.0/8') 
  MODE=INGRESS COMMENT='Fivetran VPC CIDR'; 

CREATE OR REPLACE NETWORK RULE aws_vpceid_access
    MODE = INGRESS
    TYPE = AWSVPCEID
    VALUE_LIST = ('vpce-××××××'); -- これが vpc_endpoint_id です

CREATE OR REPLACE NETWORK POLICY fivetran_private_link_access 
  ALLOWED_NETWORK_RULE_LIST=('aws_vpceid_access', 'all_ips') ;

ALTER USER FIVETRAN_USER SET NETWORK_POLICY = fivetran_private_link_access;

ネットワークポリシーが正常に作成されたことを確認します。

SHOW NETWORK POLICIES;

作成したポリシーが一覧に表示されれば OK です。

2026-04-15_11h15_43

Fivetran で Snowflake Destination を作成

Fivetran のダッシュボードにログインし、Snowflake Destination を作成します。

Fivetran の画面左側のメニューから DestinationsAdd destination を選択します。

Destination type で Snowflake を選択し、以下の項目を設定します。

設定項目 設定値
Destination Name 任意の名前
Deployment Model SaaS
Connection Method PrivateLink
Host PrivateLink 用のホスト URL
User FIVETRAN_USER
Database FIVETRAN_DATABASE
Authentication KEY-PAIR
Private Key 秘密鍵の内容
Is Private Key Encrypted 暗号化鍵を使用した場合は ON + パスフレーズを入力
Default Virtual Warehouse FIVETRAN_WAREHOUSE
Data Processing Location データ処理を行うリージョンを選択
Timezone タイムゾーンを選択

2026-04-15_11h32_52

2026-04-15_11h33_05

設定が完了したら Save & Test をクリックします。

Destination の接続テスト確認

Save & Test をクリックすると、Fivetran が自動的に以下のバリデーションテストを実行します。

  • Host Connection: ホストへのアクセスと認証情報の検証
  • Passphrase Validation: 秘密鍵とパスフレーズの検証(キーペア認証の場合)
  • Default Warehouse: ウェアハウスの存在確認とデフォルト設定の検証
  • Database Connection: 指定データベースへの接続確認
  • Permission Test: CREATE SCHEMACREATE TEMPORARY TABLES 権限の検証

2026-04-15_11h34_48

すべてのテストが Passed になれば OK です。

Security Group を作成する

NLB に Security Group を使う場合は作成時に関連付ける必要があるため、先に作成しておきます。

NLB 用 Security Group

2026-04-15_12h04_00

2026-04-15_12h11_13

Aurora 用 Security Group の確認

Aurora の Security Group に、NLB 用 Security Group からの TCP 5432 inbound が許可されていることを確認します。

Aurora の Security Group では、送信元として別の Security Group を指定できます。これにより、Aurora への到達を NLB 経由に限定できます。

2026-04-16_09h11_30

internal NLB を作成する

以下の設定で NLB を作成します。

設定項目
タイプ Network Load Balancer
Scheme internal
VPC Aurora が配置された VPC
サブネット 2 AZ 分の private subnet
Security Group NLB 用 Security Group

2026-04-15_12h15_53

Target Group を作成して Aurora の IP を登録する

設定項目
Target type ip
Protocol TCP
Port 5432
VPC Aurora が配置された VPC
Health check TCP

image (7

ターゲットとして、事前準備で取得した Aurora クラスターエンドポイントのIPアドレスを登録します。

ヘルスチェックが Healthy になることを確認します。

image (2)

Listener を設定する

NLB に TCP 5432 の Listener を追加し、作成した Target Group に転送する設定にします。

設定項目
Protocol TCP
Port 5432
Default action 作成した Target Group に転送

image (3)

VPC Endpoint Service を作成する

VPC コンソールの Endpoint services から作成します。

設定項目
Load balancer type Network
NLB 作成した NLB
Acceptance required 有効

作成後、サービス名(com.amazonaws.vpce.<region>.vpce-svc-xxxxxxxxx)を控えます。この値を Fivetran のコネクタ設定で使用します。

image (7

Fivetran の AWS アカウントを Allow principals に追加する

VPC Endpoint Service の Allow principals に、Fivetran の AWS アカウントを追加します。

arn:aws:iam::834469178297:root

2026-04-16_09h20_49

Fivetran で Aurora PostgreSQL コネクタの接続設定を行う

Fivetran のダッシュボードで Aurora PostgreSQL コネクタを作成します。

ConnectorsAdd connector から Amazon Aurora PostgreSQL を選択します。

Destination には上述の Snowflake PrivateLink の Destination を選択します。

以下の設定を行います。

設定項目
Connection Method AWS PrivateLink
VPC Endpoint Service Name 前手順で控えたサービス名
AWS Region VPC Endpoint Service のリージョン
Host Aurora の writer endpoint
Port 5432
User Fivetran 用ユーザー
Password ユーザーのパスワード
Database データベース名

2026-04-02_13h20_22

2026-04-02_13h26_19

2026-04-02_13h26_31 (1)

Fivetran からの接続リクエストを Accept する

Fivetran 側で設定を保存すると、Fivetran が自社 VPC に Interface VPC Endpoint を作成し、VPC Endpoint Service への接続リクエストが送信されます。

AWS コンソールの VPC Endpoint Service の Endpoint connections タブで、Fivetran からの接続リクエストを確認し、Accept します。

image (2)1

image (3)1

image (4)1

ステータスが Available になれば問題ないです。

コネクタの接続テストを実行する

Fivetran のコネクタ設定画面で Save & Test を実行します。

2026-04-08_16h18_05

すべてのテストが Passed になれば OK です。

End-to-End 確認

同期の実行と確認

接続テストが完了したら、Select Data to Sync で同期対象のスキーマ・テーブルを選択し、同期を実行します。

2026-04-08_16h18_36

Snowflake 側でデータが連携されていることを確認します。

2026-04-15_12h50_11

データが取得できれば、Aurora PostgreSQL → Fivetran → Snowflake の全経路が AWS PrivateLink 経由で接続された状態で同期が完了です。

最後に

Fivetran の公式ドキュメントに従って、Aurora PostgreSQL(Source)と Snowflake(Destination)の両方で AWS PrivateLink を使った閉域構成での接続を試してみました。

手順としては、Destination 側(Snowflake)は Snowflake サポートや Fivetranサポートとのやり取りが発生するため、PrivateLink の有効化までに時間がかかる点は留意が必要です。一方、Source 側(Aurora PostgreSQL)はセルフサービス(Beta)で完結するため、AWS リソースの構築を含めても比較的スムーズに進められました。

セキュリティ要件でパブリックインターネット経由の通信を全経路で避けたい場合には、Source・Destination 双方に PrivateLink を適用する構成は有効な選択肢です。この記事が何かの参考になれば幸いです!

この記事をシェアする

関連記事