0
2

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.

RDSの作成・ログ設定・ローカルからの接続方法

Last updated at Posted at 2020-11-01

読者対象

RDSの作成やログ設定をしたことがない方。
ログの種類やbassionを用いたローカルからRDSへの接続方法まで解説します。
新卒エンジニアがプライベートや業務で得た知見をまとめた内容になっています。

RDSの基本的な構成

スクリーンショット 2020-11-20 16.41.45.png

RDSには作成前やること

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

RDSサブネットグループとは、RDS作成時にどのネットワークに割り当てるか決める時に必要になる。
まずRDSを配置するVPCを選択する、そのVPCに割り当てられたサブネットを選択する。
その時に、2種以上のAZに割り当てられたサブネットを割り当てないといけない。
例えばこんな感じ。。
ap-northeast-1c. 10.0.2.0/24
ap-northeast-1a 10.0.1.0/24

補足:CIDRとAZに関して。
CIDRとAZは分けて考えた方が良いかと思いました。
VPCの中にCIDRを分けてサブネットを作る、そのサブネットを様々なAZに置けるよって感じ。そう考えるとスッキリ考えれる気がします。

RDSのためのセキュリティーグループ作成

セキュリティーグループはインスタンスに設定するもの。
RDSはプライベートサブネットに置き、EC2やlambdaからの接続のみ許可することが多い

RDS作成

DBエンジンやネットワーク、ログ設定などを行って作成します。

ちなみにRDSの内容を変更する際は、メンテナンス日に適用するか、すぐに適用するかの二択が選べる。

ログ設定

ログには大きく分けて4種類ある。一般ログ、スロークエリログ、エラーログ、監査ログである。

一般ログ

sqlのクエリの実行内容が出力される。接続元の情報は出力されないのでそれがしたければ監査ログを設定する。
https://weblabo.oscasierra.net/mysql-log-1/

設定する際にはパラメーターの変更が必要になり、RDSに紐づいているパラメーターグループのパラメータを変更する必要がある。
https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/USER_LogAccess.Concepts.MySQL.html#w607aac21c26c35c23b9:~:text=general_log%20%3D%201

スロークエリログ

遅いsqlのクエリの実行内容が出力される。
https://weblabo.oscasierra.net/mysql-log-1/

設定する際にはパラメーターの変更が必要になり、RDSに紐づいているパラメーターグループのパラメータを変更する必要がある。
https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/USER_LogAccess.Concepts.MySQL.html#w607aac21c26c35c23b9:~:text=slow_query_log%20%3D%201

エラーログ

RDSの接続などに失敗したときなどのエラーを出力する。パラメータの変更は不要。

監査ログ

RDSへの接続に関するログを出力。
https://weblabo.oscasierra.net/mysql-log-1/#text-ad1:~:text=%E7%9B%A3%E6%9F%BB%E3%83%AD%E3%82%B0,-(MySQL
4つめの出力パラメーターで接続元のhostがわかったりする。
https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Auditing.html#AuroraMySQL.Auditing.Logs

設定するのにオプションの値を変更しなければいけない。
https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/Appendix.MySQL.Options.AuditPlugin.html
これに関しては、オプショングループのオプション値を変えて設定する場合やパラメータグループのパラメータを設定する場合などがある。詳しくはわからない。

補足
今のRDSの接続元の情報をログ出力ではなく、SQL文で知りたい場合は以下のSQLを実行するとわかる。

以下に挙げている二つのうちどちらかを実行すると、わかる
SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST;

show processlist;

ローカルからRDSに接続する方法

基本的にRDSはプライベートサブネットに配置するので、ローカルから直接接続することはできない。
なのでその仲介サーバとしてbassionをEC2で立てて接続してあげる。

https://dev.classmethod.jp/articles/rds-portforward/
https://harmful-spam.link/fcf8a825-40a9-4d94-8c00-e49698633e64/
https://qiita.com/nago3/items/1cd6daa5ad6377e325ed

注意
ポートフォワーディングをしてローカルからEC2を介してRDSにいく設定をしてあげないといけない。それをローカルでバックグラウンド実行(-f)でやってあげるのを忘れない

0
2
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
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?