RapidMiner Reverse ProxyのDockerイメージ
本ドキュメントでは、RapidMiner Reverse Proxyについて説明しています。これは、以下のコンポーネントのための包括的なリバースプロキシです。
- RapidMiner Server
- JupyterHub
- Dashboards
- Platform Admin
- HTTPS(または推奨されないがHTTP)ポートを1つだけ開き、異なるサフィックス(例: https://domain.name/grafana)で異なるサービスにアクセスします。RapidMinerプラットフォームのランディングページにはルートサフィックスが使用されます。
- サフィックス名はカスタマイズ可能です。
- バックエンドを設定することができ、特定のサービスがない場合には、バックエンドを空にすることができます(この場合、RapidMiner Serverバックエンドが使用されます)。バックエンドにアクセスできない場合は、”502 bad gateway”のエラーページが表示されます。
- HTTPSトランスポートセキュリティを簡単に設定できます。
- セキュリティ設定が向上します。
利用可能なバージョンについては、Docker Hubのタグを参照してください。
構成
- ボリューム:
- platform-admin-uploaded-vol: Basic認証の認証情報を保持するDockerボリュームで、内部的には /rapidminer/platform-admin/uploaded/にマップされます。
- ポート: 80と443は同じ内部ポートにマッピングされており、HTTPとHTTPSの両方のトラフィックがこのコンテナで終端するようになっています。
- 環境変数:
- RMSERVER_BACKEND: 内部ネットワーク上のRapidMiner ServerバックエンドのURLを設定します。デフォルト: http://rm-server-svc:8080
- JUPYTER_BACKEND: 内部ネットワーク上のJupyterHubバックエンドのURLを設定します。デフォルト: http://rm-jupyterhub-svc:8000
- JUPYTER_URL_SUFFIX: JupyterHubのサービスにアクセスできる外部URLサフィックスを設定します。デフォルト: /jupyter
- GRAFANA_BACKEND: 内部ネットワーク上のダッシュボードバックエンドのURLを設定します。デフォルト: http://rm-grafana-svc:3000
- GRAFANA_URL_SUFFIX: ダッシュボードサービスにアクセスできる外部URLサフィックスを設定します。デフォルト: /grafana
- RTS_SCORING_BACKEND: 内部ネットワーク上のReal-Time Scoring AgentバックエンドのURLを設定します。デフォルト: http://rts-agent-svc:8090/
- RTS_SCORING_URL_SUFFIX: Real-Time Scoring Agentサービスにアクセスできる外部URLサフィックスを設定します。デフォルト: /rts
- PA_BACKEND: 内部ネットワーク上のPlatform AdminサービスのURLを設定します。デフォルト: http://platform-admin-webui-svc:82/
- PA_URL_SUFFIX: Platform Adminサービスにアクセスできる外部URLサフィックスを設定します。デフォルト: /platform-admin
- TOKEN_BACKEND: 内部ネットワーク上のToken GeneratorサービスのURLを設定します。デフォルト: http://rm-token-tool-svc
- TOKEN_URL_SUFFIX: Token Generatorサービスにアクセスできる外部URLサフィックスを設定します。デフォルト: /get-token
- LANDING_BACKEND: 内部ネットワーク上のランディングページサービスのURLを設定します。デフォルト: http://landing-page
- SSO_PUBLIC_URL: RapidMinerプラットフォームにアクセスできる外部パブリックURLです。
- SSO_IDP_REALM: アイデンティティとアクセスの設定に使用されるSSOレルムです。デフォルト: master 変更すべきではありません。
- HTTPS_CRT_PATH、HTTPS_KEY_PATH、HTTPS_DH_PATH: HTTPSトランスポートセキュリティに必要なファイルのパスです。RapidMiner initで自動的に入力されます。変更すべきではありません。
データの持続性
一部のサービスでは、アクセスコントロールにBasic認証を使用しており、このアクセスは.htpasswdファイルに暗号化されて保存されています。プロキシは、アクセスコントロールを行うためにこのファイルへの読み取りアクセスを必要とし、これはボリュームマウントで実現できます。
volumes:
- pem-uploaded-vol:/rapidminer/pem/uploaded/:ro
- rts-uploaded-vol:/rapidminer/rts/uploaded/:ro
RapidMiner Python Environment Managerや Rapidminer Real-Time Scoringを使用しない場合は、一部のボリュームは不要になります。
完全なボリューム定義は以下のようなものです。
Volumes:
- ./ssl:/etc/nginx/ssl:ro
- pem-uploaded-vol:/rapidminer/pem/uploaded/:ro
- rts-uploaded-vol:/rapidminer/rts/uploaded/:ro
アクセスログとエラーログ
プロキシコンテナはすべてのログをコンテナログに転送し、コンテナベースのデプロイメントと同様に扱うことができますが、それはこのドキュメントの範囲外です。