LoginSignup
1
0

More than 1 year has passed since last update.

サービスをグローバルIPレスでシェアできるようにする

Last updated at Posted at 2022-08-27

remote.itを使って、構築したサービスを内輪でシェアできるような構成を試してみました
短期的に特定の利用者にサービスを使ってもらうようなシーン(ワークショップなど)に有効な気がします

はじめに

記載している構成では以下に重点を置いています

  • VMにグローバルIPを割り当てない
  • VMのセキュリティルールでサービスが使用するポートを開放しない
  • remote.itのエージェントを入れるVMは1つだけにする
    • エージェントを入れられないVM(アプライアンス製品とか)に使用できる

特定のPCからのアクセスしか許容しないということはできません。
URLさえわかればアクセス可能ですので試す際は十分ご注意ください

なお、remote.itを使ってみれば設定できると思いますので詳細な手順については記載していません。

実行環境

Azureに作成したUbuntu VMを使用していますが、ほかのクラウドベンダー&OSでも特に差支えありません。

環境の構成イメージ

  • VMの設定はグローバルIPを割り当てていない
  • jump-server以外のVMで起動しているサービスは、jump-serverにポートフォワードしている
  • remote.itの設定:サーバーエージェントをjump-serverに設定し、ブラウザから各種サービス設定をしている
    image.png

接続イメージ

以下は、Rundeckサービスにアクセスしています。
remote.itで接続した際にhttp://xxxxyyy.ioとURLが表示されるので、それを利用者にシェアすれば完了です
image.png

環境構成の詳細

一部ですが、実際の設定内容について詳細を記載します

VMの設定はグローバルIPを割り当てない

以下は、jump-serverの設定ですがすべてのVMを同じ設定にしています

  • グローバルIPは割り当てていない
    image.png
  • セキュリティルールは外部に対する許可設定をしていない
    image.png

jump-server以外のVMで起動しているサービスは、jump-serverにポートフォワードする

以下のようにjump-serverからポートフォワードをすることで、remote.itのエージェントをjump-serverだけになるようにしています

aki-nasu@jump-server:~$ ps -ef |grep ssh
aki-nasu    5538       1  0 01:52 ?        00:00:00 ssh -gL 4440:10.0.0.5:4440 aki-nasu@10.0.0.5 -i .ssh/id_rsa -Nf
aki-nasu    8365       1  0 02:25 ?        00:00:00 ssh -gL 18080:10.0.0.6:8080 aki-nasu@10.0.0.6 -i .ssh/id_rsa -Nf

remote.itの設定

Service Typeについて、GuacamoleをHTTPにして、ほかのサービスはTCPにしています。同じHTTPに設定すると同時接続ができません。
image.png

設定内容はこのような感じ。
image.png

おわりに

軽く使ってみた程度なので、認識に誤りがあればご指摘ください。
ほんとうは開発環境をセキュリティを気にせずに建てたくて、特定の端末からしか接続できないような使い方をイメージしていました。
自端末にもエージェントを入れればいいんですかね。

参考

環境構成のなかで登場しているサービスの公式ページ

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0