Dataiku CloudStack版における各nodeの自動起動・停止について
表題について質問させてください。クラウドはAWSを想定しています。
Fleet Managerでは自動起動・停止の機能がないため、
AWS側のEventBridge等のスケジューラで制御する必要がある理解です。
ReprovisionのたびにIPが変更される — Dataiku Community
そこで、二点確認させて下さい。
- DesignNode等の該当のEC2をAWS側で停止・起動した際に、OS起動とともに正しくプロセスが立ち上がるのかどうか等、各ノードに影響はないでしょうか。
- Fleet Manager側から見て、整合性のとれた状態を維持できますでしょうか。
初歩的な質問で恐縮ですが、お答えいただけますと幸いです。
Answers
-
Tsuyoshi Dataiker, PartnerAdmin, Dataiku DSS Core Designer, Dataiku DSS ML Practitioner, Dataiku DSS Adv Designer, Registered Posts: 346 Dataiker以下、コメントさせていただきます。
DesignNode等の該当のEC2をAWS側で停止・起動した際に、OS起動とともに正しくプロセスが立ち上がるのかどうか等、各ノードに影響はないでしょうか。
EC2をAWS側で停止・起動した場合、OS起動とともにDSSのプロセスが立ち上がりますが、ご質問内のリンク先コメントにもありますように、ジョブ実行中にノードを停止した場合など、データセット不整合などの問題が発生する可能性があります。このため、AWS側でEC2を直接停止・起動することは推奨しておりません。
外部のスケジューラーなどからDSSを停止・起動したい場合は、以下のFleet Manager API経由で各ノードをdeprovision / reprovision する方法がよいと考えられます。
https://developer.dataiku.com/latest/api-reference/python/fleetmanager.html#fleet-manager-instancesFleet Manager側から見て、整合性のとれた状態を維持できますでしょうか。
上記回答に記載のように、Fleet Manager API経由で各ノードをdeprovision / reprovision することで、整合性をとりつつ、各ノードとDSSプロセスの停止・起動を行うことが可能と考えられます。(ただ、予期せぬ業務への影響を考慮して、通常は本番環境インスタンスの自動停止・起動は行わないことを推奨していますので、その点はご考慮いただければと思います。)
-
河原崎さま
ご丁寧な回答ありがとうございます。
DSSインスタンスの自動起動・停止はFleet Manager APIを用いて、あくまでFleet Managerから制御することがベストプラクティスであると理解いたしました。
また、整合性をとれた状態を保つためにも上記の対応が必要であると理解いたしました。
本番環境の自動起動・停止はDataikuさまとして推奨しないことも理解いたしました。
裏を返すと、開発環境等は夜間は止めてもよい理解です。 -
河原崎さま
すみません。追加で何点か念のため確認させて下さい。
>Fleet Manager API経由で各ノードをdeprovision / reprovision
上記のようにございますが、DataikuのベストプラクティスとしてはStopではなくDeprovisionという理解でよいでしょうか。ユースケースとしては夜間や休日はインスタンスを止めてコスト節約をしたい、というものになります。また、Fleet Managerの自動起動/停止は非推奨という理解でよいでしょうか。私の理解としては、Fleet Managerは月額数千円程度のインスタンス(例:t3.medium)でも十分に稼働可能であるため、コストメリットの点から自動起動/停止する必要はないため、と理解しています。
-
Tsuyoshi Dataiker, PartnerAdmin, Dataiku DSS Core Designer, Dataiku DSS ML Practitioner, Dataiku DSS Adv Designer, Registered Posts: 346 Dataiker@長戸 さん、以下回答いたします。
>Fleet Manager API経由で各ノードをdeprovision / reprovision
上記のようにございますが、DataikuのベストプラクティスとしてはStopではなくDeprovisionという理解でよいでしょうか。ユースケースとしては夜間や休日はインスタンスを止めてコスト節約をしたい、というものになります。
→ ベストプラクティスが特にあるわけではございませんので、運用要件に合わせて、最適なものをご選択いただければと思います。deprovisionの利用については、私が少し勘違いしておりました。DataikuのVersion13.2以降ではFleet Manager APIにstop()が追加されていますので、Stopを使っていただく形でも良いと思います。
https://doc.dataiku.com/dss/latest/release_notes/13.html#id165また、Fleet Managerの自動起動/停止は非推奨という理解でよいでしょうか。私の理解としては、Fleet Managerは月額数千円程度のインスタンス(例:t3.medium)でも十分に稼働可能であるため、コストメリットの点から自動起動/停止する必要はないため、と理解しています。
→ Fleet Managerは自動バックアップを行う場合など起動している必要がありますが、必ずしも「自動起動/停止してはいけない」ということはございませんので、運用要件に合わせて最適な方法をご検討いただければと思います。
本番環境の自動起動・停止はDataikuさまとして推奨しないことも理解いたしました。裏を返すと、開発環境等は夜間は止めてもよい理解です。
→ 本番環境は、他システムと連携していたり、様々なバッチが動作している可能性がございますので、その意味で予期せぬ障害を防ぐために自動停止・起動を行わないことを推奨しています。
ただ、システムの利用用途や運用状況を考慮した上で、停止による影響がないことが100%確実である場合には、自動停止・起動すること自体は可能ではありますので、やはり個別の要件に合わせてご判断をいただければと思います。