License
Redmine Logo is Copyright (C) 2009 Martin Herr and is licensed under the Creative Commons Attribution-Share Alike 2.5 Generic license.
See http://creativecommons.org/licenses/by-sa/2.5/ for more details.
記事の背景
以下の通り。
- 自社でオンプレミス上で運用しているWebアプリを、AWSに移行したい
- Redmineを例にWebアプリのクラウド移行作業の各手順を調査・検証をする
- 作業の備忘録として本記事に検証結果をまとめる
この記事で分かること
- AWS上でEC2にRedmineの4.Xを構築する方法 3選
- AWS上でEC2にRedmineを構築するための前提条件
- それぞれの手順概要
なお、本記事ではそれぞれのインストール手順については概要のご紹介に留め、詳細手順については以下の記事で記載しています。
>> 【AWS】EC2に最新のRedmine4.xを手動でインストールしてみた
AWS上でEC2にRedmineの4.Xを構築する方法 3選
- 方法その1 【NOコード】bitnamiのAMIを利用して構築する
- 方法その2 【ローコード】bitnamiのインストーラーを使用する
- 方法その3 【YESコード】個別で構築する
それではひとつづ見ていきましょう。
AWS上でEC2にRedmineを構築するための前提条件
構築の前提は以下となります。
- AWSのアカウントを持っている
- AWSの課金について理解している
- ROOT権限、IAM権限について多少理解している
- ハンズオンで、デフォルトVPCにEC2をたて、パブリックIPを付与し、外部からSSH接続可能な環境を構築することができる
- AMIについて多少理解している
- Redmineについて多少理解している
詳細は本記事については詳しく触れませんが、関連記事を以下にまとめておりますのでよろしければ、ご参考にしてみてください。
>> 【AWS】IAM概要まとめ/ユーザー・グループ・ポリシー・ロールとは?
>> 【AWS】EC2の概要
>> 【AWS】EC2インスタンスを作成する方法/EC2のたて方/ハンズオン手順
方法その1 【NOコード】bitnamiのAMIを利用して構築する
メリット 3つ
bitnamiとは
bitNami(びっとなみー)とはざっくりいうと、様々なWeb APPを構築する際に,プログラム言語、フレームワーク、各種モジュール、データベース(MySQLやPostgreSQLなど)の設定などを、込々で構築してくれるツールのことです。
これにより、ユーザーはノーコードでWEBアプリ環境を構築することができます。
ちなみに、代表的なWebアプリにはWordPress、Media Wiki、Redmine、Moodle、Tracなどがあげられます。
>> bitnami
それでは、具体的なメリットをみていきます。
ノーコードで構築可能なため、難易度がかなり低い
bitnamiのAMIを利用すると、ノーコードで環境を構築可能です。
Amazon Machine Imageの略で、ソフトウェア構成 (OS、APPサーバー、APPなど) を記録したテンプレートのこと
AMIを利用することで、Redmineインストール済のEC2インスタンスを簡単に起動することが可能です。
超短時間で構築できる
AMIからRedmineインストール済のEC2を起動しますので、5分から10分でRedmineが使用可能な環境を構築することができます。
すぐにRedmienを利用することができる
特に制限などもありませんので、すぐにログイン画面からRedmineを利用することができます。
デメリット
多少の制限がある
AWS上のAMIで提供されていますので、EC2をたてる時と同様に、メモリやCPUなどのマシンスペックは自由に選択することができます。
ただし、フォルダ構成やRuby、Railsなどのバージョンが選択できないなどの制限もあります。
bitnamiのAMIを利用してRedmine環境を構築する手順概要
以下に手順の概要をご紹介します。
- AWSマネジメントコンソールにログインする
- EC2のダッシュボードに遷移する
- 左ペイン > インスタンスをクリックする
- インスタンスを起動をクリックする
- 「ステップ 1: Amazon マシンイメージ (AMI)の画面」> 「marketplace」 をクリックする
- 「bitnami」で検索する
- 「Redmine Certified by Bitnami」を選択
- あとは自分の好きなスペックでEC2をたてればログイン可能な状態となる
本手順の詳細につきましては、後日別な記事でご紹介する予定です。
この方法が向いている方
とにかく最短最速でAWS上でEC2にRedmineをインストールして利用したい、という方にはピッタリな構築方法です。
AWSでEC2を立てられる方なら、特に詰まることなくスムーズに構築可能です。
方法その2 【ローコード】bitnamiのインストーラーを使用する
次にbitnamiのインストーラーを利用して構築する手順をご紹介します。
メリット
比較的短時間で構築できる
bitnamiのAMIを利用して構築するのと比較すると、多少は時間がかかりますが、それでも数十分でRedmine環境を構築可能です。
比較的自由に構築できる
bitnamiのAMIを利用して構築するのと比較すると、より柔軟な環境構築が可能です。
具体的には、マシンスペック(メモリ、CPU)が選べるのに加えて、以下のような柔軟性があります。
- OS(Amazon Linux2、Redhat、Ubuntu、CentOSなど…)やRedmineバージョンが選べる
- インストール先が選べる(好きなディレクトリにインストール可能)
- Redmineに関して、かなり古いバージョン(2.xなど…)も利用可能
理由としては、各種のOSや新旧のバージョンに対して数多くのインストーラーが提供されているためです。
以下のリンク先で「redmine」「installer」などのキーワードで検索すると、情報がヒットしますので、あとはOSやRedmineのバージョンでさらに対象を絞れば、要望するインストーラーが見つかるでしょう。
デメリット
次にデメリットをみていきます。
環境構築するのに、サーバー、Linuxの知識が必要
EC2でRedmine環境を構築するためには、以下の作業が必要です。
(1) インストーラーをbitnamiのWebページからダウンロードした後に、ローカルPCからAWSのEC2にインストーラーを転送する
転送にはSCP転送※が必要です。操作としては、MACならコマンド操作が必要ですし、WindowsならTeraTermやWINSCPなどのソフトが利用することで、転送できます。
セキュアコピーの事。sshの機能を使ってセキュリティの高い(セキュアな)ファイル転送を行うことができる
このあたりの操作については、若干専門的なIT知識が必要になります。
(2) コマンドラインからインストーラーを起動する
AWS上のEC2で、Redmineのインストーラーを正しいディレクトリに配置し、権限を変更し、起動する必要があります。
この操作についてもLinuxの知識が必要となります。
インストール先は選べるが、ディレクトリ構成が選べない
Redmineのインストール先は選べますが、Ruby、Railsなどのインストール先は選べません。
後ほど構成を変えることは可能なようですが(筆者はインストール後の構成変更については未検証です)、構成を変えるにはバックエンドエンジニアかインフラエンジニアと同等のIT知識が必要となります。
インストーラーがバイナリファイルで提供されるため、内部処理が不明
デメリットというより特徴ですが、インストーラーは「〇〇〇.run」のバイナリ形式で提供されているため、内部の処理を確認することはできません。
bitnamiのインストーラーでRedmineを構築する手順概要
-
- AWSでEC2をたてる
- bitnamiのホームページから自分がインストールしたいバージョンのインストーラーをダウンロードする
Amazon Linux
- ローカルPCからEC2に対し、SCPを利用し、インストーラー(〇〇〇.run)を転送する
- インストーラーをEC2の任意の場所(「/tmp」など)に配置しする
- EC2にsshでログインし、コマンドラインよりインストーラーを実行する
- 対話式インストールにより、インストールを実施。(10-15分程度でインストール完了)
- Remineにログインできるか確認する
上記手順の詳細については後日別な記事でご紹介する予定です。
この方法が向いているかた
なるべく短時間でAWS上でEC2にRedmineをインストールして使いたいが、OSやRemineのバージョンは自由に構築したい、という要望に最もかなう手順です。ただし、それなりのIT知識が必要となりますので、その点には注意が必要です。
方法その3 【YESコード】個別で構築する
単純にAWS上に構築したEC2でRedmineを利用したいだけなら、この手順を実施するメリットは薄いかもしれません。
というのも、マシンスペック・OS・Redmineのバージョン・Rubyのバージョン選定やSQLサーバー選定など、すべての環境を自由に選べる反面、最適な環境を選定し、設計する必要があるためです。
しかし、この作業を検証したおかげで、自分自身のサーバーやWebアプリなど知識を思い出したり、足りない点を補ったり、アップデートすることができましたので、とても有意義な検証となりました。
個別で構築した手順はこちら
>> 【AWS】EC2に最新のRedmine4.xを手動でインストールしてみた
メリット
マシンスペック・OS・アプリのバージョンまで、すべて自由に構築可能です。
筆者は以下の環境で構築しました。
Redmine | 4.1 |
Ruby | 2.6.6 |
Rails | 5.2 |
MySQL | 5.7 |
OS | Amazon Linux 2 |
インスタンス | t3.small |
デメリット
デメリットというよりも、以下の知識がないと環境を構築するのが難しいため、作業を進めるためには、以下の知識を知っているか自分で調べならがら対応する必要がある、という点で注意が必要となります。
-
- インフラの知識(サーバー、LINUX、AWSの知識)
- バックエンドの知識が必要(MySQLのデータベース構築、RubyでWEBサービス構築)
- エラー対応力が必要
エラー例1 アプリのバージョンによる依存関係によるエラー
エラー例2 linuxの権限によるエラー
エラー例3 Ruby・Rails系のエラー
個別でインストールする手順概要
設計
- AWSでEC2をたてる(前提)
- 設計する(インストールするRedmineやアプリのバージョンを決めます)
実装
- インストール前の環境構築
- Ruby、Railsのインストール
- MySQLのインストール
- Redmineのインストール
- Passengerのインストール
- ログインできるか確認する
個別で構築した手順はこちら
>> 【AWS】EC2に最新のRedmine4.xを手動でインストールしてみた
参考手順
この方法が向いているかた
以下のような要望に向いている手順です。
- アプリやサーバーに関する知識があるか、調べることができる
- エラー対応などで多少時間がかかってもいいので、自分の好きな環境でRemineを構築したい
- 現在オンプレミスなどで運用しているRedmineの環境の移行先を構築したい
まとめ
本記事では、AWS上でEC2にRedmineの4.Xを構築する方法 3選をご紹介しました。
方法3選
- 方法その1 【NOコード】bitnamiのAMIを利用して構築する
- 方法その2 【ローコード】bitnamiのインストーラーを使用する
- 方法その3 【YESコード】個別で構築する
それぞれの特徴
- 方法その1 イージーモード 最短最速で環境構築可能だが、環境の自由度は少ない
- 方法その2 ノーマルモード 比較的早く構築でき、自由度が高いが、IT知識が必要
- 方法その3 ハードモード 完全オーダーメイドで環境構築可能だが、IT知識とトラブル対応力が必要
以上となります。
本手順がご参考になれば幸いです。
【関連記事】
>> AWSに関する関連記事一覧