AWS Cloud9 環境を作成してAmazon Aurora Serverless MySQL データベースに接続する

2021.03.26

こんにちは、yagiです。

本日は、「AWS Cloud9 環境を作成してAmazon Aurora Serverless MySQL データベースに接続する」内容について記載します。

Amazon Aurora Serverless とは?

Amazon Aurora は、MySQL および PostgreSQL と互換性のあるリレーショナルデータベースであり、従来のエンタープライズデータベースのパフォーマンスと可用性に加え、オープンソースデータベースのシンプルさと費用対効果も兼ね備えています。Amazon Aurora Serverless は、Amazon Aurora (MySQL 互換エディションおよび PostgreSQL 互換エディション) のオンデマンド自動スケーリング設定です。データベースの容量はアプリケーションのニーズに基づいて自動的に起動、シャットダウン、スケールアップまたはスケールダウンされます。Aurora Serverless を使用すると、データベースインスタンスを管理せずにクラウド内でデータベースを実行できます。Aurora Serverless は、低頻度、断続的、または予測不能なワークロード向けの、シンプルでコスト効率の良いオプションです。

(公式ドキュメントから抜粋)

サーバレスなのでデータベースインスタンスの管理不要、低頻度、断続的、または予測不能なワークロード向けにも使い勝手が良く、かつそれに加えMySQL および PostgreSQL と互換性のあるリレーショナルデータベースとして活用できます。

設定してみる

Serverless MySQL データベースを設定し、接続する

上記公式ドキュメントのチュートリアルにしたがって進めていきます。 今回は以下のステップで進めます。

>Step 1. Aurora Serverless データベースを作成する

>Step 2. AWS Cloud9 環境を作成する

>Step 3. AWS Cloud9からAurora Serverless データベースへのネットワークアクセスを有効にする

>Step 4. Aurora Serverless データベースに接続する

Step 1. Aurora Serverless DB データベースを作成する

Aurora Serverless データベースを作成します。

AWSコンソールでRDSコンソールに移動し、「データベースの作成」を押下します。

「エンジンのタイプ」で「Amazon Aurora」を選択し、「エディション」で「MySQL との互換性を持つ Amazon Aurora」を選択、「キャパシティータイプ」で「サーバーレス」を選択します。

「DB クラスターの識別子」、「マスターユーザー名」、「マスターパスワード」を入力します。

「キャパシティーの設定」で「Aurora キャパシティーユニット」をそれぞれ入力します。

「接続」にて「VPC」、「サブネットグループ」を以下の通り選択します。

「VPCセキュリティグループ」にて、「新規作成」を選択します。新しいVPCセキュリティグループ名を入力し、追加の接続設定を開いて、「Data API」にチェックを入れます。

追加設定を開いて、「削除保護の有効化」のチェックを外しておきます。最後に入力した内容を全体的に再確認して、「データベースの作成」を押下します。

Step 2. AWS Cloud9 環境を作成する

AWS Cloud9 コンソールに移動して、新しい環境を作成します。

AWS Cloud9 とは?

>AWS Cloud9 は、ブラウザのみでコードを記述、実行、デバッグできるクラウドベースの統合開発環境 (IDE) です。

>Cloud9 では、サーバーレスアプリケーションを開発するためのシームレスなエクスペリエンスが提供されており、リソースの定義、デバッグ、ローカルとリモートの間でのサーバーレスアプリケーションの実行の切り替えを簡単に行えます。

(公式ドキュメントから抜粋)

「Create environment」を押下して環境を作成します。

環境名を入力して「Next step」を押下します。

Network settings (advanced)を開きます。VPCとサブネットをDB作成した際のものと合わせます。「Next step」を押下します。「Create environment」を押下して環境を作成します。

Step 3. AWS Cloud9からAurora Serverless データベースへのネットワークアクセスを有効にする

AWS Cloud9からAurora Serverless データベースへのネットワークアクセスを有効にするため、 MyCloud9Env に割り当てられたセキュリティグループを、MyClusterName に割り当てられたセキュリティグループのトラフィックソースとして追加します。

マネジメントコンソールのVPCから、セキュリティグループへ移動し、MyCloud9Envに割り当てられたセキュリティグループIDを書き留めます。

次に、Aurora Serverless データベース作成時に作成したセキュリティグループを選択し、インバウンドルールタブを選択して、「インバウンドルールを編集」を押下します。

以下のように「ルールを追加」を押下して、タイプに「MySQL/Aurora (3306)」を選択し、MyCloud9Envに割り当てられたセキュリティグループ ID を選択します。次に、「ルールを保存」 を選択します。

Step 4. Aurora Serverless データベースに接続する

Cloud9 環境から Aurora Serverless データベースに接続します。

先ほどのCloud9のターミナルで、以下を書き換えて入力します。

mysql --user=[your Master username] --password -h [your database endpoint]

パスワードを聞いてくるので、データベース作成時に入力したマスターパスワードを入力し、接続します。

結論

Aurora Serverless データベースを作成し、Cloud9 環境から接続して確認するまでを実施しました。 数回クリックするだけで簡単に作成でき、かつデータベースインスタンスの管理も不要で、かつリレーショナルデータベースとして活用できるため、使用するメリットが大きいと思われます。

参考リンク

Amazon Aurora Serverless