0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AWS DMSを使ってAuroraのデータをS3に出力(検証用)

Last updated at Posted at 2025-04-19

前提

・利用環境:AWS
・参考アーキテクチャ
image.png

参考

目次

  1. Auroraを作成
  2. S3バケットを作成
  3. DMSを設定

手順

1.Auroraを作成

1)AWSから「Aurora」を検索し、「Aurora and RDS」を選択
image.png
2)以下のドキュメントとブログを参考にパラメータを作成

3)「パラメータグループ」→「パラメータグループの作成」をクリック
image.png
4)以下を参考に設定し、「作成」をクリック
例:
・パラメータグループ名:postgres-custompara
・説明:postgres-custompara
・エンジンのタイプ:Aurora PostgreSQL
・パラメータグループファミリー:aurora-postgresql16
・タイプ:DB Cluster Parameter Group
image.png
5)作成したパラメータをクリックし、「編集」をクリック
image.png
6)以下の四つのパラメータ値を編集し、「変更の保存」をクリック
rds.logical_replication:1
wal_sender_timeout:0
max_worker_processes:そのまま
shared_preload_libraries:pglogical追加(,区切り)
image.png
image.png

7)「データベース」→「データベースの作成」をクリック
image.png
8)以下の内容を参考に設定し、「データベースの作成」をクリック
(検証用のため、セキュリティなどゆるくしてます)
・データベースの作成方法を選択:標準作成
・エンジンのオプション:Aurora(PostgreSQL Compatible)
・テンプレート:開発/テスト
・DBクラスター識別子:ho-postgresdb
・マスターユーザー名:postgres
・認証情報管理:セルフマネージド
・マスターパスワード:手入力
・DBインスタンス:Serverless v2
・容量の範囲:0.5GiB~16GiB
・可用性と耐久性:Auroraレプリカを作成しない
・Virtual Private Cloud(VPC):新しいVPCの作成
・DBサブネットグループ:新しいDBサブネットグループの作成
・パブリックアクセス:あり(簡単な検証のため)
・VPCセキュリティグループ:新規作成
・新しいVPCセキュリティグループ名:ho-postgresdb
・アベイラビリティーゾーン:ap-northeast-1a
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
追加設定で、DB クラスターのパラメータグループを上で作成したパラメータグループに変更
例:postgres-custompara
image.png
9)無事作成されてることを確認(数分かかる)
image.png
10)セキュリティグループにDMSレプリケーションインスタンスのインバウンドを許可する
「VPC」→「セキュリティグループ」で、上記で作成したセキュリティグループを開く
11)「インバウンドルール」→「インバウンドのルールを編集」をクリック
image.png
12)インバウンドルールを追加
・タイプ:PostgresSQL
・ソース:カスタム、VPCのプライベートIP
image.png
13)Auroraのエンドポイント名をコピー
作成したAuroraをクリックし、表示されるライターのエンドポイント
image.png
14)DBeaverを利用して、AuroraにDBを作成する
無料ダウンロード先:

15)「+」→「PostgreSQL」をクリック
image.png
16)「PostgreSQL」→「次へ」クリック
image.png
17)上でコピーしたエンドポイントをhostに貼り付ける
・host:AuroraのEndpoint
・パスワードにAurora作成時設定したパスワードを入力
・☑︎Show all databases
image.png
18)テスト接続をクリック
19)接続がうまくいったら、終了をクリック
20)SQLエディタを開き、データベースを作成する
image.png
21)データベースを作成
create database postgresdb
CREATE EXTENSION pglogical
22)スキマ、テーブルを作成し、データを入れる

2.S3バケットを作成

1)S3を検索し、「S3」をクリック
image.png
2)「バケットを作成」をクリック
image.png
3)バケット名を入力し、「バケットを作成」をクリック
例:バケット名:ho-iceberg
image.png

3.DMSを設定

前提:dms-vpc-roleというIAMロールを作成してない場合は、以下の手順に沿って作成

1.サブネットグループを作成

1)検索からdmsを検索し、「Database Migration Service」をクリック
image.png
2)ナビゲーションメニュから「サブネットグループ」→「サブネットグループの作成」をクリック
image.png
3)以下の情報を設定し、サブネットグループの作成
例:
・名前:ho-iceberg-subnetgroup
・説明:ho-iceberg-subnetgroup
・VPC:Auroraと同様なVPC
・サブネットの追加:上記のVPC上のサブネットを選択
image.png

2.レプリケーションインスタンスを作成

前提:「dms-cloudwatch-logs-role」IAMロールが作成されてない場合は、以下の手順に沿って作成
image.png
1)「レプリケーションインスタンス」→「レプリケーションインスタンスの作成」をクリック
image.png
2)以下の内容を参考に設定し、「レプリケーションインスタンスの作成」をクリック
例:
・名前:ho-instance
・インスタンスクラス:dms.t3.micro(2vCPU, 1GiB)
・レプリケーションインスタンスのための:開発またはテストワークロード(シングルAZ)
・IPv4 用仮想プライベートクラウド (VPC):サブネットグループと同様なVPC
・レプリケーションサブネットグループ:上の手順で作成したサブネットグループ(ho-ceberg-subnetgroup)
・VPC セキュリティグループ:default
image.png
image.png
image.png

3.ソースエンドポイントを作成

1)「エンドポイント」→「エンドポイントの作成」をクリック
image.png
2)下記を参考にソースエンドポイントを作成
例:
ソースエンドポイント
☑︎RDS DBインスタンスの選択
RDSインスタンス:上で作成したRDSインスタンス
☑︎アクセス情報を手動で提供する
パスワード:RDSのPostgresユーザのパスワード
データベース名:上で作成したデータベース名
レプリケーションインスタンス:上で作成したレプリケーションインスタンス
image.png
image.png
image.png
3)「テストの実行」をクリックし、Successfulと表示されたら、「エンドポイントの作成」をクリック

4.IAMロールを作成

1)IAMロールを開く
image.png
2)「ロール」→「ロールを作成」をクリック
image.png
3)「AWSのサービス」→「DMS」を選択し、「次へ」をクリック
image.png
4)「AmazonS3FullAccess」を選択し、「次へ」をクリック
image.png
5)ロール名を入力し、「ロールの作成」をクリック
例:
ロール名:postgres-cdc
image.png
6)作成したロールのARNをコピーする
image.png

5.ターゲットエンドポイントを作成

1)DMS画面で「エンドポイント」→「エンドポイントの作成」をクリック
image.png
2)下記を参考にターゲットエンドポイントを作成
例:
・ターゲットエンドポイント
・エンドポイント識別子:target-s3
・ターゲットエンジン:Amazon S3
・Amazon S3 bucket:Browse S3から、上で作成したバケットを選択
・IAM role for S3 bucket:Enter a IAM role ARN
・IAM role ARN:上でコピーしたARNを貼り付ける
・AddColumnName:true(ヘッダーを出力の場合、追加)
image.png
image.png
image.png
Parquetファイルを出力したい場合は、以下を設定

image.png

3)上で作成したレプリケーションインスタンスを選択し、「テストの実行」をクリック
image.png
4)ステータスがsuccessfulと表示されたら、「エンドポイントの作成」をクリック

6.DMSデータベース移行タスクを作成

1)「データベース移行タスク」→「データ移行タスクを作成」をクリック
image.png
2)以下の参考に設定し、「データ移行タスクを作成」をクリック
例:
・タスク識別子:postgres-cdc-task
・レプリケーションインスタンス:上で作成したもの
・ソースデータベースエンドポイント:上で作成したもの
・ターゲットデータベースエンドポイント:上で作成したもの
・移行タイプ:移行と複製
・ソースからターゲットへのレプリケーションをどのくらいの期間継続する予定ですか?:無制限
・ターゲットテーブル準備モード:何もしない
・選択ルール→「新しい選択ルールの追加」
スキーマ:スキーマの入力
ソース名:RDSで作成したスキーマ名
ソーステーブル名:RDSで作成したテーブル名
image.png
image.png
3)評価と移行の進捗を確認し、成功したら、完了
image.png
以上

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?