グループウェアをAWS EC2 と お名前.com  で構築

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1048586/53149099-f881-b9b5-7b19-703f6b24c642.png)
# 背景
長年(2009年2月から)[日本トータルシステムさん](https://www.sjts.co.jp/)の[グループウェア GroupSession](https://groupsession.jp/)をボランティアの団体「おやじの会」(小学生の父親の集まり・OB含む)で使っています。
そのグループウェア環境に使っていた[BiglobeのDDNSサービスが終了](https://ddns.biglobe.ne.jp/#:~:text=%E3%83%80%E3%82%A4%E3%83%8A%E3%83%9F%E3%83%83%E3%82%AFDNS%E3%81%AF%E3%80%812024%E5%B9%B4,%E4%BA%8B%E3%81%AB%E3%81%AA%E3%82%8A%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82)と知り、代替を検討しました。Amazon Web Serviceとお名前.comで再構築できました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1048586/443eca85-5a06-179f-48a6-0ed27ba4273c.png)

# はじめに
この記事は、グループウェアの構築にあたって必要とした情報と、参考にした情報のリンクをまとめたものです。

# 構築（移行）前後の比較

| 項 | 移行前 | 移行後 |
|:-:|:-:|:-:|
| 概要  | 自宅サーバ | クラウド |
| ハードウェア  | ラズパイZero ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1048586/29cdd447-a631-0f5d-eff2-e2ceff0434be.png) | AWS ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1048586/c41c4ea1-f302-0420-cdd3-c31d79fe2700.png) |
| 使用サービス | Biglobe DDNS  | AWS, お名前.com |

# 構築にあたって必要とした情報と、参考にした情報のリンク

| # | 構築にあたって必要とした情報 | 参考にした情報のリンク | 補足 |
|:-:|:-:|:-:|:-:|
| 1 | AWSのはじめの一歩 (Udemy AWSで学ぶ！ JenkinsによるCI/CDパイプライン入門講座)  | https://www.udemy.com/course/awsjenkinscicd/learn/lecture/40137936#overview | （Jenkinsは今回の件とは関係ありませんが）どうやってAWSを使うのかまったくわからないときに、このオンライントレーニングで手取り足取り教えてもらいました |
| 2 | AWSのはじめの一歩 (Amazonが用意しているオンデマンドセミナー) | https://pages.awscloud.com/JAPAN-event-OE-Hands-on-for-Beginners-1st-Step-2022-reg-event.html?trk=aws_event_page | 必要な情報が一式揃っていると思うのですが、汎用すぎて特定の情報をピンポイントで知るのは難しかったです |
| 3 | Amazon Linux2 と Amazon Linux 2023の比較 | https://zenn.dev/mshrynzw/articles/78e070b16424b5 | 違いがわからない。すぐ忘れる |
| 4 | AWSのrootのpassword設定 | https://teleporter.hateblo.jp/entry/2019/03/26/121020  | こういうのでつまづく  |
| 5 | Tomcatのinstall | https://groupsession.jp/support/setup_win.html  | openjdkとか試したけど、動かなかった。本家の情報(Temurin)に従ったら動いた |
| 6 | Tomcatのinstall  | https://groupsession.jp/support/install_jdk_linux.html | Temurinインストールガイド  |
| 7 | 日時調整(JST) | https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/set-time.html |   |
| 8 | SSL (https) | https://www.k-friendly.com/18974 | SSLの実現方法の最適解はどれ？？  |
| 9 | SSL (https) | https://www.beex-inc.com/blog/20231215_alb_https |   |
| 10 | SSL (https) | https://recipe.kc-cloud.jp/archives/11067/ | 色々なやり方あるんだね。ふーん |
| 11 | SSL (https)  | https://deep.tacoskingdom.com/blog/12#part-h2-4 | ここで、証明書発行まで設定 |
| 12 | SSL (https)  | https://recipe.kc-cloud.jp/archives/11084/ | ここで、load balancerまで設定 |
| 13 | Route53, ACM | https://www.k-friendly.com/18974 | 色々情報あって頼もしいけど、追いつけずに頭痛くなる |
| 14 | お名前.comのドメインをRoute53へ設定 | https://se-log.net/onamae-route53/ |   |
| 15 | nginxを使ったTomcatの80化  | https://qiita.com/m0chim0chi/items/f83b0a1a359588d76145 | 超簡単で助かりました |
| 16 | Load Balancerで503エラー  | https://repost.aws/ja/knowledge-center/alb-troubleshoot-503-errors | 設定ミスでした |
| 17 | 過少・過剰なスペックのインスタンスを見直す | https://dev.classmethod.jp/articles/change-instance-type-on-ec2/ | 後出しで変えられるのは嬉しい |
| 18 | 過少・過剰なスペックのインスタンスを見直す | https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/ec2-instance-resize.html |   |
| 19 | EC2の容量不足の確認 | https://qiita.com/rkinsei/items/1e112591de088e124aac | 一時ファイルを溜めてパンクしました |

# 工夫したこと

| 概要 | 工夫 |
|:-:|:-:|
| 80ポートでのアクセス | 利用者がURLで違和感を感じないように、tomcatの8080ポートを見えないようにしました (上記#15)  |
| TLS/SSL  | httpsでアクセスできるようにしました (上記#8〜#13) |
| メール通知 | グループウェアに更新情報があると、事前登録したメアドに通知が届くようにしました ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1048586/f5c7a873-6ecf-067f-7cdb-b349f98261bc.png) |
| IPアドレス| 動的にIPが変わっても問題ないよう、設定でグローバルIPは使わないように配慮しました (多分、出来ているはず) (8080から80への転送先指定をグローバルIPでなく 127.0.0.1 と指定) |

# メリット・デメリット(?)

| 項 | 移行前 | 移行後 |
|:-:|:-:|:-:|
| 電力供給  | マンションの定期停電で落ちる | 安定 |
| 費用 | 月200円(DDNS)＋電気代 | ？円 T2.nanoにして、AWSが5000円／年ぐらいを想定。乞うご期待 ドメインが1500円／年ぐらい。趣味の範囲かな |
| 保守 | 構築後は放置 | JavaとTomcatとGroupware以外はAmazonが面倒見てくれるハズ |
| 使い心地 | 動作もっさり | 快適 |

# おわりに

いろいろな方々のまとめ、本当に助かります。本家の教科書的な情報見ても、眠くなるだけで頭に入ってこないので。

グループウェアは複数人で情報やり取りするときに今でも役に立つと思います。
この記事が、グループウェアを構築してみよう・使ってみようと思われている少人数の会社やグループの方々にリモートワークなどで役立てば幸いです。


役目を終えましたが、ラズパイZeroでGroupSessionが動いていたのはすごいなぁと思ってます。