フェイス・ソリューション・テクノロジーズ株式会社IS本部OSユニットのs_miyagiです。
今回はRDSでデータベースを構築してみようと思います!
はじめに
RDSとは?
Amazon Relational Database Service (Amazon RDS)は、AWSが提供するマネージドの
リレーショナルデータベースサービスです。
Amazon RDSを利用することで、DBの運用負荷の削減や可用性向上等、様々なメリットを得られる
とのことです。
読み取れる意味合いとしては、行と列から成る表形式のデータベースを顧客に代わって
管理してくれるサービスなのかなと感じました。
早速内容に触れていこうと思います!
参考サイト
事前準備
EC2が必要です。OSは参考サイトに合わせてAmazonLinux2を使用しています。
RDSの構築
データベースの作成
RDSのダッシュボードからデータベースの作成を行います。
データベースの設定
データベース作成方法:「簡単に作成」
設定:「MySQL」
DBインスタンスサイズ:「無料利用枠」
DBインスタンス識別子:任意の文字列(画像はtest-mysql)
マスターユーザー名:任意の文字列(画像はadmin)
マスターパスワード:自動生成、もしくは任意の推測されにくい文字列(画像は任意の文字列)
上記の項目が設定できれば「データベースの作成」を押し、作成をされるのをしばし待ちましょう!
設定の確認
DB識別子のリンクをクリックし、詳細画面を開きます。
ここでメモ帳にエンドポイントの文字列をコピーしておきましょう!
(EC2からの接続に必要なため)
つぎに、「VPCセキュリティグループ」のリンクをクリックします。
設定の変更
EC2からのアクセスを許可するためインバウンドルールの変更を行います。
タイプ:「MYSQL/Aurora」
ソース:EC2の属するセキュリティグループ
を追加し、「ルールを保存」ボタンを押します。
セキュリティグループ内に追加したルールが確認できれば完了です。
MySQLの準備
EC2セッションマネージャーから接続を行います。
AmazonLinux2にはMySQLのリポジトリが登録されていないようなので、
コマンドでリポジトリの追加を行います。
sudo yum install https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm -y
次に、EC2からMySQLへ接続するために以下のコマンドで
クライアントをインストールします。
sudo yum install -y mysql-community-client
しかし、ここで問題が発生します。
以下のエラー出ました。
The GPG keys listed for the "MySQL 8.0 Community Server" repository are already installed but they are not correct for this package.
Check that the correct key URLs are configured for this repository.
Failing package is: mysql-community-client-8.0.36-1.el7.x86_64
GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
内容を要約すると「GPGキーが一致しないからパッケージのインストールは中止する」
ということのようです。
恥ずかしながらGPGキーの存在を知らなかったため、調べてみたところ
(GNU Privacy Guard)というオープンソースのツールの公開鍵で
公開鍵を使用して署名を検証したり、メールの暗号化や復号化を行うそうです。
yumからパッケージをインストールする際に正しい配布先からインストールしているかどうかの
チェックに使われることもあるようで、今回のyum install の際にもチェックを行い、
「鍵が違うからだめ!」ということで中止されてしまったようです。
なぜか鍵が一致しないのかということで、MySQLのGPGキーの情報を調べてみると、
2022年、2023年とGPGキーが更新されており、新たなキーをインポートする必要があるとのこと。
ということで下記コマンドを実行。
sudo rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
sudo rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2023
その後再度下記のクライアントインストールを行いました。
sudo yum install -y mysql-community-client
結果、無事にインストールが完了しました!!
どうやら https://repo.mysql.com/ に新たなキーが配置されると
毎回新たなキーをインポートしなければならないようです。
勉強になりました。
RDSに接続
MySQLへ接続し、RDSへの接続を行います。
下記コマンドを実行します。
Hostname:メモしたエンドポイント
Username:「マスターユーザー名」
コマンド実行後に「マスターパスワード」を入力します。
mysql -h hostname -u username -p
MySQLのデータベース一覧を表示
MySQLのデータベース一覧を表示するクエリを実行します。
上記のデータが出てくればOKです!
おわりに
今回は初めてRDSの構築を行いました。
参考サイト通りに進めましたが、トラブルもあり、非常に勉強になりました。
今後はさらにレベルアップした記事が書けるよう日々勉強していければと思います。
コメント