Instiq
第3章 · データ運用とサポート·v2.1.0·更新 2026/6/14·読了目安 約9分

変更要約: in-scope サービス網羅: 運用基盤(ECS/EKS/CloudFormation/CDK/CLI/Code三兄弟/SSM/Managed Grafana/Well-Architected/Cost Explorer/Budgets)+データ準備ML(Glue DataBrew/SageMaker AI/Bedrock/Kendra)

3.1パイプラインの運用とデータ品質

この節の要点

データパイプラインの監視(CloudWatch・ジョブ成否/所要時間)、スケジュールとリトライによる自動化、データ品質チェック(Glue Data Quality・DLQ)といった運用を理解します。DEA-C01 の「データ運用とサポート」の出発点です。

パイプラインは作って終わりではなく、監視し、失敗時に自動で対処し、データ品質を保つ運用が重要です。

3.1.1監視・自動化・品質

監視(CloudWatch のメトリクス/ログ・ジョブ成否/所要時間・失敗時アラーム)、自動化とリトライ(EventBridge スケジュール・Step Functions リトライ・失敗レコードの DLQ)、データ品質(Glue Data Quality・ルール/検証・早期に不正データを検出)の3つの運用要素を示した図。
パイプライン運用の3要素
  • 監視:CloudWatch でジョブの成否・所要時間・スループットを監視し、失敗時にアラームを出す。
  • 自動化/リトライ:EventBridge のスケジュール起動、Step Functions のリトライ、失敗レコードの DLQ で堅牢化する。
  • データ品質Glue Data Quality でルールベースの検証を行い、不正データを早期に検出する。
試験ポイント

「ジョブ失敗の検知/通知=CloudWatch アラーム」「失敗レコードの退避=DLQ」「データ品質ルールの検証=Glue Data Quality」「定期実行=EventBridge スケジュール」 は DEA で頻出です。

パイプライン運用は「監視・自動化/リトライ・データ品質」の3本柱です。監視CloudWatch でジョブの成否・所要時間・スループットを見て、失敗や遅延に アラーム(→SNS 通知・EventBridge 連携)を出します。Glue/EMR/Step Functions のログは CloudWatch Logs に集約し、Logs Insights で原因を追います。自動化/リトライEventBridge(スケジュール/イベント起動)と Step Functions(ステップ単位のリトライ・指数バックオフ・キャッチ)で堅牢化し、処理しきれなかったレコードは DLQ(デッドレターキュー) に退避して後で再処理します。再実行を安全にする鍵は べき等性(同じ入力で結果が変わらない設計)です。データ品質Glue Data QualityDQDL でルール定義・カラムの非 NULL/一意/範囲などを検証)で早期に不正データを検出し、不良は隔離して下流を守ります。失敗の通知だけでなく、バックフィル(過去分の再処理)や遅延データの扱いも運用設計に含めます。

運用課題使うもの
ジョブ失敗の検知/通知CloudWatch アラーム → SNS
定期実行・リトライEventBridge / Step Functions
失敗レコードの退避DLQ
データ品質の検証Glue Data Quality(DQDL)

シナリオ:夜間 ETL が時々失敗し、不正データが下流に流れる。 EventBridge スケジュールで Step Functions を起動し、各ステップにリトライ+指数バックオフを設定。失敗レコードは DLQ へ退避。投入前に Glue Data Quality で非 NULL/範囲を検証し、不良は隔離。ジョブ失敗は CloudWatch アラームSNS 通知し、原因は Logs Insights で追跡します。

補足

Q. ジョブ失敗の通知? CloudWatch アラーム→SNS。Q. 失敗レコードの退避? DLQ。Q. データ品質の検証? Glue Data Quality(DQDL)。Q. 定期実行/リトライ? EventBridge/Step Functions。Q. 安全に再実行する鍵? べき等性。

注意

混同に注意:
①べき等でない処理を無制限リトライすると二重登録/重複集計を招く。
②DLQ は「退避先」であり、再処理の仕組み(監視・再投入)は別途必要。
③Glue Data Quality は「検証」——不良データの隔離/通知の後処理を設計する。
④CloudWatch アラームは閾値+評価期間の設計を誤ると誤検知/見逃しになる。

補足

べき等な処理設計(再実行しても結果が変わらない)にしておくと、リトライや再処理を安全に行えます。

3.1.2運用基盤の in-scope サービス

パイプラインの実行基盤・IaC・CI/CD・運用も DEA-C01 の範囲です。コンピュートでは Amazon EC2 に加え、コンテナ化 ETL を Amazon Elastic Container Service(ECS・AWS 独自・Fargate 統合で最小運用)または Amazon Elastic Kubernetes Service(EKS・Kubernetes 標準)でオーケストレーションします。インフラは AWS CloudFormation でテンプレートから宣言的に、AWS Cloud Development Kit(CDK)でプログラミング言語から定義し、AWS CLI でコマンドライン操作・自動化します。 リリースは AWS CodeBuild(ビルド/テスト)→ AWS CodeDeploy(制御デプロイ)→ AWS CodePipeline(ステージ束ね)で自動化します。フリートの構成管理・パッチ・パラメータは AWS Systems Manager、OSS の可観測性ダッシュボードは Amazon Managed Grafana、アーキテクチャの体系評価は AWS Well-Architected Tool で行います。コストは AWS Cost Explorer で可視化・予測し、AWS Budgets で予算閾値の超過を通知します。

領域サービス要点
コンテナ実行ECS / EKSAWS独自=ECS、K8s標準=EKS
IaCCloudFormation / CDK / CLI宣言的/プログラム的/コマンド
CI/CDCodeBuild / CodeDeploy / CodePipelineビルド/デプロイ/束ね
運用・評価Systems Manager / Managed Grafana / Well-Architected Tool管理/可視化/アーキ評価
コストCost Explorer / Budgets可視化・予測 / 予算アラート

3.1.3この節のまとめ

  • 監視(CloudWatch)/自動化・リトライ(EventBridge・Step Functions・DLQ)
  • データ品質はGlue Data Qualityで検証
  • 実行基盤=ECS/EKS、IaC=CloudFormation/CDK、CI/CD=Code 三兄弟、コスト=Cost Explorer/Budgets

進捗の記録にはログインが必要です。

理解度チェック

(軽い確認用)

Q1. ETL ジョブが失敗したことを検知して通知したい。最も適した方法はどれですか?

Q2. 取り込み処理で失敗したレコードを退避し、後で調査・再処理したい。何を使いますか?

Q3. データに対しルールベースの検証を行い、品質を担保したい。最も適した機能はどれですか?

理解度を確認第3章「データ運用とサポート」の問題を解く