めがね901の運用環境・開発環境
mgn901.iconでは、2022年よりVPSを借りてWebサービスに関する研究開発を行っている。 2024年1月からは、来たるそのVPS上でのWebサービスの運用開始に向けて、運用環境と開発環境の刷新を図っている。
実装の詳細
1つのグローバルIPアドレスで複数のサービスを運用し、サービスの運用にかかるコストを圧縮している。
Dockerなどを用いてIaC(Infrastructure as Code)を徹底することで、複数のサービスをスムーズに運用している。 各コンポーネントの管理ユーザのパスワード等を一元管理できるように、秘密情報を管理するソフトウェアが必要。
監視システムや開発環境といったコンポーネントごとにユーザ情報を保存すると、コンポーネントを増やす毎に、扱う秘密情報が増えてしまう。すべてのコンポーネントに1つの認証情報でサインイン(シングルサインオン)できると便利である。 IDプロバイダーを構築するためには次のコンポーネントが必要。
認証・認可サーバ:クライアントがLDAPサーバに保存されているユーザ本人であるかを認証し、コンポーネントを利用する権限があるかを確認する。Autheliaなどを使って構築する。 インターネットからアクセス可能なサーバ上でホストされた開発環境で、インターネット接続が可能であれば、自宅の内外など問わず、どこからでも開発環境での作業を行うことができる。
ポート転送機能を備えていて、開発環境で運用しているWebサービスを、本番環境で運用しているサービスと同様に利用できる。
Secure Contextでないと利用できない機能をスマホからでも試すことができる。
使用するソフトウェアの選定にあたっては以下の記事を参考にしています。