AWS AMIを使ったBitnami Redmineの構築方法(前編)

Redmine Redmine

 Redmineはオープンソースで誰でも無料で使える「プロジェクト管理」ソフトウェアです。
使ったことがない方にはピンと来ないかもしれませんが、プロジェクトのタスクや課題の管理を
“チケット”という単位で状況や進捗を管理することができます。
よくExcelや表計算ソフトで、プロジェクトのタスク管理をやっているのを見かけますが、
複数人での同時更新が不可であったり、最新のデータがどのファイルなのか煩雑になることも
あるかと思います。このRedmineを導入して上手く活用すれば、これらの問題を簡単に
解決できるかもしれません。

 Redmineの導入方法はいくつかあり、公式HPなどを確認すれば標準的な導入の仕方は出てくると思いますが、今回はこのRedmineの導入をAWSのAmazonマシンイメージ(以下、AMIと表記)を使って、簡単、かつ、スピーディに構築する方法を紹介したいと思います。
(※前述の通り、Redmineは無料で利用することができます。記事執筆時点ではAMIも無料で提供されているようです。但し、AWSで稼働させるサーバ代は1時間あたり2円~3円程度ですが有料になります。ご了承ください。)

AWS AMIを使ったBitnami Redmineの構築方法

AWSコンソールにログインしよう

 AWSコンソールにログインします。
(ログインするにはあらかじめAWSの初期登録を完了しておく必要があります。AWSの初期登録については別記事を参照してください。)

AWSコンソールにログインしよう(1)

EC2インスタンスでAMIを指定しよう

 検索窓からEC2を選択し、新しいインスタンスを起動します。
インスタンスに適当な名前を付けて、設定ページ中程にある「アプリケーションおよびOSイメージ(Amazonマシン)」の「その他のAMIを閲覧する」を選択します。

EC2インスタンスでAMIを指定しよう(1)

検索窓に「redmine」と入力して検索を行うと、AWS Marketplace AMIの一番上に
「Redmine packaged by Bitnami」が表示されますので、今回はこのAMIを使用します。
ちなみにBitnami製のRedmineは、使っていく上での標準的な設定や便利ツールを1つのパッケージで提供してくれているものです。

EC2インスタンスでAMIを指定しよう(2)

インスタンスタイプとネットワークの設定をしよう

AMIを選択したあと、インスタンスタイプとネットワーク設定を行います。
インスタンスタイプはt3a.smallがベンダー推奨のとのことですが、
もう一段階小さい「t3a.micro」を指定することにします。

インスタンスタイプとネットワークの設定をしよう(1)

次にキーペア(ログイン)を設定します。
後に解説しますが、サーバを作った後、ログインするのにこのキー情報が必要になります。
なくさないよう注意しておいてください。(キー情報は、通常、「ダウンロード」フォルダに保存されます。)

インスタンスタイプとネットワークの設定をしよう(2)
インスタンスタイプとネットワークの設定をしよう(3)

ネットワーク設定は、サーバを配置するVPCやサブネットを指定します。会社などの場合、会社の事業所とAWS間が専用線で結ばれているのであれば、プライベートサブネットに配置して構築できますが、多くの場合、そのような環境が整っていないことが多いかと思います。今回は、サーバをパブリックサブネットに配置し、事業所内のグローバルIPからしか接続できない方法で構築したいと思います。

※注意
セキュリティの観点から、セキュリティグループの設定は非常に重要です。
インターネットに公開したくない、または、接続を制限する必要がある場合は必ず専門の方に確認してください。

サーバに対し、グローバルIP(パブリックIP)を有効にする必要がありますので、
パブリックIPの自動割り当てを「有効化」にします。

インスタンスタイプとネットワークの設定をしよう(4)

ストレージを設定しよう

最後に、ストレージの容量を指定します。少し分かりにくい表記になっていますが、
1×10Gibというのは、「10GB」のストレージと考えて問題ありません。ストレージの種類も
特にこだわりがなければデフォルトの汎用SSD(gp2)でよいでしょう。

ストレージを設定しよう

インスタンスの起動と確認

ここまで完了すれば、画面右側の「インスタンスを起動」でEC2インスタンスを作成します。
およそ1分かからない程度でインスタンスの起動が成功した画面が表示されます。

インスタンスの起動と確認(1)

右下の「すべてのインスタンスを表示」を押下して、作成したインスタンスの状況を確認してみましょう。問題なければインスタンスの状態が”実行中”で表示されているはずです。
また、そのサーバを行選択すると、ページ下程にサーバの詳細が表示されます。
ここから”パブリック IPv4 アドレス”を確認してください。

インスタンスの起動と確認(2)

パブリックIPv4アドレス(XX.XX.XX.XX)をWebブラウザのURLに入力すると、
Webアプリケーションが表示されます。

インスタンスの起動と確認(3)

Elastic IPを取得しよう

ここまでの内容でひとまずRedmineの起動まで確認できました。
しかし、このままでは大きな欠点があり、実はEC2インスタンスを一度シャットダウンすると
先に取得した”パブリック IPv4 アドレス”が変わってしまします。
もちろんシャットダウンの度にアドレスを確認して、URLに接続してもよいですが、利用者が複数名いた場合、毎回接続先のアドレスが変わっていては困惑してしまうでしょう。

そのような事態を避けるためにAWSの「Elastic IP」を使いましょう。
Elastic IPは、EC2インスタンスに割り振られるパブリックIPアドレスを、専有するサービスです。

Elastic IPを取得しよう(1)

EC2インスタンスの画面にて、画面左側の「Elastic IP」を押下します。

Elastic IPを取得しよう(2)

画面右上の「Elastic IPアドレスを割り当てる」を押下します。

Elastic IPを取得しよう(3)

入力の内容はデフォルトのままで良いです。右下の「割り当て」を押下します。

Elastic IPを取得しよう(4)

Elastic IPアドレスを取得できました。割り当てられたIPアドレスを確認してください。
次にこのIPアドレスを”関連付ける”という作業を行います。
画面下には、まだ関連付けたインスタンスはありませんので「ー」の表記になっています。
右上のアクションから「Elastic IPアドレスの関連付け」を押下します。

Elastic IPを取得しよう(5)

Elastic IPアドレスの関連付け画面が表示されます。
IPアドレスを関連付けるインスタンス(ここではRedmineのEC2インスタンス)とプライベートIPアドレスを選択で入力します。(プライベートIPアドレスもRedmineのEC2インスタンスを選択する。)
入力完了後、右下の「関連付ける」を押下します。

Elastic IPを取得しよう(6)

Elastic IPアドレスの関連付けが完了しました。

Elastic IPを取得しよう(7)

EC2インスタンスの画面で確認すると、パブリックIPv4アドレスとElastic IPアドレスが同じになっていることが確認できます。(関連付けの確認)
この状態であれば、EC2インスタンスをシャットダウンしても、同じパブリックIPv4アドレス(Elastic IPアドレス)を専有することができます。

Elastic IPを取得しよう(8)

ここで利用料について補足になりますが、Elastic IPアドレスは有料になります。
料金は1時間あたりおよそ0.5円(1日あたり約12円)といったところですが、注意すべきは
インスタンスに関連付けを行ってから、該当のインスタンスが“シャットダウンしている期間”
課金されます。関連付けを行って、インスタンスが稼働している間は課金されません。
他のリソース課金と考え方が少し異なりますので注意しましょう。

本投稿ではここまでになります。
Webアプリケーションのログイン方法については、追って投稿を追加します。
(AWS AMIを使ったBitnami Redmineの構築方法(後編))

コメント

タイトルとURLをコピーしました