今回は、プライベートサブネット内にRDSを構築したいと思います。
RDSは、MySQLを選び、下の構成図のプライベートサブネット内にRDSをたて、パブリックサブネットのPublicServerからアクセスできるようにする構成とします。
なお、RDSは2つのアベイラビリティゾーンにサブネットを作成し、DBサブネットとして設定する必要があります。本構成のプライベートサブネット(10.0.11.0/24)の構築は本サイトでは明示的に紹介していないため、こちらを参照に作成ください。
では、構築していきましょう。
1.セキュリティグループの作成
では、まずDB用のセキュリティグループを作成し、パブリックサブネットのPubclicServerのEC2インスタンスからのみアクセスできるような設定にしていきたいと思います。
AWSマネージドコンソールから、EC2の管理画面に行き、左メニューから「セキュリティグループ」をクリック。
「セキュリティグループの作成」をクリックします。
「セキュリティグループを作成」画面の「基本的な詳細」(?)で、下記項目を入力・選択します。
- セキュリティグループ名:tancox-rds-sg
- 説明:何かを記入(書かないとエラーとなる)
- VPC:「tancox」を選択
下にスクロールしていきます。
「インバウンドルール」で「ルールを追加」ボタンをクリックします。
下記のように入力していきます。
- タイプ:「MYSQL/Aurora」を選択します。
- ソース:「カスタム」を選択します。
- ソースの値入力欄:PublicServerのセキュリティグループを選択します。
「アウトバンドルール」はデフォルトのままにします。
そのまま画面一番下までスクロールします。
「セキュリティグループを作成」ボタンをクリックします。
下図のように「正常に作成されました。」と表示されればOKです。
2.DBサブネットグループの作成
次にDBを格納するサブネットグループを作成します。
AWSマネージドコンソールから、RDSの管理画面に行き、左メニューから「DBサブネットグループ」をクリック。
「DBサブネットグループの作成」をクリックします。
「DBサブネットグループを作成」画面の「サブネットグループの詳細」で、下記項目を入力・選択します。
- 名前:tancox DB Subnet
- 説明:何かを記入(書かないとエラーとなる)
- VPC:「tancox」を選択
下にスクロールしていきます。
「サブネットを追加」で、下記のように入力していきます。
- アベイラビリティゾーン:「ap-northeast-1a」、「ap-northeast-1c」を選択します。
- サブネット:「10.0.1.0/24」、「10.0.11.0/24」を選択します。
一番下にスクロールし、「作成」ボタンをクリックします。
下図のように「正常に作成されました。」と表示されればOKです。
3.RDSインスタンスの作成
次にRDSインスタンスを作成します。
AWSマネージドコンソールから、RDSの管理画面に行き、「データベースの作成」をクリックします。
「データベースの作成」画面で、下記項目を入力・選択します。
- データベース作成方法を選択:標準作成
- エンジンのオプション
- エンジンのタイプ:MySQL
- エディション:MySQL Community
- バージョン:最新のものを選択(今回はMySQL 8.0.20)
- テンプレート:適切なものを選択(今回は無料利用枠を選択)
- 設定
- DBインスタンス識別子:tancox-db
- マスターユーザー名:admin(デフォルトのまま)
- マスターパスワード/パスワードを確認:(任意のもの)
- DBインスタンスクラス:任意のものを選択
- ストレージ
- ストレージタイプ:汎用(SSD)(デフォルトのまま)
- ストレージ割り当て:20(デフォルトのまま)
- ストレージの自動スケーリング:(デフォルトのまま)
- 可用性と耐久性
- マルチAZ配置:任意のものを選択(商用であれば「スタンバイインスタンスを作成する」 を選択した方がよいです)
- 接続
- VPC:tancoxのVPCを選択
- サブネットグループ:tancox db subnet(デフォルトのまま)
- パブリックアクセス可能:なし
- 既存のVPCセキュリティグループ:「default」に先ほど作成した「tancox-rds-sg」を追加
- アベイラビリティゾーン:ap-northeast-1aを選択
- データベースポート:3306(デフォルトのまま)
- データベース認証:パスワード認証(デフォルトのまま)
- 追加設定:最初からバックアップや拡張モニタリング等の設定が可能であれば設定ください
画面一番下にある「データベースの作成」ボタンをクリックします。
下図のように画面が遷移され、データベース作成中の案内が表示されます。作成完了までは数分かかります。
画面更新ボタンをクリックし、作成したDBの情報が下図のように「正常に作成されました」、「利用可能」(赤枠部分)になったことが確認できれば、作成完了です。
これで構築作業は完了です。
5.確認
RDSにmysqlコマンドで情報が閲覧できるかを確認します。
※なお、Amazon Linux2をデフォルトでインストールした場合には、mysqlが特にインストールされているわけではないため、mysqlコマンドもありません。mysqlコマンドをインストールする手順は、こちらで紹介します。
まず、mysqlコマンドでRDSを指定するために、エンドポイント情報を取得しておきます。
先ほどのRDS画面から、対象のRDSのリンク先をクリックします。
遷移した画面でエンドポイント情報をコピーしておきます。
RDSへ接続を許可しているパブリックゾーンのPublicServerのインスタンスへ sshでログインします。
ログイン後、下記のコマンドで接続や内容が確認できるか、確認します。
$ mysql -u admin -p -h tancox-db.xxx.ap-northeast-1.rds.amazonaws.com
Enter password: (設定したパスワードを入力)
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 17
Server version: 8.0.20 Source distribution
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)
mysql> exit
Bye
mysqlコマンドでログインができ、DB内の情報を「show database;」コマンドで閲覧できていることが確認できました。
これでRDSの構築は完了です。
コメント
コメントを投稿