SAS ViyaでのSASプログラム実行用リソース管理(二)：ユーザごとに計算リソースと権限の設定方法

一、背景の紹介 "データアナリストのようなヘビーユーザと利用頻度が低いユーザや参照系のユーザなど、さまざまなユーザがおり、SASプログラムを実行する際に利用するCPUとメモリなどの計算リソースを、ユーザタイプごとに割り当てる設定をしたい"。これは、多くのViya4ユーザ様が持つ課題です。これを実現するためには、次の2つのステップが必要です １．異なるタイプのユーザごとに利用できる計算リソースを設定します。 ２．異なるタイプのユーザに対して、権限を個別に割り当てる必要があります。 前回の記事では、Viyaのシステム管理者に向けて、ユーザが利用できる計算リソースの上限値の変更方法を紹介していきます。本記事では、異なるタイプのユーザに対して、利用できる計算リソースを個別に設定する方法と権限を個別に割り当てる方法を紹介します。 二、準備 ユーザがSAS Studioを使用しているときにSAS Viyaがどのように計算リソースを呼び出すかは、前回の記事で説明したとおりですので、ここで割愛します。 興味のある方は、こちらのリンク先のブログをご参照ください。 以下の紹介内容は、基本的に一回目の記事と同じくデプロイメントファイルとK8sクラスターに変更を加える必要があるため、以下を準備する必要があります。基本的にViyaをデプロイ時に必要なものと同じですので、もし下記に対して不明なところがある場合、ご利用のViya環境のデプロイ担当者にお問い合わせください。 ・k8sクラスターのAPIサーバーに接続できる作業用のサーバー、OSはLinux系がおすすめです。 ・k8sクラスターに接続用コンフィグファイル(管理者権限が必要)。~/.kube/configとして保存します。 ・k8sのコマンドラインツール：kubectl ・Viyaデプロイメントアセットのコンパイル用ツール：kutomize ・Viyaをデプロイ時に使ったkustomization.yamlやsite-configフォルダを含めたファイルアセット また、ユーザの権限を設定するには、ViyaのGUI上での操作が必要のため、以下の準備も必要です。 ・管理者権限を持つViyaアカウント 三、ユーザごとに計算リソースの上限値を設定する方法 この章の項目は多いので、読者は以下のリンクを使って興味のあるセクションに直接ジャンプすることができます。 １．シナリオの紹介 ２．ユーザグループの作成 ３．SAS Viyaのデプロイメントファイルの修正 ４．ヘビーユーザ用ポッドテンプレートを作成 ５．ユーザ権限の設定 ６．ユーザ権限設定の検証 １．シナリオの紹介 こちらの章の内容は、下記のシナリオに基づいて、ヘビーユーザとライトユーザ二種類のタイプのユーザに対して、それぞれ異なる計算リソースの上限を設定するシナリオを紹介します。 ・ユーザタイプA：ヘビーユーザ 利用する最大CPU：8CPU 利用する最大メモリ：8Gi ・ユーザタイプB：ライトユーザ 利用する最大CPU：２CPU 利用する最大メモリ：２Gi ２．ユーザグループの作成 まず、Viyaにヘビーユーザとライトユーザの2つの独立したユーザグループを作成する必要があります。この部分の作業はSAS ViyaのGUI上で実施します。 ①SAS Viyaへログインし、左側のメニューから「環境の管理」を選択します。 ②環境管理の画面に切り替わったら、左のメニューから「ユーザ」を選択します。 ③そして、画面上部の「ビュー」をクリックし、「カスタムグループ」を選択し、「新規作成」ボタンをクリックします。 ④ヘビーユーザ用グループを作成しますので、グループ新規作成の画面に、名前とID、説明を下記の図のように入力し、「保存」ボタンをクリックします。 ⑤そして、ライトユーザに対しても、同様の方法でグループを作成します。 ⑥次は、作ったユーザグループにユーザを追加しますので、作ったグループ名を選択し、右側の編集アイコンをクリックします。 ⑦ユーザ追加画面で、追加するユーザを選択し、追加アイコンで追加し、終わったら「OK」ボタンをクリックします。同様な操作でもう一つのヘビーユーザ用グループに対しても実施します。これで、ユーザグループの作成は完了しまた。 ３．ライトユーザ用ポッドテンプレートを作成 ユーザグループごとに使用する計算リソースが異なるため、ユーザグループを作成した後に、ユーザグループごとに個別のポッドテンプレートを定義する必要があります。この部分の作業は、kubernetes側で実施します。 ①まず、ライトユーザ向けのポッドテンプレートを作成してみましょう。下記のコマンドで既存のポッドテンプレートをファイルとして、ローカルに保存します。 kubectl …