はじめに
みなさんこんにちは!この記事では、「API Gateway・Lambda・AuroraでAPIを作成してみた」というテーマのもと作成方法を複数回に分けてご紹介しております。今回はCloudShellを使用してデータベースを操作する方法についてご紹介します。
目次
- 全体編
- VPC・サブネット・セキュリティグループ編
- Aurora編
- CloudShell編 << 今回はこちら
- Lambda編
- Secrets Manager編
- API Gateway編
CloudShellとは
AWS公式が提供するドキュメントによると、CloudShellについて以下の記載があります。
ブラウザベースのシェルである AWS CloudShell を使用すると、AWS コマンドラインインターフェイス (CLI) でスクリプトをすばやく実行したり、AWS CLIを使用してサービスAPIを試したり、他のツールを使用して生産性を向上させることができます。
一言で表すと、ブラウザ上でCLIやコマンドラインを実行できるサービスになります。今回はEC2インスタンス作成やMySQLをインストールする手間を省くため、CloudShellを使用していきます。
本記事の対象
全体の構成図に対して、本記事では赤字で記載しているCloudShellの作成、Auroraとの接続を行いデータベースを操作していきます。
データベース操作の流れ
以下の流れで実施していきます。
- CloudShellの作成
- Auroraと接続
- SQLを実行
前提として以下が必要となります。詳細は目次のリンクよりご確認ください。
- VPC・サブネット・セキュリティグループの作成
- Auroraの作成
データベースを操作してみた
CloudShellの作成
「Create VPC enviroment (max2)」をクリックし、既に作成したVPC・サブネット・セキュリティグループを選択します。
Auroraと接続
RDSプロキシのエンドポイント、データベースの認証情報を確認した上で、CloudShellのコンソールにて以下コマンドを実行します。
mysql -h [RDS Proxyのエンドポイント] -u [データベースのユーザ名] -p
パスワードを入力します。
Enter password:[パスワード]
以下が表示されれば接続完了です。
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MySQL connection id is 2120956092
Server version: 8.0.32 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.
SQL実行
データベース作成
今回は「dev」というデータベースを作成し、操作対象に選択します。
CREATE DATABASE dev;
USE dev;
テーブル作成
今回は「book」というテーブルを作成します。
CREATE TABLE book (
id INT PRIMARY KEY,
name VARCHAR(50),
price INT
);
データ格納
「book」テーブルにレコードを追加します。
INSERT INTO book(id, name, price)
VALUES
(1, 'book1', 500),
(2, 'book2', 1000),
(3, 'book3', 2000);
最後に、レコードが追加されていることを確認します。
SELECT * FROM book;
追加したレコードが表示されれば完了です。
+----+-------+-------+
| id | name | price |
+----+-------+-------+
| 1 | book1 | 500 |
| 2 | book2 | 1000 |
| 3 | book3 | 2000 |
+----+-------+-------+
終わりに
いかがだったでしょうか。今回はCloudShellを使用してデータベースを操作する方法についてご紹介しました。次回はLambda編についてご紹介します。是非、次回以降もご覧いただけますと幸いです。もしこの記事がお役に立ちましたら、「いいね」「記事のストック」をお願いします!
- AWS は、米国その他の諸国における Amazon.com, Inc. またはその関連会社の商標です。
- その他、記載されている会社名および商品・製品・サービス名は、各社の商標または登録商標です。