💭
dbt docsで作成したドキュメントをAmazon S3でホスティングする
はじめに
dbtで作成したドキュメントをAWS S3にホスティングする方法を書きます。
手順
1. ホスト用のS3バケットを作成
- バケット名を入力します
- 「バケットを作成」を押下します
- 「パブリックアクセスをブロックするチェック」を外してください
- (アクセス権限は適宜修正してください)
2. 「プロパティ」から「静的ウェブサイトホスティング」を編集
- 「プロパティ」を押下します
- 「静的ウェブサイトホスティング」の「編集」を押下します
3. 「静的ウェブサイトホスティング」を編集
- 「静的ウェブサイトホスティング」を「有効」にします
- 「ホスティングタイプ」を「静的ウェブサイトをホストする」にします
- 「インデックスドキュメント」を入力します(例:index.html)
4. バケットポリシーを編集
- 「バケットポリシー」の欄に下記のjsonファイルを張り付けます
- バケット名は修正します
{
"Id": "Policy1679385310623",
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1679385306811",
"Action": [
"s3:GetObject"
],
"Effect": "Allow",
"Resource": "arn:aws:s3:::{バケット名}/*",
"Principal": "*"
}
]
}
5. 作成したバケットにファイルをアップロード
- バケットにdbtドキュメントで使用するファイルをアップロードしていきます
- dbtで使用するドキュメントは下記になります。「dbt docs generate」で作成してください
- index.html
- catalog.json
- manifest.json
6. ドキュメントを開く
- 再度「プロパティ」⇒「静的ウェブサイトホスティング」に遷移します
- 作成したURLを押下します
- dbtのドキュメントを確認でします
おわりに
サクッとホスティングできることが分かりました。権限周りは実務で使うなら修正が必要だと思います。また今後はmainブランチにプッシュした際に、ドキュメントが更新されるように対応していきたいです。
Discussion