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;
# 終了

次回

通信について