Amazon RDS(Amazon Relational Database Service)を使ってみた

記事タイトルとURLをコピーする

皆さんこんにちは。
4月からAWS事業部に配属された舘岡(たておか)と申します。
弊社では技術情報の紹介や解説を社外に向けて発信するエンジニアブログを公開しているのですが、私もエンジニアの端くれとして投稿したいと思います。

Amazon RDS(Amazon Relational Database Services)とは

Amazon RDS(以下RDS)とはAmazon Web Services(以下、AWS)が提供している時間貸しのリレーショナルデータベースサービスです。
MySQLやMS SQL Server、Oracleなどの各種RDBMSをAWS上に起動させて、ユーザはハードウェアを持つ事なくデータベースサービスを利用する事が出来ます。
一部のRDBMSではワンクリックでAvailabilityZoneをまたがった冗長化構成にさせることも可能です。
ただし、データベースサービスというくらいなので、ユーザーはRDSが稼働しているOSにはログイン出来ないので注意して下さい。
また、本投稿時点ではPostgreSQLをサポートしていない事にも注意が必要です。
RDSについては以下のページに情報が良くまとまっているので参考にしてみて下さい。 http://aws.amazon.com/jp/rds/ 今日はRDSの基本的な起動と削除方法について解説したいと思います。

AWSへのサインアップ

RDSをはじめ、AWSの各サービスを使うためにはAWSへのユーザー登録が必要になります。
AWSへのユーザー登録方法は以下のページで詳しく解説しているので参考にしてみて下さい。 中二病でもAWSが使いたい 本稿では登録方法については割愛させていただきます。

RDSの操作方法(Management Console、API)

RDSの起動や停止等の操作は基本的にAWS Management ConsoleというWeb上の管理画面やAPI(Application Programming Interface)から Management Consoleは全て英語表記ですが、非常に良く出来ているので慣れれば抵抗なく操作出来ると思います。
また、AWSのサービスは基本的に全てAPIで操作する事が出来るのも特徴です。
各サービス毎に専用のAPIが用意されているので、プログラムからAWS上の各リソースを操作する事ができます。
APIの使用方法についてはGoogleという検索サイトを使って調べた方が詳しいのでこちらも割愛させていただきます。

RDSの起動


AWSにログインしてManagement Consoleが表示出来たらRDSというリンクをクリックして下さい。
RDSのページに移動したら「Launch a DB Instance」からRDSインスタンスを起動します。
起動するRDSインスタンスを選択します。今日はMySQLな気分なのでMySQLを起動します。
MySQLの他にもSQL ServerやOracleを使用出来るので気分に合わせて選択して下さい。
起動に必要な情報を入力、選択します。

AWS側で取得するバックアップの設定とメンテナンスウィンドウの設定をします。
バックアップはAWS側が上手いことやってくれるのできちんと設定しましょう。
設定を確認して問題がなければ「Launch DB Instance」からRDSを起動します。
RDSの作成が開始されました。
ウィザードを閉じて終了します。
しばらく待つとStatusが「available」になって準備OKになります。
このあとはEndpointと呼ばれるRDS名に対してMySQLポート(TCP/3306)で接続します。
これでRDSが起動できました。
簡単ですね。

RDSのバックアップ


RDSのバックアップ方法はAWSの機能でスナップショットを取得する方法と、実際にRDSに接続して何かしらのダンプを取得する方法の2種類あります。
ダンプの取得方法はRDBMS毎に異なるので、ここではAWSでスナップショットを取得してみましょう。
RDSインスタンスを選択してから「Instance Actions」をクリックして「Take DB Snapshot」を選択します。
名前を決めたらスナップショットを取得してみましょう。
左ペインのDB SnapshotsをクリックするとRDSのスナップショットを取得しているのが確認できます。
Statusがavailableに変わればバックアップが取得出来た合図です。
これでいつでもRDSを復旧する事ができますね。

RDSの削除


RDSをたっぷり楽しんだら次はRDSを削除しましょう。
RDSは停止というステータスがないので、必要がなくなったら削除をする事になります。
悲しいけどここでお別れです。
RDSインスタンスを選択し、インスタンスアクションから削除します。
削除前に最終バックアップを取得する事ができます。
今回は先程バックアップを取得しているので、ここでは取得する事なく削除します。
削除処理が実行されました。
また会う日まで。

まとめとワンポイントアドバイス


エンドポイントに割りあたっている実IPアドレスは変更する可能性があるので
いずれの場合にもエンドポイント名で接続する事をオススメします。
プログラムの設定の中でIPアドレス指定している場合には変更が必要です。
リードオンリーのレプリケーションが簡単につくれるので是非活用してみて下さい。
ルーズというか細かい事が苦手な僕にはRDSがぴったりですね。
ファイルを直接操作出来ない(設定ファイル等)のでパラメータグループ等で調整が必要ですし、
ー部のRDBMSでは機能が制限されている等の注意が必要ですが、そうしたRDSの特殊な
ルールを良く理解して、便利にRDSを使ってみて下さい。