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 の画面左側のメニューから Destinations → Add 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 SCHEMA と CREATE 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 コネクタを作成します。

Connectors → Add 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 を適用する構成は有効な選択肢です。この記事が何かの参考になれば幸いです!


Snowflakeの導入支援はクラスメソッドに!

クラスメソッドでは Snowflake の導入を支援しております。
製品の詳細や支援の内容についてお気軽にお問い合わせください。

Snowflakeの詳細を見る

この記事をシェアする

関連記事