🚴🏻‍♀️

【AWS Database Migration Service】AWSの基礎を学ぼう

2021/08/21に公開

概要

「AWS エバンジェリストシリーズ AWSの基礎を学ぼう」で”AWSの基礎を学ぼう 第五十四回 AWS Database Migration Service のおさらい”というイベントに参加した感想ページです。

「AWS エバンジェリストシリーズ AWSの基礎を学ぼう」とは

AWS エバンジェリストシリーズ AWSの基礎を学ぼう

以下、Connpassページより引用

Amazon Web Services (AWS)は現在200を超えるサービスを提供し、日々サービスの拡充を続けています。
このAWS エバンンジェリストシリーズでは週次でAWSのサービスをひとつづつ取り上げながらその基礎を説明していく 初心者、中級者をターゲットとした講座です。午後の仕事前にスキルアップを一緒にしませんか?
注意点 登壇者による発表内容はアマゾン ウェブ サービス ジャパンとして主催しているものではなく、コミュニティ活動の一環として勉強会の主催を行っているものです。

毎週ありがとうございます!

触ってみる。

今回の構成


Aurora MySQL(サーバーレス)に入っているデータをDMS経由でS3に流してみよう。

事前準備

RDSに入れたデータは以下の通り

create table mydb.user (id int, name varchar(10));
create table mydb.product (id int, name varchar(10), col varchar(10));

create unique index idx_user on mydb.user(id);
create unique index idx_product on mydb.product(id);

CREATE VIEW mydb.view_user AS SELECT * FROM mydb.user;
CREATE VIEW mydb.view_product AS SELECT * FROM mydb.product;

INSERT INTO mydb.user VALUES (1, 'A000000001');
INSERT INTO mydb.user VALUES (2, 'B000000002');
INSERT INTO mydb.user VALUES (3, 'C000000003');
INSERT INTO mydb.user VALUES (4, 'D000000004');
INSERT INTO mydb.user VALUES (5, 'E000000005');

INSERT INTO mydb.product VALUES (1, 'A000000001', 'F000000001');
INSERT INTO mydb.product VALUES (2, 'B000000002', 'G000000002');
INSERT INTO mydb.product VALUES (3, 'C000000003', 'H000000003');
INSERT INTO mydb.product VALUES (4, 'D000000004', 'I000000004');
INSERT INTO mydb.product VALUES (5, 'E000000005', 'J000000005');

SELECT * FROM mydb.view_user ORDER BY 1;
id  name
1   A000000001
2   B000000002
3   C000000003
4   D000000004
5   E000000005

SELECT * FROM mydb.product ORDER BY 1;
id  name        col
1   A000000001  F000000001
2   B000000002  G000000002
3   C000000003  H000000003
4   D000000004  I000000004
5   E000000005  J000000005

エンドポイント作成

RDS(ソース)のエンドポイント作成

RDSのログイン情報を登録

S3(ターゲット)のエンドポイント作成

S3のアクセス情報を登録
ROLEはS3アクセスの権限をつけてDMSを信頼。

レプリケーションインスタンスの作成

DMSのインスタンスサイズなどを設定。ほぼ初期設定で運用。

データベース移行タスク

DMSのタスクを定義します。 基本としてはデフォルトですが、ここでフィルターとかも出来そう。


タスク完了

少し起動に時間を要しましたが、ロードが完了しました

S3の結果

S3にデータベース⇨テーブル⇨データという階層で出力されました。


S3の出力結果

user

1,A000000001
2,B000000002
3,C000000003
4,D000000004
5,E000000005

product

1,A000000001,F000000001
2,B000000002,G000000002
3,C000000003,H000000003
4,D000000004,I000000004
5,E000000005,J000000005

感想

コンソール画面で感覚でポチポチするだけでもデータ抽出することが出来ました。
データのフィルタや文字コードの話はありますが、ここまで楽だとS3にデータバックアップに使う要件でもありなん?って思ったりしました。

こんな感じ。

Discussion