Agentのセットアップ時に構築されるAWSリソースを確認したい。
はじめに
本ドキュメントでは、Agentで使用するAWSリソースの概要とランニング費用の目安についてご紹介します。
AWSリソースの構成
Quollio Metadata Agent・Intelligence Agentでは、CloudFormationを使用してお客様のAWSアカウントに一部のAWSリソースを構築します。本セクションでは、作成されるAWSリソースについてご紹介していきます。
- AWS Batch
- IAM Role / IAM Policy
- Security Group
- VPC Endpoint
- S3 Bucket
- CloudWatch Logs
- EventBridge Rule
AWS Batch
AWS Batchはバッチジョブを実行するためのコンピューティング環境です。Quollio Data Catalogでは、Metadata AgentのコンテナイメージをAWS Batch上で実行し、対象のデータソースからメタデータを抽出してカタログ化します。
AWS Batchでは、コンピューティング環境(Compute Environment)とジョブ定義(Job Definition)でコンピュートリソースや環境変数などを設定します。Metadata AgentのAWS BatchはAWS Fargateを使用するサーバレス構成であり、ジョブ実行時のみインスタンスが起動します。
より詳細なAWS Batchに関する情報は、AWS公式ページをご確認ください。
IAM Role / IAM Policy
Metadata Agentで作成されるIAM Role・IAM Policyは、必要最小限の権限に設定された上、次の目的で使用されます。
- AWS Batchのジョブ実行
- Assume Roleを使ったQuollioのAWSアカウントへのアクセス制御
- ワーキング環境として使用するS3 Bucketへのアクセス
- Parameter Storeから接続情報の取得
- Amazon ECRからコンテナイメージの取得
- AWS上のデータソースに対する読み取りアクセス
なお、SnowflakeやOracleのようなサービス内でもユーザー管理・アクセス制御を行うデータソースに関しては、Metadata Agentが使用する必要十分なアクセス権限を持ったユーザーまたはロールを、別途ご用意いただく必要があります。
Security Group
Metadata Agentは、既存のVPCおよびサブネットに構築するためのテンプレートをご用意しておりますが、AWS Batchで使用するセキュリティグループのみ新規で作成されます。このセキュリティグループでは、全てのアウトバンドトラフィックを許可し、全てのインバウンドトラフィックを拒否するよう設定されています。そのため、インターネットゲートウェイへルーティングされているサブネット内にAWS Batchを構築した場合でも、インターネットからAWS Batchの実行環境へアクセスすることはできません。
また、PrivateLinkを使用するテンプレートでMetadata Agentを構築する場合、Interface Endpointはこのセキュリティグループに対して紐付けされます。
VPC Endpoint
PrivateLinkを使用するテンプレートでは、以下の複数のVPC Endpointが作成されます。Metadata Agentのネットワークに関する詳細は ネットワークについて をご確認ください。
- com.amazonaws.ap-northeast-1.ecr.dkr
- com.amazonaws.ap-northeast-1.ecr.api
- com.amazonaws.ap-northeast-1.sts
- com.amazonaws.ap-northeast-1.logs
- com.amazonaws.ap-northeast-1.ssm
- com.amazonaws.ap-northeast-1.s3
- com.amazonaws.ap-northeast-1.execute-api
- com.amazonaws.ap-northeast-1.athena
※Amazon AthenaのMetadata Agent使用時のみ - com.amazonaws.ap-northeast-1.redshift-data
※Amazon Redshift Data APIのMetadata Agent使用時のみ
S3 Bucket
Metadata AgentのS3バケットは、主にBatchジョブ間で共通のワーキング環境として使用されます。Amazon Athenaをデータソースとして設定した場合、Metadata Agentのクエリ履歴もこのS3バケット内に保存されます。
CloudWatch Logs
AWS Batchジョブの実行ログはCloudWatch Logsに出力されます。ログの保存期間は30日間です。
EventBridge Rule
テンプレートでMetadata Agentを構築する際、ジョブ実行のスケジュールをcron形式で設定することができますが、内部的にはEventBridgeのルールを使用しています。
ランニング費用について
ランニング費用の参考として、以下の環境を仮定します。
- データソース内のテーブル数: 100
- 1テーブルあたりのカラム数: 20
- 日次で1回ジョブを実行
- PrivateLinkを使用
時々のデータソースの状態にも依存しますが、この場合の環境では日換算で約3MB、月換算で約0.1GBのメタデータが抽出されます。Metadata Agentが使用するAWSサービスの中で、主に料金が発生するサービスは AWS Batch (AWS Fargate) 、Amazon CloudWatch Logs 、PrivateLink です。以上を踏まえて概算した月額AWS利用費が下表の通りです。
サービス名 | 月額利用費 (USD) | 年額利用費 (USD) | 設定の概要 |
---|---|---|---|
AWS Fargate | 0.10 | 1.20 | 東京リージョン, オペレーティングシステム (Linux), CPU アーキテクチャ (x86), 平均期間 (3 分), タスクまたはポッドの数 (1 /日), Amazon ECS に割り当てられたエフェメラルストレージの量 (20 GB), 割り当てたメモリ量 (2 GB) |
Amazon CloudWatch | 0.01 | 0.09 | 東京リージョン, 標準ログ: 取り込まれたデータ (0.01 GB) |
AWS PrivateLink | 61.32 | 735.84 | 東京リージョン, AWS リージョンあたりの VPC インターフェイスエンドポイントの数 (6) |
合計 | 61.43 | 737.13 |
Metadata Agentで抽出するメタデータの量はそれほど大きくはならないため、PrivateLinkを使用する環境では、利用費の大部分がPrivateLinkをホストする料金となります。
- 上記の概算ランニング費用は、あくまで目安としてご参考ください。
- 製品のアップデートに伴い、AWS Batchの実行時間やデータ量が増加する可能性もあります。