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

Amazon Aurora Serverless を使用

このチュートリアルでは、Amazon Aurora Serverless を設定し、接続する方法を説明します。

Amazon Aurora は、MySQL および PostgreSQL と互換性のあるリレーショナルデータベースサービスで、わずかなコストでエンタープライズデータベースのパフォーマンスと可用性を提供します。Aurora Serverless は、Aurora MySQL 互換エディションで一般に使用できるようになった、Aurora の新しいオンデマンド自動スケーリング設定です。Aurora Serverless の利用時には、アプリケーションのニーズに基づいてデータベースの起動、シャットダウン、キャパシティーのスケールアップまたはスケールダウンが自動的に行われます。そのため、使用していないものに対する支払いは発生せず、同時に、Aurora の高可用性、スケール、速度のメリットを享受できます。

従来のデータベース管理では、かなりの当て推量が必要でした。認識できない変わりやすい計算を進め、新しいアプリケーションのためのコンピューティングとストレージの増大を前もって予測する、開発用データベースやテスト用データベースなどの可変ワークロードを管理する、まれにしか使用されないのに大量のデータベースキャパシティーをオンラインで維持するといった作業です。Aurora Serverless を利用すると、当て推量をしないで済みます。アプリケーションがデータベースストレージ容量やコンピューティング性能を必要とするときには、Aurora Serverless によってそれらが増大され、必要量が少なくなったときには縮小されます。データベースがアクティブなときに使用するデータベース容量に対しては、1 秒あたりの単位で料金を支払います。標準とサーバーレス設定間の移行は、AWS マネジメントコンソールで数回のクリックで行えます。

次の数分間で、新しい Aurora Serverless DB クラスターを作成して設定します。新しい Aurora Serverless クラスターにアクセスするには、Cloud9 環境を作成してから、その Cloud9 からクラスターへのネットワークトラフィックを有効にします。Cloud9 環境にインストールされる MySQL コマンドラインツールを使用して、ご利用のクラスターにログインします。最後に、Cloud9 環境と Aurora Serverless DB クラスターをクリーンアップして終了します。

このチュートリアルは無料利用枠内では行えません。ただし、チュートリアルの手順に従ってチュートリアル終了時にリソースを終了する場合にかかる料金は 1 USD 未満です。

このチュートリアルには AWS アカウントが必要です

このチュートリアルは、無料利用枠内では行えません。ただし、チュートリアルの手順に従ってチュートリアル完了時にリソースを終了する場合にかかる料金は 1 USD 未満です。


ステップ 1. RDS コンソールに移動する

このステップでは、Aurora Serverless DB クラスターを作成できるように Relational Database Service (RDS) コンソールに移動します。


a.   [AWS マネジメントコンソール] を開きます。この作業手順ガイドは開いたままにしておいてください。この画面が読み込まれたら、ユーザー名とパスワードを入力して、作業を開始します。次に、まず検索バーに RDS と入力してから、[RDS] を選択してサービスコンソールを開きます。

aurora-serverless-1a
aurora-serverless-1a

(クリックして拡大)


ステップ 2. Aurora Serverless DB クラスターを作成する

このステップでは、Amazon RDS を使用して Aurora Serverless DB クラスターを作成します。


a. [Amazon RDS] 画面で、左側のナビゲーションバーから [クラスター] を選択します。

aurora-serverless-2a
aurora-serverless-2a

(クリックして拡大)


b.  [RDS > クラスター] 画面から [Create database] を選択します。

aurora-serverless-2b
aurora-serverless-2b

(クリックして拡大)


c.   [Select engine] 画面で、[Amazon Aurora] を選択します。[Edition] ラジオボタンで、[MySQL 5.6-compatible] を選択します。現在、Aurora Serverless で使用できるのは MySQL 5.6 バージョンのみです。

[次へ] を選択します。

aurora-serverless-2c
aurora-serverless-2c

(クリックして拡大)


d.   [Specify DB details] 画面の [Capacity] タイプで、[サーバーレス] ラジオボタンを選択します。

[設定] ペインの [DB cluster identifier] フィールドに MyClusterName と入力します。

選択した値を使用して [マスターユーザー名] フィールドと [マスターパスワード] フィールドを設定し、後でまた使用するためにユーザー名とパスワードを保存します。

aurora-serverless-2d
aurora-serverless-2d

(クリックして拡大)


e.   [Configure advanced settings] ページの [Capacity setting] ペインでは、Aurora の最小キャパシティーユニットと最大キャパシティーユニットの設定を変更できます。

Aurora の各キャパシティーユニットは、特定のコンピューティングおよびメモリの設定に対応しています。Aurora Serverless は、クラスターの CPU 使用率、接続、使用可能メモリに基づいて、最小キャパシティー設定と最大キャパシティー設定の間で自動的にスケールします。

[Additional scaling configuration] を展開します。[Pause compute capacity after consecutive minutes of inactivity] チェックボックスをオフにすることで、クラスターの一時停止を無効にできます。時間、分、秒のドロップダウンリストボックスを使用して、クラスターが一時停止するまでのアイドル状態の時間の長さを変更できます。デフォルトでは、クラスターはアイドル状態が 5 分連続した後、一時停止されます。

このチュートリアルでは、これらはデフォルト値のままにする必要があります。

aurora-serverless-2e
aurora-serverless-2e

(クリックして拡大)


f.  [ネットワーク & セキュリティ] ペインの [Virtual Private Cloud (VPC)] の一覧で、[新しい VPC の作成] を選択します。

[サブネットグループ] の一覧で、[Create new DB Subnet Group] を選択します。

[VPC セキュリティグループ] の一覧で、[Create new VPC security group] を選択します。後のステップで、データベースクライアントからのネットワークトラフィックが新しい Aurora Serverless クラスターにアクセスすることを許可するように、この新しいセキュリティグループに変更を加えます。

[Create database] を選択します。

aurora-serverless-2f
aurora-serverless-2f

(クリックして拡大)


g.   [RDS > クラスター] 画面が読み込まれ、MyClusterName クラスターが作成中の状態として表示されます。クラスター一覧で [MyClusterName] をクリックし、このクラスターの詳細情報にアクセスします。

aurora-serverless-2g
aurora-serverless-2g

(クリックして拡大)


h.   [MyClusterName] 詳細画面が読み込まれます。この画面には、一定時間中に使用された Aurora キャパシティーユニットの数を示す [Serverless Database Capacity] グラフと、スケーリングおよび一時停止/再開のイベントの詳細を示す [最近のイベント] ペインを含むモニタリング情報が表示されます。

[詳細] ペインまでスクロールします。チュートリアルの後で使用するために、[VPC] の値と [Database endpoint] の値を記録します。

aurora-serverless-2h
aurora-serverless-2h

(クリックして拡大)


ステップ 3. Cloud9 でクライアント環境を作成する

MyClusterName クラスター作成後の次のタスクは、同じ VPC 内にデータベースクライアントを作成することです。このタスクを完了するには、データベースクライアントとして使用する Cloud9 環境を作成します。


a.   最上部の [AWS Web Console] メニューから [サービス] を選択します。検索バーにまず Cloud9 と入力し、[Cloud9] を選択してサービスコンソールを開きます。

aurora-serverless-3a
aurora-serverless-3a

(クリックして拡大)


b. [AWS Cloud9] 画面で [環境の作成] を選択します。

aurora-serverless-3b
aurora-serverless-3b

(クリックして拡大)


c.   [Name environment] 画面の [名前] フィールドに MyCloud9Env と入力し、[次のステップ] を選択します。

aurora-serverless-3c
aurora-serverless-3c

(クリックして拡大)


d.   [Configure setting] 画面で、環境のタイプは [Create a new instance for environment (EC2)]、[インスタンスタイプ] は [t2.micro] のままにします。

aurora-serverless-3d
aurora-serverless-3d

(クリックして拡大)


e.   Aurora Serverless DB クラスターには、パブリックアクセスが可能なエンドポイントがないため、MyClusterName にアクセスできるのは同じ VPC 内からのみとなります。

MyCloud9Env を MyClusterName と同じ VPC 内に配置するには、[Configure setting] 画面を下にスクロールして、[Network settings (advanced)] セクションを展開します。[Network (VPC)] ドロップダウンから、ステップ 2h. で記録した MyClusterName の VPC を選択します。

[次のステップ] を選択します。

[確認] ページで、[環境の作成] を選択します。

新しい Cloud9 環境が作成されたら、次のステップへ進みます。

aurora-serverless-3e
aurora-serverless-3e

(クリックして拡大)


ステップ 4. Serverless クラスターへのクライアントネットワークアクセスを有効にする

このステップでは、Cloud9 環境から Serverless DB クラスターへのネットワークアクセスを有効にします。このタスクを遂行するために、MyCloud9Env に割り当てられたセキュリティグループを、MyClusterName に割り当てられたセキュリティグループのトラフィックソースとして追加します。セキュリティグループは、ネットワーク内のネットワークトラフィックを制御する仮想ファイアウォールです。


a.   ナビゲーションが容易になるように、こちらをクリックして AWS ウェブコンソールを別のブラウザに読み込みます。新しいブラウザウィンドウの最上部のメニューバーで [サービス] を選択してから、検索バーに VPC と入力し、一覧から [VPC] を選択します。

aurora-serverless-4a
aurora-serverless-4a

(クリックして拡大)


b.   [VPC ダッシュボード] ページの左側のナビゲーションで、[セキュリティグループ] を選択します。

[グループ名] 列で、aws-cloud9-MyCloud9Env で始まるセキュリティグループを見つけます。このセキュリティグループのグループ ID を書き留めます。

例として、右側のスクリーンショットでは、727a で終わるセキュリティグループがあるのがわかります。実際のグループ ID は、このスクリーンショットで示されているものとは異なります。

aurora-serverless-4b
aurora-serverless-4b

(クリックして拡大)


c.   セキュリティグループの一覧で、RDS-Launch-Wizard から始まるセキュリティグループを選択します。

次に、[インバウンドのルール] タブを選択します。

次に、[編集] を選択します。

aurora-serverless-4c
aurora-serverless-4c

(クリックして拡大)


d.   [インバウンドのルール] タブで、[別のルールの追加] を選択します。

[種類] 列で、ドロップダウンリストから [MySQL/Aurora (3306)] を選択します。

次に [ソース] 列フィールドの中をクリックすると、ドロップダウンリストが表示されます。ステップ 4b. で書き留めたセキュリティグループ ID を選択します。次に、[保存] を選択します。

例として、右側のスクリーンショットでは、一覧から 727a で終わるセキュリティグループを選択します。具体的なグループ ID は、このスクリーンショットで示されているものとは異なります。  

aurora-serverless-4d
aurora-serverless-4d

(クリックして拡大)


ステップ 5. Aurora Serverless DB クラスターに接続する

このステップでは、Cloud9 環境から Serverless DB クラスターにアクセスします。


a.    [MyCloud9Env] ブラウザウィンドウに戻ります。

[MyCloud9Env] の bash ターミナルのタブで、次のコマンドを入力します。コマンドでは値のマスターユーザー名とデータベースエンドポイントを置き換えて、Enter キーを押します。

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

プロンプトが表示されたら、マスターパスワードを入力し、Enter キーを押します。

これで MyClusterName Aurora Serverless DB クラスターに接続されるはずです。 

aurora-serverless-5a
aurora-serverless-5a

(クリックして拡大)


b. 確立した接続を使用して、Aurora Serverless DB クラスターにコマンドを発行できます。例えば、次のコマンドラインを [MyCloud9Env] の bash タブに貼り付けると、サーバーにあるデータベースを表示できます。

show databases;
aurora-serverless-5b
aurora-serverless-5b

(クリックして拡大)


ステップ 6. リソースを終了する

このステップでは、使用した Aurora DB クラスターと Cloud9 環境を終了します。

重要: 活用されていないリソースを解約することで費用を削減し、ベストプラクティスとなります。リソースを継続する場合は、料金が発生します。


a.   最上部のメニューから [サービス] を選択し、次に検索バーに RDS と入力し始めます。[RDS] を選択して Amazon RDS コンソールに戻ります。

aurora-serverless-1a
aurora-serverless-1a

(クリックして拡大)


b.   Amazon RDS コンソールページの左側のナビゲーション一覧から、[クラスター] を選択します。クラスターの一覧から [myclustername] を選択します。[アクション] メニューから [クラスターの削除] を選択します。

myclustername を削除するよう促されたら、[Delete DB Cluster] を選択します。

aurora-serverless-6a
aurora-serverless-6a

(クリックして拡大)


c.   最上部の [AWS web console] メニューから [サービス] を選択します。検索バーにまず Cloud9 と入力し、[Cloud9] を選択してサービスコンソールを開きます。

aurora-serverless-3a
aurora-serverless-3a

(クリックして拡大)


d.  [Your environments] 画面で、[MyCloud9Env] を選択し、[削除] を選択します。MyCloud9Env の削除を確認します。

aurora-serverless-6d
aurora-serverless-6d

(クリックして拡大)


おめでとうございます。

Aurora Serverless DB クラスターの作成、そこへの接続、終了について完了しました。Aurora Serverless の真の利点を経験するには、これを、使用頻度が変わりやすいアプリケーションや頻繁に使われないアプリケーション、開発/テスト環境、マルチテナントアプリケーション、オンデマンド Auto Scaling の利点を享受できるその他のアプリケーションに接続してください。

次のアプリケーションのために Aurora Serverless の利用について詳細を学ぶ »

ここまでで、Aurora Serverless データベースクラスターを作成して接続することを学習してきましたので、Aurora Serverless ユーザーガイドに進むことができます。このガイドでは、Aurora Serverless データベースの復元、変更、表示、容量の設定について学習できます。

Amazon Aurora Serverless の使用 »