導入手順
パッケージが個別に作られる理由
Section titled “パッケージが個別に作られる理由”CloudFormation テンプレートには、アカウント、リージョン、VPC、環境、ソースアカウントが すでに 解決済み の状態で含まれています。インストール時に選択するものはありません。
これは制約ではなく、意図的な設計です。これらの決定は テンプレートが宣言するリソース そのもの を変えます。既存のバケットを使うデータレイクは、バケットを作成する場合とは 異なるリソースを宣言しますし、クロスアカウントのソースは、単一アカウントの インストールには存在しないポリシーを追加します。これらをインストーラーの選択肢として 提供すれば、効果のない選択肢が生まれるか、さらに悪い場合には、後になって初めて失敗する 不整合なリソースが作られてしまいます。
インストーラー自身も、想定外の場所での実行を拒否します。認証情報をパッケージの アカウントおよびリージョンと照合し、一致しなければ停止します。
お渡しする前に、お客様と次の内容を決定します。
| 項目 | パッケージが変わる理由 |
|---|---|
| アカウントとリージョン | テンプレートとマニフェストに記録されます |
| VPC とサブネット | 既存の VPC を使うか新規に作成するか。ジョブの実行場所が決まります |
| データレイクのバケット | 既存のバケットを再利用するか、新規に作成するか |
| 環境 | prd、hom など。各リソース名に含まれます |
| カタログのデータベース | Glue のデータベース名(既定値: datalake) |
| ソースアカウント | クロスアカウントのアカウントごとにテンプレートへ権限が追加されます |
| バージョン | お客様が選択します。過去のリリースも引き続き利用できます |
お客様は、テンプレート、マニフェスト、スクリプトを含むパッケージを受け取ります。 その構成とそのアカウントに固有のものです。
CO2 Lab がお客様のアカウントにアクセスすることは一切ありません。 スクリプトを 実行するのはお客様自身であり、お客様の認証情報が使われます。
新しいパッケージが必要になる場合
Section titled “新しいパッケージが必要になる場合”次の変更はテンプレートそのものを変えるため、インストール後に設定で変えることは できません。
- 新しいソースアカウントを統合する — そのアカウントの権限がテンプレートに 存在している必要があります
- VPC やデータレイクのバケットを変更する
- バージョンを更新する
これらの場合は ご連絡ください。新しいパッケージを上書きで インストールすれば、差分は CloudFormation が解決します。
1. スタックをインストールする
Section titled “1. スタックをインストールする”パッケージを展開し、その中で実行します。
sh install-datapump.shスクリプトは、認証情報がパッケージのアカウントおよびリージョンのものであることを 確認します。別の場所に適用すると、後になって初めて失敗する不整合なリソースが 作られてしまうためです。問題がなければ、スタックを作成(または更新)します。
新しいバージョンに更新するには、新しいパッケージで同じコマンドを実行します。 差分は CloudFormation が解決します。
2. ログイン URL を設定する
Section titled “2. ログイン URL を設定する”sh post-install.shコンソールのアドレスはロードバランサーが作成された後にしか存在せず、CloudFormation は ロードバランサーと Cognito の間の循環依存を許容しません。このスクリプトがその輪を 閉じます。
再実行しても安全です。URL は現在の値で上書きされます。
3. HTTPS を有効にする
Section titled “3. HTTPS を有効にする”sh setup-https.shCognito は localhost を除き、http のコールバック URL を拒否します。HTTPS がないと
ログインは機能しません。
独自ドメインがない場合、スクリプトは自己署名証明書を生成して ACM にインポートします。 ブラウザーは証明書が信頼できないという警告を表示します。 これはドメインを持たない ことの代償です。警告をなくすには、独自の証明書を使用してください。
CERTIFICATE_ARN=arn:aws:acm:... sh setup-https.sh4. 最初のユーザーを作成する
Section titled “4. 最初のユーザーを作成する”コンソールは Cognito で認証します。最初のユーザーは AWS マネジメントコンソールから、
datapump-* のユーザープールで作成してください。それ以降のユーザー管理は Data Pump 内の
Acessos(アクセス管理)で行います。
5. アクセスする
Section titled “5. アクセスする”コンソールは 内部 ロードバランサー上にあり、インターネットには公開されません。 VPC 内から、VPN 経由で、または Session Manager のトンネル経由でアクセスします。
アドレスはスタックの出力に含まれています。
aws cloudformation describe-stacks --stack-name DatapumpStack \ --query "Stacks[0].Outputs[?OutputKey=='DatapumpConsoleUrl'].OutputValue" \ --output textインストールでインフラは作成されますが、データレイクはまだ空です。取り込み対象の データベースが 1 つも選択されていないためです。次は 取り込みの設定 に進んでください。