TL

Cloud Service

Azure Data Factory

多様なデータソースの取り込みと ETL/ELT を統合し、パイプラインで自動化するフルマネージドのデータ統合オーケストレーターです。

中級運用上の優秀性
最終更新: 2026-06-14公式ドキュメント ↗
TL;DR要点だけ先に
  • 1.データ移動と変換のパイプラインを定義しスケジュールやイベントで自動実行する。
  • 2.コードレスのデータフローと、各種コンピューティングを呼び出すアクティビティで ETL と ELT の両方に対応。
  • 3.AWS の Glue や Step Functions に相当する Azure のデータ統合サービス。

解決する課題

オンプレミスやクラウドに散在するデータを集め、整形・変換し、分析基盤やデータウェアハウスへ届けるまでの一連の流れを、手作業のスクリプトではなくマネージドなパイプラインとして自動化します。

  • 多様なデータソースから定期的または イベント駆動 でデータを取り込みたい
  • 取り込んだデータを 変換(クレンジング・結合・集計) してから保存したい
  • 複数の処理ステップを 依存関係つきのワークフロー としてオーケストレーションしたい
  • オンプレミスのデータベースを セルフホステッド統合ランタイム 経由でクラウドへ連携したい
  • 処理の成否・再試行・通知を 一元的に監視 したい

主要概念と用語

  • パイプライン: 一連の処理(アクティビティ)をまとめた論理的なワークフロー。スケジュールやトリガーで実行される
  • アクティビティ: パイプライン内の個々の処理ステップ。データ移動(Copy)、データ変換(Data Flow など)、制御フロー(条件分岐・ループ)の3種類に大別される
  • データセット: 入力・出力で扱うデータの構造や場所を指す参照定義。テーブルやファイルなどを表す
  • リンクサービス: データストアや外部コンピューティングへの接続情報。接続文字列に相当し、認証情報を含む
  • 統合ランタイム(Integration Runtime, IR): 実際にデータ移動や変換を実行する計算基盤。Azure IR、セルフホステッド IR、Azure-SSIS IR の3種類がある
  • マッピングデータフロー: コードを書かずに GUI で変換ロジックを設計する機能。内部では Spark クラスター上で実行される
  • トリガー: パイプラインの起動条件。スケジュール、タンブリングウィンドウ、ストレージイベントなどがある
  • Azure Synapse パイプライン: Synapse Analytics に統合された同等のパイプライン機能で、技術的な基盤を Data Factory と共有する

仕様・制限・クォータ

  • コードレスと コードファースト の両立: Copy アクティビティとマッピングデータフローは GUI で構築でき、必要に応じて外部の Databricks や HDInsight、Functions を呼び出してカスタム処理も組める
  • 統合ランタイムの選択が前提条件: クラウド間の移動・変換は Azure IR、オンプレミスやプライベートネットワーク越しは セルフホステッド IR、既存の SSIS パッケージ実行は Azure-SSIS IR を使う
  • 同時実行数やアクティビティ数には上限がある: データファクトリーあたりのパイプライン数、パイプラインあたりのアクティビティ数、同時実行されるパイプライン数などにサービス上限が設定される(具体値は変動しうるため公式ドキュメントで確認する)
  • コネクタは多数の組み込みが提供される: 各種データベース、ストレージ、SaaS、ファイル形式に対応するコネクタが用意される
  • ソースコード管理との統合: Git(Azure Repos または GitHub)連携により、パイプライン定義を JSON として版管理できる

内部の仕組み

Data Factory のパイプラインは、リンクサービスで定義した接続を通じてデータセットを読み書きします。実際の処理は 統合ランタイム という計算レイヤーが担当し、どの IR を割り当てるかで実行場所とネットワーク到達性が決まります。

  • Copy アクティビティ は、ソースとシンクの間でデータを移動する。内部的に並列コピーやステージング(中間に Blob を挟む)を使ってスループットを高められる
  • マッピングデータフロー は、GUI で組んだ変換ロジックを Spark のジョブに変換し、Azure IR が確保した一時的な Spark クラスター上で実行する。利用者は Spark を直接管理しない
  • セルフホステッド IR は、オンプレミスや仮想ネットワーク内のマシンにインストールするエージェントで、ファイアウォール内のデータソースへ安全に到達し、クラウドへアウトバウンド接続でデータを送る
  • 制御フロー のアクティビティ(If 条件、ForEach、Until、実行パイプラインなど)により、依存関係や分岐・反復を含む複雑なワークフローを構成できる
ETL と ELT の使い分け

変換をパイプライン側のデータフローで行うのが ETL 寄りの発想、いったん生データをデータレイクやウェアハウスへ取り込んでから変換アクティビティやウェアハウス内 SQL で処理するのが ELT 寄りの発想です。大規模データではデータウェアハウスの計算力を活かす ELT が有利になることが多いです。

設計パターン / ベストプラクティス

  • 取り込みと変換を分離: まず生データをデータレイクへ着地させ(取り込み層)、その後で変換する段階を分けると再処理やデバッグが容易になる
  • パラメーター化で再利用: パイプライン・データセット・リンクサービスをパラメーター化し、テーブルやファイルごとに個別定義せずメタデータ駆動で動かす
  • 増分ロード: 全件コピーではなく、タンブリングウィンドウや透かし(ウォーターマーク)列を使って変更分だけを取り込む
  • べき等性を意識: 再試行や再実行で重複や欠損が起きないよう、上書きや一意キーで冪等に設計する
  • 大量並列はステージング併用: 大規模なデータウェアハウスへのロードでは、PolyBase や COPY 文に対応するステージング経由のコピーでスループットを上げる
  • Git 連携で開発: 開発ファクトリーで Git ブランチ運用し、検証後に発行(Publish)してから本番へデプロイする

運用・監視

  • モニター画面: パイプライン実行・アクティビティ実行・トリガー実行の履歴を確認でき、成否・所要時間・エラー詳細を追える
  • Azure Monitor 連携: 診断設定でメトリクスとログを Log Analytics へ送り、失敗率や実行時間をダッシュボード化・アラート化できる
  • 再試行ポリシー: アクティビティ単位で再試行回数と間隔を設定し、一時的な障害に耐性を持たせる
  • アラートと通知: 失敗時に Web フックや Logic Apps、メールで通知する運用を組む
セルフホステッド IR の運用

セルフホステッド統合ランタイムを 1 台構成のままにすると単一障害点になります。複数ノードに分散して可用性を確保し、ホスト OS とランタイムの更新・証明書の有効期限も継続的に管理してください。

コスト

課金は主にパイプラインのオーケストレーション(アクティビティ実行回数)、データ移動の所要時間(IR の使用量)、データフローの実行時間(Spark のコア時間)、そして稼働中の統合ランタイムに対して発生します。アイドル時のセルフホステッド IR には計算課金はかからないものの、ホストするマシンのコストは利用者負担です。

  • データフローはクラスター稼働時間で課金 されるため、クラスターのサイズと起動時間(Time To Live 設定)の最適化が効く
  • 不要な全件再処理を避ける ことが、移動・変換の双方でコスト削減に直結する
  • 具体的な単価は変動するため、断定せず公式の料金ページで確認する

セキュリティ

  • マネージド ID: Data Factory にシステム割り当てまたはユーザー割り当てのマネージド ID を付与し、ストレージやデータベースへキーレスで認証する
  • 資格情報は Key Vault に集約: リンクサービスの接続情報やシークレットを Azure Key Vault 参照にし、定義への直書きを避ける
  • ネットワーク分離: マネージド仮想ネットワークとプライベートエンドポイントを使い、データ移動をパブリックインターネットから隔離できる
  • RBAC: Microsoft Entra ID と RBAC で、誰がパイプラインを編集・実行できるかを制御する
アンチパターン

リンクサービスの定義に接続文字列やアクセスキーを平文で埋め込み、それを Git にコミットするのは危険です。シークレットは Key Vault 参照、データストアへの認証はマネージド ID を基本とし、定義ファイルに秘密情報を残さないようにします。

Well-Architected の観点

運用上の優秀性(オペレーショナルエクセレンス)が中心の論点です。

  • 自動化: スケジュールやイベントでパイプラインを無人実行し、手作業を排除する
  • コード化と版管理: パイプライン定義を JSON として Git 管理し、環境間(開発・本番)へ再現性をもってデプロイする
  • 可観測性: モニター画面と Azure Monitor で実行を可視化し、失敗を早期に検知・通知する
  • 再現性のある復旧: 再試行ポリシーと冪等な設計により、障害後の再実行を安全に行える

試験で問われるポイント

頻出
  • データ統合・ETL/ELT のオーケストレーション基盤であり、AWS の Glue に相当する位置づけを押さえる
  • 統合ランタイム3種類の使い分け。オンプレミス連携は セルフホステッド IR、既存 SSIS 実行は Azure-SSIS IR、クラウド間は Azure IR
  • コードレスで変換するのは マッピングデータフロー(内部は Spark)。データ移動は Copy アクティビティ
  • リンクサービス(接続情報)とデータセット(データの参照)とアクティビティの関係
  • シークレットは Key Vault、データストア認証はマネージド ID という安全な構成
  • スケジュール/タンブリングウィンドウ/ストレージイベントのトリガー種別

関連サービス・比較

観点Azure Data FactoryAWS Glue
位置づけデータ統合とパイプラインのオーケストレーションサーバーレス ETL とデータカタログ
変換エンジンマッピングデータフロー(内部 Spark)Spark ベースの Glue ジョブ
コードレス変換GUI のデータフローGlue Studio のビジュアル ETL
スキーマ管理外部のメタデータや Purview と連携Glue データカタログを内蔵
オンプレミス連携セルフホステッド統合ランタイム別途コネクタやエージェントが必要
ワークフロー制御制御フローアクティビティで分岐や反復Glue ワークフローや Step Functions
権限付与Entra ID + RBAC とマネージド IDIAM
Synapse パイプラインとの関係

Azure Synapse Analytics のパイプライン機能は Data Factory と基盤を共有します。分析を Synapse に集約するなら Synapse 内のパイプラインで完結でき、独立したデータ統合基盤が必要なら単体の Data Factory を選ぶ、という整理が分かりやすいです。

ハンズオン / CLI例

# リソースグループを作成
az group create --name demo-rg --location japaneast

# Data Factory を作成
az datafactory create \
  --resource-group demo-rg \
  --factory-name demo-adf-0614 \
  --location japaneast

# Git 連携を構成(Azure Repos の例。発行と版管理を有効化)
az datafactory configure-factory-repo \
  --location japaneast \
  --factory-resource-id "/subscriptions/<sub-id>/resourceGroups/demo-rg/providers/Microsoft.DataFactory/factories/demo-adf-0614" \
  --factory-vsts-configuration \
    project-name=DataPlatform \
    account-name=myorg \
    repository-name=adf-repo \
    collaboration-branch=main \
    root-folder=/ \
    tenant-id=<tenant-id>

# パイプラインの一覧を確認
az datafactory pipeline list \
  --resource-group demo-rg \
  --factory-name demo-adf-0614 \
  --output table

Azure Service

Azure Data Factoryを実務で読む

TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。

解決すること

分析

比較で見る軸

クラウド: Azure / カテゴリ: 分析 / 難易度: intermediate

導入後に効く点

コードレスのデータフローと、各種コンピューティングを呼び出すアクティビティで ETL と ELT の両方に対応。

先に潰すリスク

サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。

数字・仕様の読み方
クラウド
Azure
カテゴリ
分析
難易度
intermediate
関連資格
設計柱
operational

判断チェックリスト

  • 自社の用途が「分析 / operational」に近いか確認する。
  • 強みである「データ移動と変換のパイプラインを定義しスケジュールやイベントで自動実行する。」が本当に評価軸になるか確認する。
  • 注意点の「サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。」を運用で吸収できるか確認する。
  • 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
  • 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
  • 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。

次に確認する観点

分析operational