Dragon Arrow written by Tatsuya Nakaji, all rights reserved animated-dragon-image-0164

AWS RDS

イメージ
Apr 26, 2019

初めてのRDS


RDS: クラウド上で提供するRDBMSサービスRDBMS(アールディービーエムエス)とは、リレーショナルデータベースを管理するソフトウェアの総称です。Oracle,MySQL,PostgreSQLといったようなもの


Multi-AZ機能: AWS側が自動で親機と子機のデータの同期を取ってくれ、さらに、フェイルオーバー機能を使い、親機に障害があった際に自動で子機に切り替えが行われます。


前提: EC2インスタンスの作成が済んでいて、ssh接続ができる状態


ステップ 1: RDS DB インスタンスの作成


インスタンスを起動するには

  1. AWS マネジメントコンソールにサインインし、Amazon RDS コンソール (https://console.aws.amazon.com/rds/) を開きます。

  2. AWS マネジメントコンソール の右上で、DB インスタンスを作成する AWS リージョンを選択します。

  3. ナビゲーションペインで、[データベース] を選択します。

    ナビゲーションペインが閉じられている場合は、左上隅のメニューアイコンを選択して開きます。

  4. [Create database (データベースの作成)] を選択して、[エンジンの選択] ページを開きます。

  5. 以下に示すように、[Select engine] で [MySQL] を選択し、続いて [Next] を選択します。


(*注意 amazon auoraは有料です、無料プランで試す場合、対応しているものを選ぶ)


6. [Choose use case] ページで、[Dev/Test – MySQL]、[Next] の順に選択します。

7. 次に示す [Specify DB details] ページで、次の値を設定します。

  • License model: デフォルト値を使用します。

  • DB engine version: デフォルト値を使用します。

  • DB インスタンスクラス: db.t2.small

  • マルチ AZ 配置: No (ここは冒頭で説明しましたが、この機能は有料)

  • ストレージタイプ: General Purpose (SSD)

  • ストレージ割り当て: 20 GiB

  • DB インスタンス識別子: tutorial-db-instance

  • マスターユーザー名: root

  • Master password: パスワードを選択します。

  • Confirm password: パスワードを再入力します。



8. [Next] を選択し、[Configure advanced settings] ページに以下の値を設定します。

  • [Virtual Private Cloud (VPC):] EC2と同じVPCを選択

    注記

    VPC の各サブネットは異なるアベイラビリティーゾーンに存在している必要があります。

  • [Subnet group] (サブネットグループ): 「DB サブネットグループを作成する」で作成する tutorial-db-subnet-group のような、VPC 用の DB サブネットグループ

  • [パブリックアクセシビリティ]: [いいえ]

  • [アベイラビリティーゾーン]: [指定なし]

  • [VPC セキュリティグループ]: プライベートアクセス用に設定した既存の VPC セキュリティグループを選択します。これには、「 プライベート Amazon RDS DB インスタンスの VPC セキュリティグループの作成」で作成する tutorial-db-securitygroup などが該当します。

    他のセキュリティグループ (デフォルトのセキュリティグループなど) は、それぞれの対応する [X] を選択して削除します。

  • データベース名: sample

その他のオプションについては、デフォルト設定のままにしておきます。



9. Amazon RDS MySQL DB インスタンスを作成するには、[Create database (データベースの作成)] を選択します。

10. 次のページで、[View DB instances details] を選択して RDS MySQL DB インスタンスを表示します。

11. 新しい DB インスタンスの [DB インスタンスのステータス ] が [利用可能] と表示されるまで待ちます。次に示す [Connect] セクションにスクロールします。

DB インスタンスのエンドポイントとポートを書きとめます。この情報を使用して、ウェブサーバーを RDS DB インスタンスに接続します。


あとは、EC2セキュリティグループのインバウンド、アウトバウンド設定にRDSセキュリティグループidを追加

RDSセキュリティグループのインバウンド、アウトバウンド設定にEC2セキュリティグループidを追加



サーバーにmysqlを入れる

$ yum list installed | grep mysql     mysqlがインストールされているか確認
$ sudo yum install mysql

接続する

sshでec2にログイン
$[tatsuya ~] mysql -h エンドポインt -P ポート -u DBインスタンスで設定したマスターユーザー -p
Enter password: (DBインスタンスで設定したパスワードを打ち込む)

Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MySQL connection id is 37
Server version: 5.6.40-log Source distribution


Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.


Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.


MySQL [(none)]> 

完璧!  

ちなみに接続エラーが出た人はセキュリティグループにMySQLの許可を正しく書き込めてないので、RDSに設定したセキュリティグループがMySQL許可を書き込んだセキュリティグループと同じか,きちんとec2側のセキュリティグループにもMySQL許可を書き込んだかもう一度確認してください。


番外編:MySQLアンインストール方法

yumでアンインストール処理を実施

$ yum remove mysql

データが入っているディレクトリを削除

$ rm -rf /var/lib/mysql