AWS RDSの無料利用枠を活用!Bitnami RedmineをEC2+RDSで稼働させる方法

reading-1142801_1280

Amazon Web Service(AWS)には、EC2(Elastic Compute Cloud)だけでなく、RDS(Relational Database Service)にも一年間に渡って20GBの無料利用枠があります。

両方で50GBですから、結構大きいですね!Bitnami Redmineと一緒にインストールされたローカルのMySQLをRDSに置き換えることができれば、EC2のリソースに少し余裕ができます。

そこで試行錯誤した結果、Windowsサーバー(EC2)にインストールしたBitnami Redmineを、EC2+RDSのシステム構成で手く稼働させることができました。

Bitnami Redmineのレアな情報を織り交ぜながら手順を紹介していますので、最後までお付き合いいただければ嬉しいです。

スポンサーリンク

DBインスタンスの作成

DBインスタンスの作成を始めるには、RDSダッシュボードの「今すぐ始める」ボタンをクリックします。
ウィザードに沿って数クリックすれば作成できます。また、ウィザードはいつでも中止することができます。

DBエンジンの選択

MySQLを選択します。

開発/テストの選択

無料利用枠での使用を目的としているので、「開発/テストのMySQL」を選択します。

DB詳細の指定

最初に「RDS 無料利用枠内で利用できるオプションのみを表示」にチェックを入れて、不用意に有利オプションを選択しないようにしておきましょう。

今回は次のように指定しました。マスターユーザーの名前とパスワードは、この後度々使用します。忘れないようにご注意ください。

詳細の設定

「ネットワーク&セキュリティ」の次の項目を確認します。

パブリックアクセス可能

自宅PCからODBCで接続する場合は「はい」を入力します。

VPCのセキュリティグループ

「default(VPC)」は外部から全くアクセスできないようになっています。今回はEC2と併用するので、今使っているEC2インスタンスと同じセキュリティグループを選択します。
その他の項目は、デフォルトのままで大丈夫ですが、「データベースの名前」を入力しておくとRDSインスタンスの生成と同時にデータベースが作成されるので、ちょっとだけ手間が省けます。今回は「redminedb」と入力しました。

[DBインスタンスの作成]ボタンをクリックすると、作成が始まります。

少し時間がかかるので、インスタンスの一覧を表示しながら待ちましょう。ステータスが「利用可能」になれば完成です。

文字コードをutf8に変更

RDSでは、データベースのパラメータを「パラメータグループ」で管理します。作成したばかりのRDSインスタンスには、デフォルトのパラメータグループが設定されています。

このグループでは、ほとんどがDBエンジンのデフォルトのため、主な文字コードの設定が次のような設定になっています。

パラメータ 設定
character_set_client engine-default utf8
character_set_connection engine-default utf8
character_set_database engine-default latin1
character_set_results engine-default utf8
character_set_server engine-default latin1

明示的にすべて「utf8」を指定したいのですが、デフォルトのパラメータグループは変更できないため、独自のパラメータグループに差し替えてから変更します。

独自グループの作成

RDSダッシュボードのパラメータグループにある[パラメータグループの作成]ボタンをクリックします。

グループ名、説明(全角文字はNGのようです)を入力して[作成]ボタンをクリックします。

独自のパラメータグループ「myparam」を作成しました。作成直後の内容は、デフォルトと同じになっています。

インスタンスへの適用

RDSダッシュボードのインスタンスで、「インスタンスの操作」の「変更」を選択します。

「DBパラメータグループ」のプルダウンリストから、先ほど作成した独自のパラメータグループを選択します。「すぐに適用」にチェックを入れて、[次へ]ボタンをクリックします。確認画面が表示されるので、[DBインスタンスの変更]ボタンをクリックして変更を適用します。

パラメータの変更

RDSダッシュボードのパラメータグループから対象を選択して、[パラメータの編集]ボタンをクリックします。

次の各パラメータの値を「utf8」に変更して、[変更の保存]ボタンをクリックします。

パラメータ
character_set_client
character_set_connection
character_set_database
character_set_results
character_set_server

RDSダッシュボードからインスタンスを再起動すれば、文字コードの変更は完了です。

EC2からのアクセス確認

ここで、Windowsサーバー(EC2)からMySQL(RDS)にアクセスできるか、一度確認しておきます。ついでですから、変更したデータベースの文字コードも確認しておきましょう。

コマンドプロンプトの起動

Windowsサーバー(EC2)にリモートデスクトップで接続して、Bitnami Redmineのコマンドプロンプトを起動します。

RDSへのアクセス

マスターユーザーでMySQL(RDS)にログインします。コマンドの構文は次の通りです。

mysql -h [エンドポイント] -P [ポート番号] -u [マスターユーザー名] -p

問題無くアクセスできることが確認できました。続けて文字コードを確認しましょう。

show variables like “chara%”;

「latin1」だった「character_set_database」と「character_set_server」が「utf8」に変更されていることが確認できました。

データベースの一覧を表示します。

show databases;

インスタンスと一緒に作成したデータベース「redminedb」が表示されています。

次は、このデータベースにRedmineのテーブルを生成していきます。