1. はじめに:なぜ今、自宅サーバーなのか
業務でECS Anywhereというサービスがあることを知りました。
色々調べていく中で思ったのです。
「自宅のPCをAWSの一部として機能するハイブリッドなサーバーにできるのでは!?」
それが今回の動機です。
ECS AnywhereとNext Cloud等を用いてawsから管理できるクラウドストレージを構築してみようと思います。(本当にこの通り構築できるかは不安ですが😱)
2. 構成の論理的アプローチ
今回のシステムは、大きく分けて「管理」と「実態」の2層で構成します。
管理層:AWS ECS Anywhere
「自宅でDockerを動かすだけ」ならAWSは不要ですが、以下の理由からあえてECS Anywhereを使ってみます。
- 一元管理: 全てのコンテナの状態を、他のAWSリソースと同じコンソールで監視・操作できる。
- 運用スキルの向上: 実際の業務に近い「クラウドからの指示でオンプレミスを動かす」というアーキテクチャを体験できる。
実行層:自宅PC × AlmaLinux
- OS: RHEL(Red Hat Enterprise Linux)のクローンの AlmaLinux を採用。
- 役割: AWSからの指示を受け取り、実際のコンテナ(Nextcloud)をホストします。
3. 採用する技術スタックとその理由
| 技術 | 役割 | 採用理由 |
|---|---|---|
| ECS Anywhere | オーケストレーション | クラウドから自宅PCを制御する「ロマン(笑)」と「管理効率」。 |
| AlmaLinux 10 | サーバーOS | 安定性と実務(RHEL系)スキル向上のため。 |
| Nextcloud | アプリケーション | 写真やファイルを自由に置ける、自分専用のS3代替。 |
| Tailscale / VPN | ネットワーク | ルーターの面倒な設定を抜きに、外出先から安全にアクセスするため。 |
4. 実現したい「データの永続化」設計
コンテナ技術の弱点は、コンテナが消えるとデータも消えることです。今回は、**「コンテナはクラウドから制御するが、データは物理PCのHDDに直接書き込む」**というバインドマウント構成を構築したいと思います。
万が一コンテナがクラッシュしても、思い出の写真や大事なドキュメントは自宅の物理ディスクに安全に残り続ける仕組みを作ります。
5. これからの予定
現在はまだ「頭の中の設計図」の状態です。これから以下の予定で、実際に構築していきます!
- インフラ構築: 余剰PCへの AlmaLinux インストールと、ECS Anywhere への登録。
- アプリデプロイ: Nextcloud タスク定義の作成と、マウント設定の試行錯誤。
- セキュア化: VPN を導入し、自分のスマホやPCからセキュアにアクセス。
単なる「自宅サーバー構築記」に留まらず、「AWSの機能をいかに自宅に引き寄せるか」という視点で、アウトプットを続けていこうと思います!!
ご意見等ありましたらコメントお待ちしております!