[AWS]RDSを使用してデータベースを分離する


現在、プロジェクトサーバはEC 2内でサーバとDBを同時に駆動している.データベース内のデータを保存するために、EC 2がダウンタイムしても、データベース分離操作が行われます.プラットフォームはRDSを採用することを決定した.RDSを選んだのは、S 3のように検索できるリソースがたくさんあるからです...
https://developer111.tistory.com/52
上のリンクをたくさん参考にしました.過程の説明が遅くて分かりやすいです.ただし、セキュリティ設定は上記のリンク方法に従っていません.

1.RDS DBの作成


作成プロセスの詳細については、上のリンクを参照してください.RDSでDBを作成するのに約5~10分かかります.

2.セキュリティグループの設定


上記のリンクに従ってセキュリティグループを設定すると、EC 2からRDSにのみ接続できます.MySQL Workbench、端末など様々な方法で接続するために、DBの作成時にパブリックアクセスを許可します.

次の図に示すように、セキュリティグループを作成し、RDSセキュリティグループに追加します.

すべてのIPv 4ソースに対して3306ポートをオープンします.

3.プロジェクトにDBを作成する


(1)DB構成の変更


今回はDBにconfigを設定します.jsファイルが作成され、DB接続情報が格納されます.
require("dotenv").config();
module.exports = {
  rds: {
    username: process.env.RDS_USER,
    password: process.env.RDS_PASSWORD,
    database: process.env.RDS_DB_NAME,
    host: process.env.RDS_END_POINT,
    dialect: "mysql",
  },
};
安全のため、上記の変数は環境変数として指定されます.
ユーザー名とパスワードは、データベース作成時に入力した情報です.
データベースは作成するデータベース名です.
hostエンドポイント情報を入力すればいいです.RDS DBコンソールで確認できます.

(2)DBの作成


既存のコマンドに設定情報を追加するだけで簡単にDBを作成できます.
$ npx sequelize db:create --env rds 

$ npm run dev

4.データベース接続


(1)MySQLコマンドの使用

$ mysql -u 계정이름 -p -h 엔드포인트 -P 포트번호

$ mysql> SHOW DATABASES;

(2)MySQL Workbenchの使用



hostnameのDBエンドポイント、ユーザー名、パスワードはDB作成時に入力内容を記入すればよい.