Amazon AppFlow × SaaS データ統合設計パターン5選|SAA-C03 頻出 AppFlow vs Glue vs DataSync 選択基準を完全攻略

AWS SAA-C03 で頻出の Amazon AppFlow を完全整理。Salesforce/ServiceNow などの SaaS データを AWS に取り込む5つの設計パターン(S3連携・Redshift DWH統合・EventBridge イベント駆動・Lake Formation ガバナンス・AppFlow vs Glue vs DataSync 選択基準)を体系化。試験シナリオを即断できる粒度まで分解する。

「AppFlow は “SaaS データを AWS に取り込むための専用ゲートウェイ” だ。Glue や DataSync と混同して失点するパターンが SAA-C03 で頻発する。AppFlow を選ぶのは『コード不要で SaaS API と接続し、スケジュール/イベント駆動でデータを転送したい』というシナリオだけ。ETL 変換が複雑なら Glue、オンプレファイルの移行なら DataSync、DB 移行なら DMS。この4サービスの使い分けを即答できるかどうかが合否を分ける」 — 本記事では SAA-C03 頻出の Amazon AppFlow 設計パターン5選を体系化し、SaaS データ統合の選択軸から試験シナリオを即断できる粒度まで分解する。

※ 本記事はアフィリエイト広告(Amazon アソシエイト等)を含みます


📑 目次

  1. 結論:AppFlow を選ぶ判定軸
  2. AppFlow の基本構造(フロー・コネクタ・トリガー・変換)
  3. パターン1:Salesforce → S3 → Athena 分析(バッチ取り込み)
  4. パターン2:EventBridge トリガーによるイベント駆動 SaaS 連携
  5. パターン3:AppFlow → Redshift(DWH/BI 統合)
  6. パターン4:AppFlow + Lake Formation データガバナンス統合
  7. パターン5:AppFlow vs Glue vs DataSync vs DMS 4サービス選択ガイド
  8. 試験頻出シナリオ → 解法パターン早見表
  9. 次のアクション チェックリスト
  10. 関連記事
  11. 関連サイト

1. 結論:AppFlow を選ぶ判定軸

Amazon AppFlow は「SaaS アプリケーションと AWS サービスの間でデータを安全に転送するフルマネージド統合サービス」だ。SAA-C03 が問うのは「どのサービスで SaaS データを取り込むか」という選択力であり、AppFlow・Glue・DataSync・DMS の誤選択が失点の主因となる。

AppFlow が最適なシナリオ

シナリオ理由
Salesforce/ServiceNow/Marketo 等の SaaS API からデータを取り込みたい50+ のビルトインコネクタで API 接続をコード不要で設定できる
スケジュール実行またはイベント発生時に自動転送したいトリガー設定で on-demand/scheduled/event-driven を選択可能
データマスキング・フィルタリング・フォーマット変換が必要組み込み変換機能(フィールドマッピング・マスク・フィルタ・数値演算)を UI で設定できる
ネットワークを公衆インターネットに出したくないAWS PrivateLink によるプライベートフロー対応

2. AppFlow の基本構造

AppFlow の動作を理解するには「フロー・コネクタ・トリガー・変換」の4要素を押さえる。

フロー(Flow)

AppFlow の実行単位。1つのフローが「送信元 → 変換 → 送信先」の1本のパイプラインを定義する。フローは独立して管理・モニタリングができ、CloudWatch Metrics でフロー実行状況を監視できる。

コネクタ(Connector)

送信元・送信先の接続先を定義するモジュール。AWS が提供するビルトインコネクタと、カスタム Connector SDK で自作したプライベートコネクタの2種がある。

主要な SaaS ソース(送信元)コネクタ

カテゴリ代表サービス
CRMSalesforce, HubSpot, Zoho CRM
サービス管理ServiceNow, Zendesk, Freshdesk
マーケティングMarketo, Pardot, Mailchimp
コラボレーションSlack, Google Analytics
ERP/財務SAP OData, Infor Nexus

送信先(AWS 側)コネクタ

送信先主な用途
Amazon S3データレイク蓄積・Athena 分析
Amazon RedshiftDWH/BI 統合
Amazon EventBridgeイベント駆動ワークフローの起点
Salesforce(双方向)SaaS 間双方向同期

トリガー(Trigger)

トリガー種別説明ユースケース
On-Demand手動実行またはAPIから起動初回データ投入・スポット実行
Scheduledcronベースの定期実行日次バッチ・時間集計
Event(SaaSイベント)SaaS 側のデータ変更を検知して起動Salesforce の商談ステータス変更をリアルタイム連携

変換(Transformation)

AppFlow は ETL の “T(Transform)” として、以下の組み込み変換をコード不要で設定できる:

  • フィールドマッピング:送信元のカラム名を送信先のスキーマにマッピング
  • フィルタリング:条件式でレコードを絞り込み(例:Amount > 10000
  • マスキング:クレジットカード番号・電話番号等の PII を部分マスク
  • 数値演算:フィールドの加算・減算・文字列連結

3. パターン1:Salesforce → S3 → Athena 分析

課題:営業チームが使う Salesforce の商談データを毎日 AWS に取り込み、Athena で SQL 分析したい。EC2 ベースのカスタムスクリプトを廃止してサーバーレス化したい。

アーキテクチャ

Salesforce(CRM)
  ↓ [AppFlow Scheduled Flow - 毎日 02:00]
  ↓ フィールドマッピング + 金額フィルタ(Amount > 0)
Amazon S3(データレイク)/ Parquet 形式
  ↓ [AWS Glue Crawler - スキーマ自動検出]
AWS Glue Data Catalog(テーブル定義)

Amazon Athena(SQL クエリ)→ QuickSight(可視化)

設計のポイント

選択理由
AppFlow で Salesforce 接続Salesforce API 認証(OAuth 2.0)を AppFlow が管理。カスタムコード不要
出力を Parquet 形式に変換AppFlow は CSV/JSON/Parquet を選択可能。Athena 向けは Parquet が最適(コスト・速度)
Glue Crawler でカタログ化AppFlow が S3 に書いたファイルのスキーマを Glue Crawler が自動登録
Athena で直接クエリS3 上の Parquet をサーバーレスで SQL 分析。EC2 ゼロ

4. パターン2:EventBridge トリガーによるイベント駆動 SaaS 連携

課題:ServiceNow でインシデントが「Critical」に変化した瞬間に、Slack 通知・S3 ログ保存・Lambda による自動エスカレーション処理を同時に実行したい。

アーキテクチャ

ServiceNow(インシデント管理)
  ↓ [AppFlow Event-triggered Flow]
  ↓ フィルタ:Severity = 'Critical'
Amazon EventBridge(イベントバス)

  ├─ Rule 1 → AWS Lambda(自動エスカレーション処理)
  ├─ Rule 2 → Amazon SNS → Slack 通知
  └─ Rule 3 → Amazon S3(インシデントログ永続化)

設計のポイント

選択理由
AppFlow → EventBridge を送信先SaaS イベントを AWS イベントバスに変換し、ファンアウト配信を実現
EventBridge ルールでフィルタリングSeverity = Critical など詳細条件でターゲットを絞れる
Lambda + SNS + S3 の同時起動EventBridge の複数ルールにより1イベントで並列実行
AppFlow でデータ整形EventBridge に送る前に不要フィールドを除外し、イベントサイズを最小化

5. パターン3:AppFlow → Redshift(DWH/BI 統合)

課題:Marketo(マーケティングオートメーション)のキャンペーンデータと Salesforce の商談データを Redshift に集約し、マーケティング ROI を QuickSight で可視化したい。

アーキテクチャ

Salesforce ──[AppFlow Flow A]──→

                                   Amazon Redshift(DWH)
                                  ↗        ↓
Marketo ──[AppFlow Flow B]──→           Amazon QuickSight(BI)

Redshift 直接ロードの特徴

機能詳細
COPY コマンド経由の高速ロードAppFlow は S3 を中継して Redshift COPY でバルクロード。単行 INSERT より数十倍高速
Redshift Serverless 対応プロビジョニング型・Serverless 型の両方に対応
スキーマ自動作成テーブルが存在しない場合、AppFlow が自動作成するオプションあり
既存テーブルへの INSERT/UPSERTUpsert(主キーマッチで更新、なければ挿入)をサポート

6. パターン4:AppFlow + Lake Formation データガバナンス統合

課題:Salesforce の顧客データ(PII 含む)を S3 データレイクに取り込む際、列レベルのアクセス制御で「マーケティング部門は Email 列を見られない」というガバナンスを実装したい。

アーキテクチャ

Salesforce(顧客データ)
  ↓ [AppFlow - PII フィールドをマスキング変換して S3 に格納]
Amazon S3(データレイク Raw/Curated ゾーン)

AWS Glue Crawler(スキーマ検出 → Data Catalog 登録)

AWS Lake Formation(列レベル・行レベルアクセス制御)
  ├─ マーケティングロール → Email 列除外
  ├─ 営業ロール → 全列アクセス可
  └─ データエンジニアリングロール → 全列 + S3 直接アクセス可

Amazon Athena / Amazon Redshift Spectrum(クエリ)

Lake Formation による細粒度アクセス制御

制御種別設定方法
列レベルセキュリティ(Column-level)Lake Formation のデータフィルタで特定列を除外する権限設定
行レベルセキュリティ(Row-level)データフィルタの WHERE 句条件でロールごとに参照行を絞る
セルレベルセキュリティ(Cell-level)列と行の両条件を組み合わせたフィルタ
LF タグベースアクセス制御(TBAC)テーブルに LF タグを付与し、ロールとタグをマッピングして権限を一括管理

7. パターン5:AppFlow vs Glue vs DataSync vs DMS 4サービス選択ガイド

SAA-C03 最頻出の「どのデータ統合サービスを選ぶか」問題。4サービスの使い分けを3軸で整理する。

評価項目
Amazon AppFlow
AWS Glue
AWS DataSync
AWS DMS
接続元の種類 SaaS アプリ(Salesforce/ServiceNow 等) S3/RDS/DynamoDB 等・JDBC オンプレミスのファイルサーバー(NFS/SMB/HDFS) RDB(Oracle/MySQL/PostgreSQL 等)
主な用途 SaaS→AWS のデータ取り込み ETL処理・データカタログ・ML特徴量生成 ファイルデータの大量転送・移行 データベース移行・継続的レプリケーション
コード記述 コード不要(UI/API) PySpark/Scala スクリプト記述 コード不要(設定のみ) コード不要(SCT でスキーマ変換)
変換能力 単純なフィルタ・マッピング・マスキング 複雑な ETL(JOIN・集計・ML 前処理) データ変換なし(転送のみ) 最小限の型変換・スキーマ変換
実行モデル サーバーレス(フローごと) サーバーレス(Glue Job) マネージドエージェント マネージドレプリケーションインスタンス
リアルタイム性 準リアルタイム(イベント駆動) バッチ(スケジュール実行) スケジュール転送 継続的 CDC(変更データキャプチャ)
SAA 試験での典型シナリオ Salesforce の商談データを毎日 S3 へ 複数テーブルを JOIN して Redshift にロード NFS サーバー 100TB を S3 へ移行 Oracle DB を Aurora PostgreSQL へ移行

判定フローチャート

データ統合サービスを選ぶ

接続元は SaaS アプリ(Salesforce/ServiceNow/Marketo 等)?
  YES → Amazon AppFlow
  NO  ↓
接続元はオンプレミスのファイルサーバー(NFS/SMB/HDFS)?
  YES → AWS DataSync
  NO  ↓
接続元はリレーショナルDB(Oracle/MySQL 等)で移行/レプリケーションが目的?
  YES → AWS DMS
  NO  ↓
複雑な ETL(JOIN・集計・ML 前処理)またはデータカタログ管理が必要?
  YES → AWS Glue

8. 試験頻出シナリオ → 解法パターン早見表

シナリオ正解不正解
Salesforce の商談データを毎日 S3 に取り込むAppFlow(Scheduled Flow)EC2 カスタムスクリプト / Glue
ServiceNow のインシデント変更をリアルタイムに Lambda へ連携AppFlow Event Flow → EventBridge → LambdaKinesis(SaaS コネクタなし)
10TB の NFS ファイルサーバーを S3 に移行DataSyncAppFlow / Glue
オンプレ Oracle を Aurora PostgreSQL へ移行DMSDataSync / AppFlow
Salesforce データの Email 列を営業部門にのみ公開AppFlow + Lake Formation 列レベル制御S3 バケットポリシーのみ
Salesforce + Redshift の JOIN で月次レポート生成AppFlow(Salesforce→S3)→ Glue(S3→Redshift ETL)AppFlow だけで JOIN は不可
PII フィールドをマスキングして S3 へ格納AppFlow(組み込みマスキング変換)Lambda でカスタム処理
複数 SaaS データを Redshift に集約して BIAppFlow(複数フロー)→ Redshift(直接ロード)EC2 + JDBC スクリプト

9. 次のアクション チェックリスト

  • AppFlow・Glue・DataSync・DMS の使い分けを「接続元の種類」で即答できるか確認する
  • 「SaaS データ → S3 → Athena」と「SaaS データ → Redshift」の使い分けを説明できるか確認する
  • AppFlow → EventBridge のイベント駆動パターンを図で説明できるか確認する
  • Lake Formation の列レベルセキュリティが IAM バケットポリシーでは実現できない理由を説明できるか確認する
  • 模擬試験でデータ統合サービス選択問題を5問解き、90% 正解を目指す

10. 関連記事


11. 関連サイト

出典・参考情報