前提条件
Data Pump はすべてお客様の AWS アカウント上で動作します。インストール前に、 3 つのものが必要です。
VPC、バケット、ソースアカウントはお客様のパッケージのテンプレートに組み込まれ、 あとから変更するには新しいパッケージが必要になります。そのため、これらは 引き渡しの前 に整理しておくことをおすすめします。 引き渡し をご覧ください。
プライベートサブネットを持つ VPC
Section titled “プライベートサブネットを持つ VPC”ジョブはプライベートサブネット上の Fargate タスクとして実行され、コンソールは内部 ロードバランサーの背後に配置されます。サブネットは S3、DynamoDB、ECR および AWS の 各エンドポイントに到達するため、NAT ゲートウェイまたは VPC エンドポイント経由で インターネットへの出口が必要です。
NAT の代わりに VPC エンドポイントを使う場合は、s3(ゲートウェイ)、dynamodb
(ゲートウェイ)と、ecr.api、ecr.dkr、logs、sts、secretsmanager の
インターフェイスエンドポイントが必要です。
スナップショットのある RDS クラスター
Section titled “スナップショットのある RDS クラスター”Data Pump はスナップショットを読み取ります。Aurora でも RDS Postgres でも、自動でも 手動でも構いません。自動バックアップが有効(デフォルト)であれば、処理できる スナップショットがすでに存在します。
クラスターは 別の AWS アカウント にあっても構いません。その場合は クロスアカウント構成 をご覧ください。インストール手順が 1 つ増えます。
スタックを作成する権限
Section titled “スタックを作成する権限”インストーラーを実行する主体は、CloudFormation を通じて以下を作成できる必要があります。
| サービス | 用途 |
|---|---|
| S3 | データレイクのバケットと CloudFormation のステージングバケット |
| IAM | タスク、エクスポート、クローラーのロール |
| KMS | スナップショットのエクスポートを暗号化するキー |
| ECS | クラスター、タスク定義、コンソールのサービス |
| Step Functions | パイプラインのステートマシン |
| Lambda | イベント用およびクローラー用の関数 |
| DynamoDB | 設定と状態を保持する 5 つのテーブル |
| Glue | カタログのデータベースとクローラー |
| Cognito | コンソールを認証するユーザープール |
| SNS | RDS イベント用および完了通知用のトピック |
| EC2/ELB | セキュリティグループと内部ロードバランサー |
ロール名が固定であるため、インストーラーは CAPABILITY_NAMED_IAM を必要とします。
Data Pump は、待機中に高額になるリソースを作りません。費用がかかるのは処理量に 比例する部分です。
- Fargate — ジョブはスナップショットごとに数分間だけ実行されます
- S3 — データレイクの Parquet と、削除しない場合は生のエクスポート
- コンソール — 常時稼働する小さなタスク 1 つと、ロードバランサー
- Athena — 読み取ったデータ量に対して課金されます。これを減らすのが パーティション化 です
スナップショット自体はすでに支払っているものです。AWS はいずれにせよ取得します。