Amazon S3のデータをAmazon Auroraにインポートする
はじめに
こんにちは。Kisaragiです。
この記事では、Amazon S3からAurora PostgreSQL DBにデータをインポートする過程を解説します。
環境
- Amazon Aurora PostgreSQL 14.6 (Serverless v2)
- Amazon Linux 2023
- CSVファイル
VPC,S3,EC2等の基本設定については解説いたしません。
【1】IAM作成
【1-1】IAMポリシー作成
- IAMコンソール画面からポリシーを作成します。
- JSON形式に変更します。
- 以下のJSONコードを使用します。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "s3import", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::your-s3-bucket", "arn:aws:s3:::your-s3-bucket/*" ] } ] }
*12-13行のyour-s3-bucketにはS3バケット名を入力してください。
- ポリシー名を入力し、ポリシー作成を完了します。
【1-2】IAMロール作成
- IAMコンソール画面からロールを作成します。
- カスタム信頼ポリシーを選択します。
- 以下のJSONコードを使用します。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
- 作成したポリシーを選択します。
- ロール名を入力し、ロール作成を完了します。
【1-3】データベースにIAMロール追加
- データベースへ移動します。
- IAMロールの管理タブでロールを追加します。
【2】VPCエンドポイント作成
プライベートサブネットにあるデータベースが直接S3と通信する為にはVPCエンドポイントが必要です。
- VPCエンドポイントコンソールからエンドポイントを作成します。
- エンドポイント名を入力し、S3 Gatewayタイプのエンドポイントを指定します。
- データベースがあるVPCを選択し、ルートテーブルを設定し、エンドポイント作成を完了します。
【3】S3のデータをDBにインポート
【3-1】aws_s3 拡張機能のインストール
- インスタンスからDBに接続します。
psql --host=111122223333.aws-region.rds.amazonaws.com --port=5432 --username=postgres --password
111122223333.aws-region.rds.amazonaws.comにはライタークラスタのエンドポイントを入力します。
▼ DBに接続が完了したら、aws_s3拡張機能のインストールコマンドを入力します。
CREATE EXTENSION aws_s3 CASCADE;
【3-2】インポート
- CSVインポートに使うテーブルを作成します。
今回のCSVのカラムは「episode, steps, action, waypoint」を使用しました。
- インポートコマンドでS3にあるCSVデータを作成したテーブルにインポートします。
SELECT aws_s3.table_import_from_s3( 'テーブル名', 'カラムリスト', #空文字の場合、テーブルのカラムと一致 'PostgreSQL', #COPYの引数・フォーマット 'S3バケット名', 'S3キー', 'S3リージョン' );
【3-3】インポート確認
- select * from tablename; コマンドでCSVデータがインポートされたことを確認します。
- CSVデータがインポートされたことが確認できます。
参考資料
テックブログ新着情報のほか、AWSやGoogle Cloudに関するお役立ち情報を配信中!
Follow @twitter
kisaragi
2024 Japan AWS Jr. Champions
2023年度新卒入社。出身は韓国です。
Recommends
こちらもおすすめ
-
Amazon S3とローカルPCをWinSCPでシンプルにファイル共有してみた
2024.4.30
-
「AWS Backup for Amazon S3」 の一般提供が公開されました
2022.3.11
-
AWS Glueの「AmazonS3イベント通知を使用した加速クロール」とは何か
2022.12.22
Special Topics
注目記事はこちら
データ分析入門
これから始めるBigQuery基礎知識
2024.02.28
AWSの料金が 8 %割引になる!
『AWSの請求代行リセールサービス』
2023.01.15