吉岡です。先日、「AWS Partner Solution Day in 大阪」という AWSパートナー向けのイベントで登壇する機会をいただきました。そこで今回は発表の中で触れた弊社が運営するRedmineのクラウドサービス My Redmine のアーキテクチャに関することを書きたいと思います。
サービスの全体図になります。色々なサービスを組み合わせて構成していますので、詳細を見ていきます。
まずは主要なシステム(Redmine, 業務システム, 登録フォーム)の構成の説明です。
赤枠が Redmine を動かしている部分になります。前提として、Redmine を少しカスタマイズ(pluginを使用)してステートレス化して、コンテナ(ECS)で動かせるようにしています。
オレンジの枠については rails task
をタスクスケジューラーで定期実行したりして、運用に役立てています。(例としてはリマイドメールの送信などを行っています。)
構成の詳細は上記図のようになります。ECSを利用した基本的なWEB3層構造になります。
コンテナ化の過程でアプリケーションをステートレスにしたので、冗長化・可用性(マルチAZ、クロスリージョン)を比較的容易に実装できました。
続きましてこちらが、自社開発の業務システム(顧客管理・請求管理)の構成図です。Ruby on Rails で作られたシステムになります。
ほぼ、Redmineと同じ構成で動かしています。
こちらは新規登録(無料お試しお申し込み)フォームです。AWS Amplifyを利用して構築されています。
フロントエンドは React を使用し、バックエンドはAppSyncをベースに各種AWSサービスを利用して実装しています。
SaaSを運用するためには色々な処理が必要になってくるかと思います。弊社では新規登録、停止、変更・再開、削除などの処理を自動化するために AWS Step Functions を利用して実装しています。
今回は新規登録処理について説明したいと思います。
新規登録フォーム、業務システム(顧客・請求管理のシステム)、Redmineがあり、以下の流れで登録処理が実行されます。
こちらのオレンジの枠の AWS Step Functions のアイコンの部分が業務システム(顧客・請求管理のシステム)からRedmineを利用するのに必要なDB、設定ファイルを設定するAPIになります。
実際の新規登録時の AWS Step Functions の登録の流れになります。
上記図のように更新、停止、削除の処理も AWS Step Functions を利用して実装しています。
サービスとしてユーザーから設定(操作)が必要な機能についてもAWSを利用して実装しています。
上記機能をAPI GateWayを使って実装しています。
APIのエンドポイントは以下のようになっています。
Step Functions で Fargate を動かしてログの圧縮処理を実行しています。
簡単ですが、現在 My Redmine に関連したシステム全体の構成図の紹介をさせていただきました。ご紹介した図を見ていただくとわかる通り、My Redmineを運用していくために非常に多くのシステムが動いています。なるべく運用コスト(人の手間)を削減するためにサーバーレスのサービスを中心に選択し実装してきました。
また、苦労した点としましては、ひとつひとつのシステムの構築自体は難しくはないのですが、それぞれのシステムをどのようにセキュアに連携させるかに関しては頭を悩ませました。(IPアドレス、APIキーなどによるアクセスやIAM認証など様々な工夫をしています。)機会がありましたら、運用コスト削減のためにしたことやアクセス制御に関してもブログなどで紹介できればと考えています。
以上、今回は発表内容の一部を公開させていただきました。
【スタッフ募集中】
弊社ではAWSを活用したソリューションの企画・設計・構築・運用や、Ruby on Rails・JavaScriptフレームワークなどを使用したアプリケーション開発を行うスタッフを募集しています。採用情報の詳細
弊社での勤務に関心をお持ちの方は、知り合いの弊社社員・関係者を通じてご連絡ください。
![]() |
AWSを利用した複数のアプリケーション運用にまつわる課題と解決策。 |
![]() |
RedmineのMy Page機能で利用者ごとのダッシュボードが作れます |
![]() |
台湾で開催されたCOSCUP 2023に初めて参加 |
![]() |
台湾で開催されたCOSCUP 2023というオープンソースのイベントでRedmineの発表を中国語で行いました |
![]() |
Redmine Japan Vol.3における発表と協賛企業としてブースを出展 |
![]() |
社員研修に伴うサポート体制変更・休業のお知らせ(5/20〜23) 社員研修に伴い、5月20日〜23日はサポート体制の変更および休業とさせていただきます。 |
![]() |
オープンソースカンファレンス2025 Nagoyaに弊社代表の前田が登壇(ブース出展あり) オープンソースカンファレンス(OSC)2025 Nagoyaに弊社代表の前田が登壇。『Redmineの意外と知らない便利な機能(Redmine 6.0 対応版)』をテーマに発表します。 |
![]() |
エンタープライズプラン向け「優先サポート」を開始 My Redmineでは、エンタープライズプランをご契約のお客様向けにサポート対応を優先的に行う「優先サポート(プライオリティサポート)」を開始いたしました。 |
![]() |
プロジェクト管理ツール「RedMica」バージョン 3.1.0をリリース Redmine互換のオープンソースソフトウェア ファーエンドテクノロジー株式会社は、2024年11月19日(日本時間)、Redmine互換のプロジェクト管理ソフトウェア「RedMica 3.1.0」をリリースしました。 |
![]() |
Redmineの最新情報をメールでお知らせする「Redmine News」配信中 新バージョンやセキュリティ修正のリリース情報、そのほか最新情報を迅速にお届け |