AWS RDS でMySQLインスタンスを構築する
2015/05/16
Amazon Web ServiceにはAmazon Relational Database Service というデータベースサービスがあります。
EC2に立ち上げたOSにデータベースを構築してもいいのですが、データベース管理タスクをサービスとして機能提供してくれているので、AWS上でシステム構築するのであれば、基本的にはRDSを使っていこうと思います。
目次
EC2インスタンス上ではなくRDSでデータベースを構築するメリット
公式サイトに様々な情報がありますが、特筆すべきは下記と思います。
- 自動バックアップとディザスタリカバリ
- ソフトウェアの自動パッチ適用
- CPU、ディスク、メモリ使用量に関する測定値をダッシュボードに表示
- ホットスタンバイ(Multi-AZ配置)
MySQLインスタンスを構築する
他のサービス同様に数プロセスで完了します。
[Services]で[RDS]を選択してRDSの画面で[Instances]-[Launch DB Instance]を押します。
[Select Engine]でMySQL,PostgreSQL,ORACLE,SQLServerから選択出来るので、[MySQL]を選択して[Select]を押します。
とりあえず今回は無料利用枠をなるべく使いたいので、[No, this instance is intended for use outside of production or under the RDS Free Usage Tier]を選択して、[Next Step]を押します。
デフォルトから変更した項目
- [DB Instance Class] まずは最低の[db.t1.micrp – 1vCPU,0.613 GiB RAM]を選択。
- [Multi-AZ Deployment] ホットスタンバイですが、どれぐらい料金が発生するのかも知りたいのと、本番稼働するのであれば必須だろうと思い、Yesにしてます。
- [DB Instance Identifier] インスタンス名
- [Master Username],[Master Password],[Confirm Password]
[Allocated Storage]は後でも増やせるので最低の5GBで始めます。
[Next Step]を押します。
[Network & Security]は何も変更していません。
既存のセキュリティグループも使用出来ますが、OSのセキュリティグループの設定に引きずられるのも違うかと思いまして、[Create new Security Group]にしています。
[Database Options]では、[Database Name]を設定しています。
まだ続きがあるので下にスクロールします。
バックアップとメンテナンスの設定をします。
- [Backup Retension Period] バックアップ保持期間は1日にしました。
- [Backup Window] 実行時刻を2時-5時で設定しました。(UTCなので-9時間)
- [Auto Minor Version Upgrade] 自動でパッチをあてるようにします。
- [Maintenance Window] 日曜日9時に実行されるようにしています。(UTCなので-9時間)
[View Your DB Instances]を押して作成開始。
[Instances]ビューでステータスがavailableとなれば完了です。
EC2から接続する
セキュリティグループの設定
EC2のセキュリティグループIDを確認して、RDSのセキュリティグループのインバウンド送信元に設定します。
設定方法はデフォルトで操作している端末のグローバルIPアドレスが設定されていると思いますので、それを参考にして送信元をIPアドレスではなくEC2のセキュリティグループにします。
ホスト名の確認
ホスト名はEndpointという項目にあります。
「~ rds.amazonaws.com」までがホスト名です。
EC2から接続してみる
EC2にログインして、下記コマンドを実行して確認します。
[bash]
$ mysql -h
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 35
Server version: 5.6.22-log MySQL Community Server (GPL)
Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.
mysql>
[/bash]
無事成功です。
最後までお読みいただきましてありがとうございました!
「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。

「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。


開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
ad
ad
関連記事
-
-
Amazon API Gatewayでモックを作る
超シンプルなAPI Gatewayのサンプルがほしかったので、ユーザーガイドの手 …
-
-
EC2インスタンスWindowsでセッションマネージャーを使う
WindowsのEC2インスタンスでセッションマネージャーを使ってみたことがない …
-
-
Route53でドメインを新規取得してDNSレコードを設定する
Elastic IPをAWSで発行しているのですから、DNSの設定も同じようにマ …
-
-
AWSアカウント内のすべてのS3バケットを削除するLambda(Python)
やりたいこと 特定アカウント内のS3バケットを全部削除したいです。 バケット内の …
-
-
Amazon VPCのAmazonProvidedDNSとほかメモ
VPCユーザーガイドのAmazon DNS について理解するの記載内容について実 …
-
-
kintoneに登録されたアカウントの電話番号にGoogleカレンダーの予定をAmazon Pollyが読み上げてTwilioから電話でお知らせする(AWS Lambda Python)
Google Calendar Twilio Reminder Googleカレ …
-
-
Amazon Keyspacesのキースペースを作成してみました
Amazon Keyspaces(Apache Cassandra互換のマネージ …
-
-
S3 Intelligent-Tieringで高頻度階層(FREQUENT)に戻る「アクセス」にS3 SelectとGlueクローラーが該当するのか確認してみました
ユーザーガイドのS3 Intelligent-Tiering のしくみには、「低 …
-
-
AWS Lambda(Python3.7)でPandocを実行する
昨日まで(AWS Batch) 昨日までは、Pandocを実行して、S3バケット …
-
-
試したい事があるのでAWS でとりあえずAmazon Linuxのサーバを作る
1年間の無料キャンペーン期間中に検証する とある勉強会でせっかくAWSのアカウン …