概要
AWSを勉強し始めて1週間の超初心者が、新規作成したRDSにMySQLで接続し、データを追加するまでの流れを備忘録して記録しておきます。
著者はAWSについての詳しい知識は持っておりません。そのためこの記事には不正確な点があるかもしれません。もし間違いや改善点を発見しましたら、ご指摘いただけると幸いです。
動作環境・前提条件
【動作環境】
- OS: M1 macOS Ventura 13.1
- リージョン: 大阪(ap-northeast-3)
- RDS: MySQL 8.0.32
【前提条件】
- AWSのアカウントを作成していること
RDSにデータを追加するまで
RDSを作成しデータを追加するまでのおおまかな流れです。
1. VPCを作成する
2. RDSでデータベースを作成
3. セキュリティグループにインバウンドルールを設定
4. MySQLに接続する
5. データを追加する
順次詳しく解説します。
STEP1 VPCを作成する
まずはVPCを作成します。
VPCとはVirtual Private Cloudの略で、仮想的なネットワークを構築するためのサービスです。
作成するには、コンソール画面から「VPC」を選択し、「VPCを作成」をクリックします。
作成画面が表示されたら、以下のように設定します。
- 作成するリソース: VPCなど
- 名前タグ: TestVPC
- IPv4 CIDRブロック: 10.0.0.0/16
後はデフォルトのまま、作成してください。
STEP2 RDSでデータベースを作成
次にRDSにデータベースを作成します。
まずコンソール画面から「RDS」を選択し、「データベースを作成」をクリックします。
作成画面が表示されたら、以下のように設定します。
- データベースの作成方法: 標準作成
- エンジンのタイプ: MySQL
- エンジンバージョン: MySQL 8.0.32
- テンプレート: 無料利用枠
- DBインスタンス識別子: testdatabase-1
- マスターユーザ名: お好みで
- マスターパスワード: お好みで
- Virtual Private Cloud(VPC): TestVPC(さっき作成したやつ)
- パブリックアクセス: あり
- VPCセキュリティグループ: 新規作成
- VPCセキュリティグループ名: TestSecurityGroup
- アベイラビリティーゾーン: ap-northeast-3a
後はデフォルトのまま、作成してください。
STEP3 セキュリティグループにインバウンドルールを設定
次に、先ほど新規作成したセキュリティグループにインバウンドルールを設定します。
インバウンドルールとは外部からのアクセスを制御するルールのことです。これを適切に設定することで、外部からの不正アクセスを防止することができます。
データベースの詳細画面から、セキュリティグループをクリックします。
セキュリティグループ画面が表示されたら、画面下部のインバウンドルールタブを選択し、インバウンドルールを編集をクリックしてください。
編集画面が表示されたら、以下のルールを追加してください。
- タイプ: MYSQL/Aurora
- プロトコル: TCP
- ポート範囲: 3306
- ソース: マイIP
STEP4 MySQLに接続する
次に、作成したデータベースにMySQLで接続して、データを追加します。
今回はSqlectronというアプリを使って、接続します。
アプリをダウンロードして起動したら、画面上部の「Add」をクリックしてください。
追加画面が表示されたら、以下のように設定します。
- Name: TestMySQL
- Database Type: MySQL
- Server Address Host: 作成したサーバのエンドポイント
- ServerAddress Port: 3306
- User: 設定したユーザ名
- Password: 設定したパスワード
補足として、MacのTerminalから接続する場合は、以下のコマンドを入力してください。
brew update
brew install mysql
mysql -h エンドポイント -P 3306 -u ユーザ名 -p
STEP5 データを追加する
最後に、データを追加していきます。
Sqlectronでデータベースに接続できたら、以下のコマンドを入力してください。
CREATE DATABASE sample_database;
USE sample_database;
RDSの中にsample_databaseという領域(?)を作り、その中にデータを追加していきます。
CREATE TABLE User(id Int NOT NULL PRIMARY KEY, name CHAR(10) NOT NULL, age Int);
次にsample_databaseの中にUserというテーブルを追加します。
ここではid
を主キーとして設定しています。
INSERT INTO User VALUE(1, "A", 20), (2, "B", 30), (3, "C", 35), (4, "D", 28), (1, "E", 40);
最後にUserの情報を追加します。
SELECT * FROM User;
SELECT文でデータを表示すると、追加されているのがわかるはずです。
まとめ
まだまだ知識不足ですが、とりあえず作成したデータベースにデータを追加することはできました。
参考にした記事