DBサーバーを構築(AWS、RDS)
内容
AWSでDBサーバーを構築する
基礎知識
- RDS
→フルマネージドなリレーショナルデータベースのサービス(AWSが運用管理までしてくれる)
→オンプレミス(自分でDBサーバーを構築)やOn EC2(EC2上にMySQLをインストールしDBサーバーとして運用)よりも、構築や運用の手間が軽減され、コア機能の開発に注力できるというメリットがある
→高い可用性(複数のアベイラビリティゾーンにマスターとスレイブを設計し、マスターの接続ができなくなった時でもスレイブが動く)
DBサーバーを構築
1. プライベートサブネットを作成
2. RDSを設置(作成準備)
- DB用のセキュリティグループを作成
- EC2ダッシュボードでセキュリティグループタブを開く
- セキュリティグループの作成→セキュリティグループ名と説明を入力、VPCは作成したもの→インバウンドルールで追加→タイプ「MySQL/Aurora」、ソース「作成した〜-webのセキュリティグループ」(Webサーバーのインスタンス)→作成
- RDSのダッシュボードでサブネットグループタブを開く
- DBサブネットグループの作成→名前と説明を入力、VPCを関連付け→アベイラビリティゾーンで1aと1c、サブネットもプライベートの番号の方を2つ選択→作成
- パラメーターグループタブを開く
- パラメーターグループを作成→パラメーターグループファミリー「mysql8.0」、名前と説明を入力→作成
- オプショングループタブを開く
- グループを作成→名前と説明はパラメーターグループと同じにし、エンジンは「mysql」、メジャーエンジンバージョンは「8.0」→作成
3. RDSを設置(作成)
- RDSダッシュボードでデータベースタブを開く
- データベースの作成→エンジンのオプションは「MySQL」の最新バージョンを選択→テンプレートは今回は「無料利用枠」→DBインスタンス識別子は「〜-web」→マスターユーザー名とパスワードを設定→ストレージの自動スケーリングは無効にしておく→接続は自身で設定したものを選択、パブリックアクセスはなし、セキュリティグループは「既存のdbの方」、アベイラビリティゾーンは「1aの方」→データベースポートは「3306」→追加設定でDB パラメータグループとオプショングループを設定、バックアップは有効にし長めに設定しておく→あとはマイナーバージョン自動アップグレードの自動化だけチェック→作成
※自動スナップショットは設定期間が過ぎると消える(RDSインスタンスを削除しても一緒に削除される)が、手動で取得したスナップショットは削除されない(RDSインスタンスを削除しても)→存在していると料金がかかるのでRDSインスタンスを削除した際は、スナップショットも削除する
※RDSインスタンスの停止は、本番環境ではしない方が望ましい
4. WebサーバーからRDSに接続
ターミナル
[ec2-user@ip-〜]$ sudo yum -y install mysql
- RDSダッシュボードでデータベースを開く
- 作成したDBを開き、エンドポイントをコピー
ターミナル
[ec2-user@ip-〜]$ mysql -h エンドポイント -u root(マスターユーザー名) -p Enter password: exit; # 終了
次回
通信について