AWSでMySQLを使う
RDSの環境構築をやってみた!
AWSでデータベースを使ってみたくて、過去の記事を参考に環境構築をやってみました。設定が変わってたりするので、環境構築で躓きました。
202307/28 パラメーターグループの修正
mysqlではなくて、aurora-mysql8.0のスクリーンショットを貼ってました!
こちら間違いなので、修正しておきました🙇♂️
参考にした過去の記事
📡VPCを構築する
作成をクリック
VPCなどを選択して、名前タグに、vpcとわかりやすい名前をつける
アベイラビリティーゾーンは3を選択他はそのままにしておく。右下のVPCを作成を押す。3を選択しないと、サブネットが少なかった?
後で、プライベートサブネットが2個必要。
📦EC2のインスタンスを作成する
インスタンスを起動のボタンを押す。
名前をつけて、AmazonLinuxを選択。Amazonマシンイメージは、Amaozn Linux2023 AMIのまま。インスタンスタイプはt2.micoroのまま。
キーペアは今回はなしにします。AWSのコンソールからEC2に接続しますので不要。
ネットワーク設定のところで、VPCを先ほど作成したものを指定。サブネットはpublic1とついたものを選ぶ。パブリックIPの自動割り当ては、有効化する。
セキュリティーグループは名前をつける。noteの記事と同じように設定すれば大丈夫でした。
RDSを起動する
RDSの設定をしていきます。VPCのプライベートサブネットがどれなのか確認をしておく!
RDSのDBサブネットグループを作る。外部からアクセスされないように対策する。
DBサブネットグループを作成する。
サブネットの設定をしていく。
CIDRブロックが同じものを選択して、画面右下の作成を押す。
パラメーターグループを作成する
データベースを作成する
データベースを作成していきます。今回はMySQLを無料枠で使用。プロジェクトを作って試したに使ってみたら、すぐに削除してください!
無料枠と書いてあるけど、実は課金される罠があります😱
自動スケーリングは、チェックを外しておいた方が良いです。
VPCは先ほど作ったものを指定
セキュリティーグループは新規作成する
追加設定のところで、任意のデータベース名を入れておく。自動バックアップはチェックを外しておく。
右下のデータベース作成を押す。もし設定が、うまくいかなくて失敗する時は、またやり直しましょう。私は1回やり直しました笑
セキュリティーグループを設定する
EC2から接続できるように、セキュリティグループを設定する。Linuxでいうところのファイヤーウォールですね。
RDSのデータベースの中を確認する
下にスクロールして、VPCセキュリティーグループをクリックする
インバウンドのルールを編集する
を押す。
ルールを追加を押して、すべてのトラフィックを選択して、さっき作ったセキュリティグループを指定する。
ルールを保存を押す
EC2から RDSに接続する
私は、ssh好きじゃないので、コンソールからやってます。EC2のインスタンスのところから、チェックをつけて接続を押します。
接続をおす
この画面が開けたらOK
ここからは、Linuxの知識が必要です。OSはCentOSと同じコマンドを使うみたいなので、yumコマンドを使います。yum installと入力すればソフトウェアをインストールできます。
リポジトリを追加する
sudo rpm -Uvh https://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
最新のパッケージをインストール
sudo yum update
パッケージのインストールに必要なGPG署名の検証つかうGPGキーをダウンロード
sudo rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
mysqlのインストール
sudo yum install mysql-community-server -y
mysqlの起動
sudo systemctl start mysqld
mysqlの状態確認
sudo systemctl status mysqld
コマンドを実行してインストールしていきましょう!
インストールが完了したら接続をする
このコマンドを使う。先ほど作成して、データベース名とユーザー名を使う。
mysql <データベース名> -h <エンドポイント> -P 3306 -u <ユーザー名> -p
私の場合だとこうなります。
mysql hoge_data_422 -h database-2.ckiecla7acws.ap-northeast-1.rds.amazonaws.com -P 3306 -u admin -p
パスワードは見えないけど、入力できてはいます。エンターを押せばOK
このような表示がされればローカルで動かしてるMySQLと同じように使えます。
最後に
AWSでRDSの構築をやってみました。遊びといっても結構難易度高くて危険なので難しいですね。作ったリソースは完全に削除しましょう!
Discussion