AWS8(【RDS】データベースサーバーを構築しよう)

その7から続く

【RDS】DBサーバーを構築しよう

構築イメージ

プライベートサブネットにDBサーバーを設置します。

複数のアベイラビリティゾーンにサブネットを設置すると可用性が高まります。

RDSとは?

フルマネージドなリレーショナルデータベースのサービスです。
構築、運用の手間の軽減によりコア機能の開発に注力できて
AWSエンジニアによるデータベース設計のベストプラクティスを適用
します。

RDSで利用可能なエンジン

MySQL
PostgreSQL
Oracle
Microsoft SQL Server
Amazon Aurora
MariaDB

各種設定グループ

DBパラメータグループ:DB設定値を制御
DBオプショングループ:RDSへの機能追加を制御
DBサブネットグループ:RDSを起動させるサブネットを制御

特徴

マルチAZを簡単に構築=可用性の向上
リードレプリカ(読み取り専用のレプリカ)を簡単に構築できます。

自動的なバックアップ
1日1回バックアップを自動取得(スナップショット)
スナップショットをもとにDBインスタンスを作成(リストア)
自動的なソフトウェアメンテナンス:自分で設定もできる
監視:各種メトリクスを60秒間隔で取得・確認可能

2つ目のプライベートサブネットを作成しよう!

※マルチAZを利用する場合設定しますが、使わない場合はSkipします。

VPCで検索して「VPC」をクリックします。

ダッシュボードの「サブネット」をクリックしてから「サブネットの作成」をクリックします。

サブネット名:my-portfolio-private-subnet-1c
VPC:自分で作成したVPC
アベイラビリティーゾーン:ap-northeast-1c
IPv4 CIDR ブロック:10.0.51.0/24

上記の設定にして「サブネットの作成」をクリックします。


サブネットが作成されたのを確認したらOKです。

RDSの作成準備

EC2ダッシュボードの「セキュリティーグループ」をクリックして、「セキュリティグループを作成」をクリックします。

セキュリティグループ名:my-portfolio-db
説明:my-portfolio-db
VPC:自分で作成したVPC
インバウンドの設定 Type:MySQL/Aurora
ソース:自分作成したセキュリティグループ(defaultではない方)

「セキュリティーグループを作成」をクリックします。

セキュリティーグループが作成されたのを確認したらOKです。

DBサブネットグループの作成をする。

※マルチAZを利用する場合設定しますが、使わない場合はSkipします。

RDSで検索して、「RDS」をクリックします。

サブネットグループをクリックして、「DBサブネットグループの作成」をクリックします。

名前:my-portfolio-subnet-group
説明:my-portfolio-subnet-group
VPC:自分で作成したVPC
アベイラビリティーゾーン:ap-northeast-1a、ap-northeast-1c
サブネット:(10.0.50.0/24)(10.0.51.0/24)

上記の設定にして「作成」をクリックします。

「サブネットグループを表示を」クリックします。

問題ないかを確認します。

パラメータグループの設定をする

RDSダッシュボードのパラメータグループ→「パラメータグループの作成」をクリックします。

パラメータグループファミリー:MySQL80
グループ名:my-portfolio-mysql80
説明: my-portfolio-mysql80

パラメータグループでは変更可能なものとそうでないもがあり
適用タイプも静的なものか動的なものか変えられます。

RDSダッシュボードの「オプショングループ」を選択して、「グループを作成」をクリックします。→

名前:my-portfolio-mysql80
説明:my-portfolio-mysql80
エンジン:mysql
メジャーエンジンのバージョン:8.0

上記の設定にして「作成」をクリックします。

デフォルトも一緒に作成されます。

RDSの作成をする

RDSで検索して、「RDS」をクリックします。

RDSダッシュボードのデータベースを選択して「データベースの作成」をクリックします。

エンジンのタイプ:MySQLを選択
バージョン:8.0.15

テンプレート:無料利用枠(マルチAZを利用する場合は開発/テスト以上を設定します)
DBインスタンス識別子:my-portfolio-web
マスターユーザー名:admin
パスワード:任意で

DBインスタンスサイズ:バースト可能クラス
ストレージタイプ:汎用
ストレージ割り当て:20
ストレージの自動スケーリングを有効にする:チェックを外す
マルチ AZ 配置:スタンバイインスタンスを作成しないでください(マルチAZを利用する場合設定します)

VPC:my-portfolio-vpc(自分で作成したVPC)
サブネットグループ:my-portfolio-subnet-group(自分で作成したサブネットグループ)
パブリックアクセス可能:なし
VPC セキュリティグループ:既存の選択
既存の VPC セキュリティグループ:my-portfolio-db(自分で作成したセキュリティーグループ)
アベイラビリティゾーン:ap-northeast-1a
データベースポート:3306

パスワード認証を選択します。

最初のデータベース名:空で
DB パラメータグループ:my-portfolio-mysql80
オプショングループ:my-portfolio-mysql80
自動バックアップの有効化 チェック
バックアップ保持期間:30日
バックアップウィンドウ:選択ウィンドウ
開始時間18:00UTC (日本だと午前3時 9時間引く)
期間:0.5時間
スナップショットにタグをコピー:チェック
拡張モニタリングの有効化:チェックを外す
ログのエクスポート:全て空(CloudWatchを使用するならチェック)

マイナーバージョン自動アップグレードの有効化:チェック
選択ウィンドウ:日曜日 20:00UTC 0.5時間
削除保護の有効化:本番環境ならチェック

上記の設定にして「データベースの作成」をクリック

接続とセキュリティタブで以下を確認
VPC:my-portfolio-vpc
サブネットグループ:my-portfolio-subnet-group
VPC セキュリティグループ:my-portfolio-db


スナップショットは手動で作った場合は自動で消えないので自分で消す必要があります。料金がかかるので忘れないように!!

RDSインスタンスの停止について

RDSを停止すると費用が浮くのでテスト環境では良いのですが、
本番環境ではRDSは停止しないほうが無難です。
停止に時間がかかるのと起動にも時間がかかリます。

WebサーバーにMySQLインストールする

Launchpadをクリックして、ターミナルを起動します。

ssh -i ~/Desktop/my-portfolio-sshkey.pem ec2-user@IPアドレス
sudo yum -y install mysql

RDSのダッシュボードでデータベースを選択→エンドポイントをコピーします。

mysql -h my-portfolio-web.********.ap-northeast-1.rds.amazonaws.com -u admin -p
           ↑コピーしたエンドポイントを貼り付け

MySQLに接続できたらOKです。

8.5に続く

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です