目次
- エンタープライズデータポータル・ガバナンス・データメッシュ基盤
- 概要と本質
- DataZone が解決する課題
- 主な特徴
- アーキテクチャ
- コアコンポーネント
- ドメイン
- プロジェクト
- データ資産
- ビジネスグロッサリー
- データソース統合
- 自動化:Auto-discovery・AI
- アクセス管理:承認ワークフロー
- Lake Formation 統合
- 監査・コンプライアンス
- API・SDK
- CLI による実装例
- Infrastructure as Code
- 比較:DataZone vs Glue Data Catalog
- 競合比較
- ユースケース
- ベストプラクティス
- トラブルシューティング
- 2025-2026 最新動向
- 学習リソース
- 主要ユースケース詳細
- 組織別の実装パターン
- データメッシュアーキテクチャ図
- 実装チェックリスト
- データ品質・メタデータ管理
- まとめ
Amazon DataZone v2.0 完全ガイド 2026
エンタープライズデータポータル・ガバナンス・データメッシュ基盤
Amazon DataZone は、データカタログ・ガバナンス・アクセス管理を統合したエンタープライズデータポータルサービス です。組織内の S3・Redshift・Glue・Athena のデータを一元的に検索・発見・アクセス申請でき、ドメイン別に分散したデータプロデューサーとコンシューマーを繋ぐデータメッシュアーキテクチャを実現します。本ドキュメントは DataZone の概念・アーキテクチャ・実装・最新動向を体系的に解説します。
ドキュメントの目的
本ガイドは以下を対象としています。
- 初心者向け:DataZone とは何か、Glue Data Catalog との違いを学びたい方
- データエンジニア向け:DataZone ドメイン・プロジェクト・アセット管理の実装
- ビジネスアナリスト向け:セルフサービスデータ発見・アクセス申請・ビジネスグロッサリー活用
- データガバナンス向け:データ分類・メタデータ管理・コンプライアンス対応
- 意思決定者向け:Collibra・Alation・OpenMetadata・DataHub との比較判断
目次
- 概要と本質
- DataZone が解決する課題
- 主な特徴
- アーキテクチャ
- コアコンポーネント
- ドメイン:組織構造
- プロジェクト:チーム別ワークスペース
- データ資産:カタログ・メタデータ
- ビジネスグロッサリー:統一用語定義
- データソース統合
- 自動化:Auto-discovery・AI
- アクセス管理:承認ワークフロー
- Lake Formation 統合
- メタデータ管理・カスタム属性
- データ品質・プロファイリング
- 監査・コンプライアンス
- API・SDK
- CLI による実装例
- Infrastructure as Code
- Glue Data Catalog との比較
- 類似サービス比較
- 主要ユースケース
- ベストプラクティス
- トラブルシューティング
- 2025-2026 最新動向
- 学習リソース
- 実装チェックリスト
- まとめ
概要と本質
初心者向けメモ:DataZone は「技術者向けの Glue Data Catalog」ではなく、「全社員が使えるセルフサービスデータポータル」です。ビジネスユーザーがデータを発見・申請・利用できる、データメッシュの実装基盤です。
DataZone の位置づけ
graph TB
subgraph OrgStructure["組織構造"]
FinanceDomain["Finance ドメイン"]
SalesDomain["Sales ドメイン"]
EngineeringDomain["Engineering ドメイン"]
end
subgraph DataAssets["データ資産"]
FinanceData["財務データ<br/>収益・コスト"]
SalesData["営業データ<br/>顧客・取引"]
TechData["技術データ<br/>ログ・メトリクス"]
end
subgraph Portal["DataZone ポータル"]
Catalog["カタログ検索"]
Request["アクセス申請"]
Glossary["用語定義"]
end
subgraph Consumers["データコンシューマー"]
Analysts["アナリスト"]
DataScientists["データサイエンティスト"]
Executives["経営陣"]
end
OrgStructure --> DataAssets
DataAssets --> Portal
Portal --> Consumers
DataZone が解決する課題
| 課題 | 従来のアプローチ | DataZone による解決 |
|---|---|---|
| データサイロ | 各部門が独立したデータ管理 | DataZone ポータルで横断検索・発見 |
| データ発見 | 「どのデータがどこにあるか不明」 | カタログ化・タグ・ビジネスメタデータで検索性向上 |
| アクセス申請プロセス | メール・チケット・口頭依頼 | DataZone 承認ワークフロー・自動付与 |
| メタデータ管理 | スプレッドシート・Wiki(非同期) | 一元的な Catalog + 自動取り込み |
| 用語定義の統一 | 「顧客」の定義が部門ごとに異なる | ビジネスグロッサリーで統一 |
| ビジネス価値の可視化 | 「このテーブルは誰が使ってるのか」不明 | 利用統計・オーナー・リネージ表示 |
| 規制対応 | GDPR・HIPAA への準拠確認が困難 | 監査ログ・データ分類・アクセス追跡 |
主な特徴
1. セルフサービスデータポータル
DataZone Web UI:
├── 検索:全社データを横断検索
├── 詳細表示:ビジネスメタデータ・説明・オーナー
├── アクセス申請:ワンクリックで権限申請
├── ビジネスグロッサリー:用語定義参照
└── 利用統計:人気データ・最近更新
2. ドメイン別ガバナンス
ドメイン(Finance / Sales / Engineering)
├── Domain Owner:部門のデータ責任者
├── Projects:チーム単位のワークスペース
├── Data Assets:部門が所有するデータ
└── Governance Policies:部門固有のルール
3. 自動化・AI 機能
Auto-discovery:
├── Glue Catalog スキャン
├── Redshift テーブル自動登録
├── S3 フォルダ構造からの推測
└── 定期同期(差分更新)
Generative AI(2026):
├── メタデータ自動生成
├── データ利用シーン推奨
└── データ関連性の自動検出
4. Lake Formation 統合
アクセス申請 → 承認 → Lake Formation に自動付与
├── 申請者:「orders テーブルをリクエスト」
├── オーナー:申請承認
└── Lake Formation:SELECT 権限を自動付与(列・行制御も自動適用)
アーキテクチャ
DataZone 統合アーキテクチャ図
graph TB
subgraph ProducerOrg["データプロデューサー組織"]
FinanceDomain["Finance Domain<br/>Owner: CFO"]
SalesDomain["Sales Domain<br/>Owner: VP Sales"]
end
subgraph DataSources["データソース"]
S3["S3<br/>Raw Data"]
Redshift["Redshift<br/>DW"]
Glue["Glue Catalog<br/>Metadata"]
end
subgraph DataZone["Amazon DataZone"]
Catalog["カタログ<br/>Data Assets"]
Glossary["グロッサリー<br/>ビジネス用語"]
Projects["プロジェクト<br/>Team Workspace"]
end
subgraph ConsumerOrg["データコンシューマー"]
Analysts["データアナリスト"]
DataScientists["データサイエンティスト"]
Executives["経営陣"]
end
ProducerOrg -->|Publish| DataSources
DataSources -->|Catalog| DataZone
DataZone -->|Subscribe| ConsumerOrg
コアコンポーネント
1. ドメイン(Domain)
定義:
組織の最上位単位
複数プロジェクト・資産を含む
Domain Owner が管理責任を持つ
例:
Finance Domain:
- Owner: CFO / Finance Manager
- Projects: Financial Reporting, Cost Analysis
- Assets: GL, AR, AP テーブル
Sales Domain:
- Owner: VP Sales
- Projects: Pipeline Management, Territory Analysis
- Assets: Customers, Orders, Opportunities
2. プロジェクト(Project)
定義:
チーム・ユースケース単位のワークスペース
データ資産の公開・消費を行う場所
例:
Finance Domain / Financial Reporting Project:
- メンバー:Finance Analyst × 3、CFO
- 公開資産:GL、AR、AP、Profit & Loss Statement
- 購読資産:Sales Orders(営業ドメインから)
3. データ資産(Data Asset)
定義:
Glue テーブル・S3 フォルダ・Redshift テーブル
ビジネスメタデータを付与したカタログオブジェクト
例:
Asset: orders
- Owner: sales-team
- Description: "顧客注文トランザクション"
- Business Terms: [Order, Customer, Revenue]
- Tags: [Sales, High-Priority, Updated-Daily]
- Quality: 95% (null 値 5%)
- Popularity: 87 views/month
4. ビジネスグロッサリー(Glossary)
定義:
組織全体の統一された用語定義
データとビジネスコンセプトを関連付け
例:
Term: Customer
- Definition: "商品またはサービスを購入した法人・個人"
- Related Terms: [Account, Contact, Prospect]
- Data Assets: customers, accounts, crm_contacts
- Owner: Sales Operations
Term: Revenue
- Definition: "商品販売による売上金額(返品・割引を差引後)"
- Calculation: "SUM(order_items.quantity * order_items.unit_price)"
- Data Assets: order_items, revenue_ledger
ドメイン
ドメイン作成・管理
import boto3
datazone = boto3.client('datazone', region_name='ap-northeast-1')
# Domain 作成
domain_response = datazone.create_domain(
Name='Finance',
Description='Financial data governance and analytics',
KmsKeyIdentifier='arn:aws:kms:ap-northeast-1:123456789012:key/12345678-1234-1234-1234-123456789012'
)
domain_id = domain_response['id']
# Domain Member 追加(Domain Owner)
datazone.create_domain_unit(
DomainIdentifier=domain_id,
Name='Finance_Team',
Description='Finance domain ownership'
)
# Domain Access Control
datazone.update_domain(
Identifier=domain_id,
SingleSignOnConfiguration={
'Enabled': True,
'ProviderIdentifier': 'arn:aws:iam::123456789012:saml-provider/ExternalIdP'
}
)
print(f"Domain created: {domain_id}")
プロジェクト
プロジェクト作成・メンバー管理
# Project 作成
project_response = datazone.create_project(
DomainIdentifier=domain_id,
Name='Financial Reporting',
Description='Monthly financial report preparation'
)
project_id = project_response['id']
# Project Member 追加
datazone.create_project_member_invitation(
DomainIdentifier=domain_id,
ProjectIdentifier=project_id,
UserIdentifier='arn:aws:iam::123456789012:user/analyst@company.com',
Designation='PROJECT_OWNER'
)
# リソース割り当て(S3 バケット)
datazone.associate_environment_role(
DomainIdentifier=domain_id,
EnvironmentIdentifier='env-xxxxx',
EnvironmentRoleArn='arn:aws:iam::123456789012:role/datazone-project-role'
)
データ資産
Glue Catalog からの自動取り込み
# Auto-discovery:Glue Catalog スキャン
datazone.create_data_source(
DomainIdentifier=domain_id,
Name='glue-catalog-source',
Type='GLUE',
Configuration={
'glueConnection': {
'connectionName': 'default'
}
},
EnvironmentIdentifier='env-xxxxx'
)
# データ資産を公開
datazone.publish_data_asset(
DomainIdentifier=domain_id,
AssetIdentifier='glue://finance_db.revenue_ledger',
BusinessNameAssetIdentifier='Revenue Ledger'
)
# ビジネスメタデータ追加
datazone.update_asset(
DomainIdentifier=domain_id,
AssetIdentifier='glue://finance_db.revenue_ledger',
BusinessMetadata={
'description': 'General Ledger revenue accounts',
'owner': 'CFO',
'updateFrequency': 'Daily',
'criticality': 'High'
}
)
ビジネスグロッサリー
用語定義・関連付け
# Glossary Term 作成
term_response = datazone.create_glossary_term(
DomainIdentifier=domain_id,
GlossaryIdentifier='glossary-xxxxx',
Name='Revenue',
Definition='Total sales amount after deductions'
)
term_id = term_response['id']
# Term を Data Asset に関連付け
datazone.create_asset_relationship(
DomainIdentifier=domain_id,
AssetIdentifier='glue://finance_db.revenue_ledger',
GlossaryTermIdentifier=term_id,
RelationshipType='IS_REPRESENTED_BY'
)
# Related Terms
datazone.create_glossary_term_relationship(
DomainIdentifier=domain_id,
SourceTermIdentifier=term_id,
TargetTermIdentifier='term-sales',
RelationshipType='RELATED'
)
データソース統合
Redshift・S3 からの登録
# Redshift データソース登録
datazone.create_data_source(
DomainIdentifier=domain_id,
Name='redshift-dwh',
Type='REDSHIFT',
Configuration={
'redshift': {
'databaseName': 'analytics',
'hostName': 'my-redshift.xxxxx.redshift.amazonaws.com',
'port': 5439,
'roleArn': 'arn:aws:iam::123456789012:role/redshift-datazone'
}
},
EnvironmentIdentifier='env-xxxxx'
)
# S3 データソース登録
datazone.create_data_source(
DomainIdentifier=domain_id,
Name='s3-data-lake',
Type='S3',
Configuration={
's3': {
'bucketName': 'data-lake-bucket',
'roleArn': 'arn:aws:iam::123456789012:role/s3-datazone'
}
},
EnvironmentIdentifier='env-xxxxx'
)
自動化:Auto-discovery・AI
スケジュール済みメタデータ同期
# Glue Catalog との定期同期(毎日 1:00 AM)
datazone.create_data_source_publication_schedule(
DomainIdentifier=domain_id,
DataSourceIdentifier='datasource-xxxxx',
Schedule={
'scheduleExpression': 'cron(0 1 * * ? *)',
'scheduleTimezone': 'Asia/Tokyo'
}
)
# リネージ自動抽出(2026 機能)
# 「revenue_ledger は order_items から計算されている」を自動検出
datazone.create_asset_relationship(
DomainIdentifier=domain_id,
SourceAssetIdentifier='glue://sales_db.order_items',
TargetAssetIdentifier='glue://finance_db.revenue_ledger',
RelationshipType='MATERIALIZED_FROM'
)
アクセス管理:承認ワークフロー
データ購読申請フロー
# ユーザーが申請
subscription_request = datazone.create_subscription_request(
DomainIdentifier=domain_id,
SubscriptionTargets=[
{
'identifier': 'glue://finance_db.revenue_ledger'
}
],
RequestReason='Required for Q2 FP&A analysis'
)
request_id = subscription_request['id']
# オーナーが承認
datazone.update_subscription_request_status(
DomainIdentifier=domain_id,
SubscriptionRequestIdentifier=request_id,
Status='APPROVED',
DecisionComment='Approved for Finance Reporting project'
)
# 承認後:Lake Formation 権限を自動付与
# DataZone が AWS Glue API / Lake Formation API を呼び出し
# → Athena / Redshift での SELECT 権限が自動有効化
Lake Formation 統合
Lake Formation との権限自動連携
# DataZone が Lake Formation で権限を自動管理
# ユーザー申請
datazone.create_subscription_request(
DomainIdentifier=domain_id,
SubscriptionTargets=[
{
'identifier': 'glue://finance_db.customer_pii'
}
]
)
# Domain Owner が承認
# → 自動的に Lake Formation で権限付与
# → SELECT (customer_id, account_id) のみ(email・ssn は非表示)
# → Athena で クエリ実行時に行フィルター自動適用
# Athena クエリ結果
"""
customer_id | account_id | region
--------- | ---------- | ------
123 | A001 | Japan
456 | A002 | US
# email・ssn は返されない
"""
監査・コンプライアンス
アクセスログ・監査証跡
import boto3
logs = boto3.client('logs')
# CloudWatch Logs への監査ログ出力
datazone_logs = logs.describe_log_groups(
logGroupNamePrefix='/aws/datazone'
)
# DataZone アクティビティ監視
response = logs.start_query(
logGroupName='/aws/datazone/audit',
startTime=1609459200,
endTime=1609545600,
queryString="""
fields @timestamp, userId, action, assetIdentifier, @message
| filter action = "SubscriptionRequestApproved"
| stats count() by userId, assetIdentifier
"""
)
# GDPR・HIPAA 準拠確認
# → ユーザーのアクセス履歴を追跡可能
# → 「患者記録にアクセスしたユーザー」を特定可能
API・SDK
Python Boto3 API
import boto3
datazone = boto3.client('datazone')
def discover_assets(domain_id, search_term):
"""データ資産検索"""
response = datazone.search_assets(
DomainIdentifier=domain_id,
Query=search_term,
MaxResults=50
)
for asset in response['items']:
print(f"Asset: {asset['name']}")
print(f" Owner: {asset['ownerIdentifier']}")
print(f" Description: {asset['description']}")
print(f" Type: {asset['typeIdentifier']}")
def list_glossary_terms(domain_id):
"""ビジネスグロッサリー閲覧"""
response = datazone.list_glossary_terms(
DomainIdentifier=domain_id,
Status='PUBLISHED'
)
for term in response['items']:
print(f"Term: {term['name']}")
print(f" Definition: {term['definition']}")
print(f" Related Assets: {len(term.get('relatedAssets', []))} items")
def request_asset_access(domain_id, asset_id, reason):
"""データ資産へのアクセス申請"""
response = datazone.create_subscription_request(
DomainIdentifier=domain_id,
SubscriptionTargets=[
{
'identifier': asset_id
}
],
RequestReason=reason
)
print(f"Access request submitted: {response['id']}")
return response['id']
# 使用例
domain_id = 'domain-xxxxx'
assets = discover_assets(domain_id, 'revenue')
terms = list_glossary_terms(domain_id)
request_id = request_asset_access(domain_id, 'asset-xxxxx', 'Q2 financial analysis')
CLI による実装例
# ドメイン作成
aws datazone create-domain \
--name Finance \
--description "Financial data governance" \
--kms-key-identifier arn:aws:kms:ap-northeast-1:123456789012:key/xxxxx
# プロジェクト作成
aws datazone create-project \
--domain-identifier domain-xxxxx \
--name "Financial Reporting" \
--description "Monthly FP&A reporting"
# データ資産公開
aws datazone publish-data-asset \
--domain-identifier domain-xxxxx \
--asset-identifier glue://finance_db.revenue_ledger \
--business-name-asset-identifier "Revenue Ledger"
# アクセス申請
aws datazone create-subscription-request \
--domain-identifier domain-xxxxx \
--subscription-targets identifier=glue://finance_db.revenue_ledger \
--request-reason "Q2 FP&A analysis"
# 申請承認
aws datazone update-subscription-request-status \
--domain-identifier domain-xxxxx \
--subscription-request-identifier request-xxxxx \
--status APPROVED
Infrastructure as Code
CloudFormation
AWSTemplateFormatVersion: '2010-09-09'
Resources:
DataZoneDomain:
Type: AWS::DataZone::Domain
Properties:
Name: Finance
Description: Financial data governance and analytics
KmsKeyIdentifier: !GetAtt DataZoneKMSKey.Arn
DataZoneKMSKey:
Type: AWS::KMS::Key
Properties:
Description: KMS key for DataZone domain
KeyPolicy:
Version: '2012-10-17'
Statement:
- Effect: Allow
Principal:
Service: datazone.amazonaws.com
Action:
- kms:Decrypt
- kms:GenerateDataKey
Resource: '*'
DataZoneProject:
Type: AWS::DataZone::Project
Properties:
DomainId: !Ref DataZoneDomain
Name: Financial Reporting
Description: Monthly FP&A reporting project
比較:DataZone vs Glue Data Catalog
| 項目 | DataZone | Glue Data Catalog |
|---|---|---|
| 用途 | セルフサービスポータル | エンジニア向けメタストア |
| UI | ポータル(ビジネスユーザー向け) | AWS Console / API のみ |
| アクセス管理 | 承認ワークフロー | IAM ポリシー |
| ビジネスメタデータ | 豊富(説明・オーナー・タグ) | 限定的(スキーマのみ) |
| グロッサリー | 統一用語管理 | なし |
| 自動検出 | 定期自動取り込み | Crawler(手動実行) |
| データ品質 | メトリクス表示 | なし |
| モニタリング | 利用統計・アクティビティ | なし |
| 採用 | データメッシュ・民主化 | 技術的なメタストア |
競合比較
DataZone vs Collibra
| 項目 | DataZone | Collibra |
|---|---|---|
| クラウド | AWS ネイティブ | SaaS・マルチクラウド |
| メタデータ | Glue・Redshift・S3 | 広範な DB・API サポート |
| カスタマイズ | AWS 標準機能 | 高度なカスタマイズ可能 |
| コスト | AWS 環境に含む | 別途 SaaS 課金 |
| エンタープライズ性 | 中程度 | 高い(Fortune 500 対応) |
DataZone vs OpenMetadata / DataHub(OSS)
| 項目 | DataZone | OpenMetadata | DataHub |
|---|---|---|---|
| デプロイ | SaaS(AWS) | セルフホスト | セルフホスト |
| コスト | AWS 従量課金 | 無料 OSS | 無料 OSS |
| UI | ポータル | ポータル | ポータル |
| API | REST API | REST API | GraphQL |
| 統合 | AWS サービス最適化 | メタストア広範対応 | メタストア広範対応 |
| 採用 | AWS 環境 | DataOps チーム向け | LinkedIn 設計 |
ユースケース
1. データメッシュ実装
複数ドメイン(Finance、Sales、Engineering)
├── 各ドメインが DataZone Project で自分たちのデータを管理
├── ビジネスグロッサリーで統一用語を定義
└── ユーザーが DataZone ポータルで横断検索・申請
2. コンプライアンス・監査
HIPAA・GDPR 対応:
├── 患者記録・個人データを DataZone で管理
├── アクセス申請・承認ワークフロー記録
└── 監査ログで「誰が何にアクセスしたか」追跡可能
3. セルフサービス分析
ビジネスユーザー(非技術者):
├── DataZone で データを検索「売上」「顧客」
├── ポータルから Athena に直接アクセス
└── ビジネスグロッサリーで「売上」の定義確認
ベストプラクティス
✅ 推奨事項
| 項目 | 実装 | 効果 |
|---|---|---|
| ドメイン設計 | 部門別・事業単位で分割 | 自律管理・スケーラビリティ |
| オーナー明確化 | 各データ資産にオーナー割り当て | 責任主体明確化 |
| ビジネスグロッサリー | 統一された用語定義 | データ品質・部門間コミュニケーション向上 |
| 承認ワークフロー | データ資産の公開前に承認 | ガバナンス・コンプライアンス確保 |
| 定期的なメタデータ同期 | Auto-discovery で最新保持 | スキーマ変更への自動対応 |
| 監査ログ監視 | CloudWatch で異常検知 | セキュリティ・コンプライアンス |
| Lake Formation 統合 | 承認後に自動権限付与 | 手作業削減・エラー防止 |
トラブルシューティング
| 症状 | 原因 | 解決策 |
|---|---|---|
| データ資産が表示されない | Auto-discovery スケジュール未実行 | スケジュール確認・手動実行 |
| アクセス申請が承認されない | オーナーが確認していない | オーナーへ通知・確認リスト |
| Lake Formation 権限が付与されない | DataZone ロール IAM 権限不足 | IAM Policy 確認・権限追加 |
| Glue Catalog 同期エラー | VPC・ネットワーク接続問題 | VPC Endpoint・ネットワーク確認 |
| ビジネスグロッサリーが表示されない | グロッサリー未公開 | Status を PUBLISHED に変更 |
2025-2026 最新動向
1. Generative AI による支援(2026)
- データ発見の AI 支援:
- ✅ “Q2 売上予測に必要なテーブルは?” → AI が推奨
- ✅ メタデータ自動生成(説明文・タグ)
2. S3 Tables との統合
- S3 Tables をネイティブ Iceberg テーブルとして登録
- ✅ セットアップ簡素化
- ✅ より多くのデータソース対応
学習リソース
主要ユースケース詳細
1. データメッシュ実装(Domain-Driven Architecture)
組織構造:
Finance Domain:
- Project: Financial Planning
- Assets: GL, AR, AP, Cash Flow
- Glossary: Revenue, Expense, Profit Margin
Sales Domain:
- Project: Pipeline Management
- Assets: Customers, Orders, Opportunities
- Glossary: Sales Pipeline, Deal Velocity
データフロー:
Finance が Sales データを購読
→ DataZone で Customers・Orders テーブル検索
→ アクセス申請
→ Sales Domain Owner が承認
→ Lake Formation で権限自動付与
→ Finance が分析・レポート作成
2. データ民主化・セルフサービス
ビジネスユーザーのセルフサービス:
1. DataZone ポータルにログイン
2. 「Revenue by Region」で検索
3. テーブル詳細確認(ビジネスグロッサリー参照)
4. Athena クエリエディター起動
5. SQL 作成・ダッシュボード作成
6. 結果を QuickSight で可視化
→ データエンジニアへの依頼削減
→ ビジネス思考のスピード化
3. コンプライアンス・監査対応
GDPR 対応:
個人データの取り扱いを追跡
├── 誰が何にアクセスしたか
├── いつアクセスしたか
└── どういう目的か
DataZone 監査ログ:
CloudWatch Logs → フィルター・集計
HIPAA 準拠:
患者記録(PII)へのアクセスは
├── 事前承認が必須
├── アクセス理由を記録
└── 監査ログで追跡可能
→ 規制当局への報告書作成が容易
組織別の実装パターン
スタートアップ(10-50 人)
シンプル構成:
Domain × 1(Single)
Project × 2-3(Engineering, Analytics)
Assets × 10-20(手動管理)
導入期間:2-4 週間
初期コスト:$ 1-2K/月
中規模企業(100-500 人)
標準構成:
Domain × 3-5(Finance, Sales, Engineering, Marketing)
Project × 10-20
Assets × 100-500(Auto-discovery)
ビジネスグロッサリー:30-50 用語
導入期間:2-3 ヶ月
初期コスト:$ 3-5K/月
エンタープライズ(1000+ 人)
複雑構成:
Domain × 10+(事業部・地域別)
Project × 100+
Assets × 1000+(完全自動化)
クロスドメイン監査・データ系統追跡
導入期間:3-6 ヶ月
初期コスト:$ 10-50K/月
AWS Solutions Architect 常時サポート
データメッシュアーキテクチャ図
graph TB
subgraph Domains["Data Domains"]
FD["Finance Domain<br/>Domain Owner: CFO"]
SD["Sales Domain<br/>Domain Owner: VP Sales"]
ED["Engineering Domain<br/>Domain Owner: CTO"]
end
subgraph Assets["Data Assets"]
FA["GL, AR, AP<br/>Profit & Loss"]
SA["Customers, Orders<br/>Pipeline"]
EA["Logs, Metrics<br/>System Data"]
end
subgraph Portal["DataZone Portal"]
Search["検索・発見"]
Request["アクセス申請"]
Glossary["グロッサリー"]
Audit["監査・追跡"]
end
subgraph Consumers["Data Consumers"]
Analysts["アナリスト"]
Scientists["データサイエンティスト"]
Exec["経営陣"]
end
Domains --> Assets
Assets --> Portal
Portal --> Consumers
実装チェックリスト
フェーズ 1:検討・準備(1-2 週間)
- [ ] 組織構造分析・Domain 定義
- [ ] 現在のデータ資産インベントリ作成
- [ ] Glue Catalog の状況確認
- [ ] Lake Formation の導入状況確認
- [ ] スキップ権者・予算確保
フェーズ 2:パイロット実装(2-4 週間)
- [ ] DataZone ドメイン作成(テスト環境)
- [ ] データソース統合(1-2 テーブルのみ)
- [ ] ビジネスグロッサリー骨子作成(10-20 用語)
- [ ] 承認ワークフロー設定・テスト
- [ ] Lake Formation 連携テスト
- [ ] 10-20 ユーザーでパイロット実施・フィードバック
フェーズ 3:本番展開(4-8 週間)
- [ ] 全ドメイン・プロジェクト作成
- [ ] 全データソース統合
- [ ] ビジネスグロッサリー完成版(100+ 用語)
- [ ] 承認ワークフロー最適化
- [ ] 監査ログ設定・ダッシュボード構築
- [ ] 全組織ユーザー教育
- [ ] 本番環境 Go-Live
フェーズ 4:最適化・高度な運用(継続)
- [ ] AI 推奨機能の評価
- [ ] データ品質スコア導入
- [ ] 定期的なメタデータ品質監査
- [ ] ドメイン間のデータ系統追跡
- [ ] Cost Explorer での利用パターン分析
データ品質・メタデータ管理
データプロファイリング
# DataZone の データ品質スコア自動計算
datazone.update_asset_metadata(
DomainIdentifier=domain_id,
AssetIdentifier=asset_id,
DataQuality={
'completeness': 0.98, # 98% null でない
'uniqueness': 0.99, # 99% ユニーク値
'validity': 0.97, # 97% バリデーション OK
'timeliness': 1.0 # 毎日更新
}
)
# ユーザー検索時に表示
# → 「Revenue テーブル:品質スコア 98/100」
カスタム属性管理
# ビジネスメタデータの拡張
datazone.create_custom_metadata_form(
DomainIdentifier=domain_id,
Name='FinancialReportingMetadata',
Fields=[
{
'Name': 'ReportingFrequency',
'Type': 'ENUM',
'Values': ['Daily', 'Weekly', 'Monthly', 'Quarterly', 'Annual']
},
{
'Name': 'GLAccount',
'Type': 'TEXT'
},
{
'Name': 'CostCenter',
'Type': 'TEXT'
}
]
)
まとめ
Amazon DataZone は 「エンタープライズデータポータル・ガバナンス基盤」。データプロデューサーとコンシューマーを繋ぎ、セルフサービスデータ発見を実現し、データメッシュアーキテクチャを構築します。
成功の鍵:
- Domain 設計 で 自律管理・スケーラビリティ実現
- ビジネスグロッサリー で 組織全体の用語統一
- Lake Formation 統合 で セキュリティ・ガバナンス統一
- 監査・コンプライアンス で 規制対応
- 段階的導入 で リスク最小化・組織適応
2025-2026 年は Generative AI による支援・S3 Tables 統合など、自動化がさらに進む見込みです。
最終更新:2026-04-26 バージョン:v2.0