5
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

[無料] AWS EC2 + RDS + Flask でWebアプリを作り HTTPS 化する [データベース編 その1]

Posted at

Webアプリで使うためのリレーショナルデータベースを AWS RDS で作成します。私はスキーマレスなNoSQLにしか興味ない、という人は読み飛ばして下さい。そのうち無料で使えるキーバリューストア型データベースの DynamoDB との比較記事も書くかもしれません。

インスタンス作成

Amazon RDS のページに入り、真ん中らへんの Create database します。
Screen Shot 2563-12-15 at 14.26.03.png
Standard create で良いです。
Screen Shot 2563-12-15 at 14.28.18.png
エンジンを選びます。主要なものは全て揃っています、MySQL、MariaDB、PostgreSQL、Microsoft SQL Server の4つが無料で、Oracle と Amazon Aurora は無料枠対象外です。Aurora は MySQL/Postgre 完全互換で、本家よりも数倍速いとの謳い文句ですので、興味がある方は試してみると良いかもしれません。ただし、バージョンが限られることに気をつけて下さい。私はリレーショナルデータベースをあえて正規化せずに NoSQL のように運用することがあるのですが、その際に MySQL8.0 の JSON_TABLE という関数を多用します(そのうち余裕があれば転置インデックスの話もします)。ですが Amazon Aurora でサポートしているのは MySQL5.7 までですので、オリジナルの MySQL をエンジンとして選ばざるを得ません。window 関数なんかも確か 5.7 では使えないはずです。まあ一般的な CRUD のみであればバージョンはそこまで気にする必要はありません。今回は MySQL8.0 を選択します。
Screen Shot 2563-12-15 at 15.00.07.png
Free tier を選びます。
Screen Shot 2563-12-15 at 15.02.31.png
データベース名、ユーザー名、パスワードなどを決めます。DBインスタンスは無料利用枠では選択不可です。
Screen Shot 2563-12-15 at 15.03.18.png
Strage は 20GB もあれば十分ではないかと思います。
Screen Shot 2563-12-15 at 15.05.16.png
Public accessYes にしておかないと、EC2以外の外部からアクセスできなくなります。全て作り終わった後に設定をアクセス不可に戻せば良いです。
Screen Shot 2563-12-15 at 15.43.15.png
セキュリティーグループは その2 で設定済の default を選べば良いです。一番右下の Create database します。
Screen Shot 2563-12-15 at 15.08.16.png
データベースの作成には少し時間がかかります。ステータスが Available になれば使えます。
Screen Shot 2563-12-15 at 15.11.06.png
データベース名を押すと詳細が出ます。このエンドポイントと、先ほど入力したユーザー名・パスワードでデータベースにアクセスできます。
Screen Shot 2563-12-15 at 15.22.28.png

接続例

MySQL Workbench

Hostname に先ほどのエンドポイントを入力し、Username と Password を入れて Test Connection し、Success と出れば接続できています。
Screen Shot 2563-12-15 at 15.55.47.png
外部からでも問題なく使えます。
Screen Shot 2563-12-15 at 16.02.07.png

VScode

MySQL Workbench のような統合GUIは、設定をいじったりER図を書くときなどには非常に重宝しますが、コーディングしながら、VScode内からそのままクエリを投げたいときもあります。この MySQL 用の Extension を導入します。
Screen Shot 2563-12-15 at 16.10.04.png
左側にデータベースのアイコンが追加されます。上の➕から接続を追加できます。
Screen Shot 2563-12-15 at 16.11.20.png
同様にエンドポイント、ユーザー名、パスワードを入れて接続します。
Screen Shot 2563-12-15 at 16.13.13.png
.sql ファイルならシンタックスハイライトもされます。F9キーでクエリを実行できます。し、右側のフィールドで実行することも可能です。便利すぎます。
Screen Shot 2563-12-15 at 16.24.10.png

5
9
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
5
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?