MacでAWS RDSのMySQLデータベース構築したよ
参考サイト
まず、本件はこちらの方々の記事のいいところ取りです。
皆様の記事がなければ、ここまでできませんでした。
ありがとうございます。
では、はじめます。
VPCまわり
VPC作成
VPCの設定
名前タグ:好きな名前
IPv4 CIDR ブロック : 10.0.0.0/16を利用
サブネット作成
サブネット名:任意の名前
アベイラビリティーゾーン:任意の場所
IPv4 CIDR ブロック: 10.0.0.0/24
ルートテーブル作成
名前:任意の名前
VPC: さっき作ったVPC
インターネットゲートウェイ作成
[インターネットゲートウェイ] > [インターネットゲートウェイの作成]
[ルートテーブル]
[add Route]
送信先: 0.0.0.0/0
TARGET: 作成したIGWを選択
サブネットにルートテーブルを紐付け
サブネット
> さっき作ったサブネットをチェック
> ルートテーブルタブ
> ルートテーブルの関連付けを編集
EC2構築
コンソールからEC2の管理画面 > インスタンス
AMIの選択。
無料利用枠にチェック
> Linux2 AMI(64bit)
一番下は [すべてのICMP - IPv4]
EC2へのSSH接続の確認
インスタンス状態が 実行中 になってから。
IPv4パブリックIPをコピー
ターミナル画面
ping + IPアドレス 入力し、
次の画面が表示されれば接続準備はOK
$ ping 13.230.153.4
PING 13.230.153.4 (13.230.153.4): 56 data bytes
64 bytes from 13.230.153.4: icmp_seq=0 ttl=235 time=71.973 ms
64 bytes from 13.230.153.4: icmp_seq=1 ttl=235 time=58.444 ms
64 bytes from 13.230.153.4: icmp_seq=2 ttl=235 time=98.557 ms
64 bytes from 13.230.153.4: icmp_seq=3 ttl=235 time=308.163 ms
64 bytes from 13.230.153.4: icmp_seq=4 ttl=235 time=186.163 ms
SSHの接続確認
先ほど作成したpemキーを.sshフォルダに移動
次のコマンドの手順で入力し、次の結果が表示されればEC2への接続が完了
$ mv Downloads/EC2-test.pem .ssh/ #pemキーを.sshフォルダに移動
$ sudo chmod 600 ~/.ssh/EC2-test.pem #指定している鍵の権限が広すぎるため変更
$ ssh -i ~/.ssh/EC2-test.pem [email protected] #pemキーとパブリックIPを使用
The authenticity of host '13.230.153.4 (13.230.153.4)' can't be established.
ECDSA key fingerprint is SHA256:XXXXXXXXXXXXXXXXXX.
Are you sure you want to continue connecting (yes/no/[fingerprint])?
#ここは yesで回答 (未知のホスト鍵の場合こんな質問がある)
__| __|_ )
_| ( / Amazon Linux 2 AMI
___|\___|___|
https://aws.amazon.com/amazon-linux-2/
[ec2-user@ip-10-0-0-200 ~]$
RDS設定
DB用のセキュリティグループの作成
DBへのアクセスは既存のEC2のみアクセスするように設定。
[EC2]>[セキュリティグループ]>[セキュリティグループの作成]
セキュリティグループ名、説明、EC2があるVPCを設定
インバウンドルール
・タイプ: MYSQL/Aurora
・ソース: EC2のセキュリティグループ
DB用のサブネットの作成
RDSを利用するには、異るAZに属するサブネット2つを用意する必要があるので、DB用のサブネットを2つ作成し、この2つのサブネットは「1a」「1c」のAZを指定。
CIDRブロックの範囲は使用済みの数値は指定できない。
VPC >
サブネット > サブネットを作成
DB用のサブネットグループの作成
RDS > サブネットグループ > DB サブネットグループの作成
名前、説明、VPCやサブネットはEC2のあるところを選択し作成します。
データベースの作成
あとはデフォルトどおりに
一番下にある「データベースの作成」をクリック
RDSへ接続
まずEC2に接続
$ssh -i ~/.ssh/EC2Testkey.pem [email protected] #EC2接続
__| __|_ )
_| ( / Amazon Linux 2 AMI
___|\___|___|
https://aws.amazon.com/amazon-linux-2/
[ec2-user@ip-10-0-0-200 ~]$ sudo yum update -y #EC2接続時に最初に実行
[ec2-user@ip-10-0-0-200 ~]$ sudo yum install mysql -y #MySQLのインストール
完了しました!
[ec2-user@ip-10-0-0-200 ~]$
AWSのコンソール画面に戻り、作成したRDSのエンドポイントをコピーします。
$ mysql -h aws-test.XXXXXXXX.ap-northeast-1.rds.amazonaws.com -u admin -p #RDSのエンドポイントとRDS作成時のマスターユーザ名(admin)を使用
Enter password:〇〇〇〇〇〇〇〇 #RDS作成時のパスワード(いつものパスワードではないので注意)
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MySQL connection id is 17
Server version: 8.0.20 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)]> #exitで抜けます
以上、MySQL構築できました!
こんな感じでデータベースを作ります。
$ SET time_zone = 'Asia/Tokyo';
$ CREATE DATABASE project;
$ USE project;
$ CREATE TABLE users (id INT AUTO_INCREMENT, userId TEXT, branch TEXT, name TEXT, created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (id)) DEFAULT CHARSET=utf8;
$ SHOW tables;
+-------------------+
| Tables_in_project |
+-------------------+
| users |
+-------------------+
1 row in set (0.01 sec)
$ DESCRIBE users;
+------------+-----------+------+-----+-------------------+-----------------------------------------------+
| Field | Type | Null | Key | Default | Extra |
+------------+-----------+------+-----+-------------------+-----------------------------------------------+
| id | int | NO | PRI | NULL | auto_increment |
| userId | text | YES | | NULL | |
| branch | text | YES | | NULL | |
| name | text | YES | | NULL | |
| created_at | timestamp | NO | | CURRENT_TIMESTAMP | DEFAULT_GENERATED |
| updated_at | timestamp | NO | | CURRENT_TIMESTAMP | DEFAULT_GENERATED on update CURRENT_TIMESTAMP |
+------------+-----------+------+-----+-------------------+-----------------------------------------------+
$ INSERT INTO users (userID, branch, name) values ('000000','本店','山田太郎');
$ select * from users;
+----+--------+--------+--------------+---------------------+---------------------+
| id | userId | branch | name | created_at | updated_at |
+----+--------+--------+--------------+---------------------+---------------------+
| 1 | 000000 | 本店 | 山田太郎 | 2021-06-13 05:11:59 | 2021-06-13 05:11:59 |
+----+--------+--------+--------------+---------------------+---------------------+
Author And Source
この問題について(MacでAWS RDSのMySQLデータベース構築したよ), 我々は、より多くの情報をここで見つけました https://qiita.com/tatsuya1970/items/8dd5f79a6a5026cbcc7b著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .