SAS Viya Blog ～Azure Fileを利用したWindowsとSAS Viya間のデータ共有方法の紹介～

背景の紹介 これまでのSAS製品は、SAS 9でもSAS Viya 3.5でも、ほとんどがWindowsやLinuxのプラットフォームで動作していました。 そのため、Windowsクライアントを持つユーザーは、SMBサービスやWindowsのファイル共有機能を介して、これらのプラットフォームに保存されたファイルに簡単にアクセスすることができていたのです。 SASが開発した最新のクラウドネイティブ・データアナリティクス・プラットフォーム「SAS Viya」は、WindowsやLinuxなどのOS上で直接動作するのではなく、コンテナ／ポッドの形でKubernetes（以下、K8s）上で動作し、従来の製品とはアーキテクチャが大きく変わっています。K8s上で動作するサービスのコンテナ内のデータは一時的なものなので消えてしまう特徴があります。この点に対して、お客様は最新の製品を使用する際に、K8sに保存したデータをローカルのWindowsシステムからどのようにアクセスするのか、SASで作成したレポートなどのデータをどこに保存するのかという疑問を持つことが多いようです。 今回は、下記の図の構造のような、K8sに保存されているファイルを、比較的簡単な方法でWindowsクライアントと共有する方法をご紹介したいと思います。 本記事の内容は、Microsoft Azure上にデプロイされたSAS Viya Stable 2021.2.3に基づいています。centos 7.9上で、kubectl、kustomization、azure cliなどのコマンドラインツールを利用する作業が含まれているので、Linux、Kubernetes、SAS ViyaのデプロイメントとAzureに関する一定の知識が必要です。また、お使いのクラウドベンダーや製品のバージョンによって、設定方法が異なる場合もありますので、詳細は各ドキュメントをご確認ください。 SAS Viya on Kubernetesが利用するストレージの紹介 まず、K8s上にデプロイされたSAS Viyaサービスを使用した場合のデータの保存方法について簡単に説明します。 例えば、SAS Studioを利用する場合、ユーザーがセッションを作成するたびに、SAS ViyaはK8s上に一つのコンテナを作成します。これは、ユーザーがセッションで実行したすべてのコードや操作がこのコンテナに入っているミニLinux内で実行されます。 ご存知のように、コンテナの最大の利点は、インストール作業や設定などが一切いらず、配置したらすぐに使えることです。コンテナが提供するサービスや機能を使用するために設定を行う必要はありませんが、同時に、コンテナ内のデータに加えた変更も保存されず、新しいセッションを作成するたびに、まったく同じ設定を持つまったく新しいコンテナが作成されます。 そのため、SAS Studioで作成した新しいデータを保存したい場合は、コンテナの外部にあるストレージに保存する必要があります。K8sではこの外部ストレージは永続ボリュームと呼びます。 永続ボリュームを利用することにより、SAS Studioのセッションが終了しても、作業中にユーザーが作成した新しいデータはちゃんと保存されています。次にユーザーが新しいセッションを作成する時、以前使用していた永続ボリュームが新しいセッションに自動的にマウントされ、ユーザーが永続ボリュームに保存されていたデータを使って引き続き作業できます。この記事で紹介するデータ共有方法も、こちらの永続ボリュームを利用しています。 データ共有するための設定方法 次に、K8sで作成したファイルをWindowsと共有する方法を紹介します。前述したように、作業中に発生したデータを永続ボリュームに保存することができるので、永続ボリュームをWindowsにマウントするだけで、作業用PCとK8sの間でデータを共有することができますが、実現方法は使用する永続ボリュームの外部ストレージの種類によって異なります。 AzureのK8sサービス上でSAS Viyaを利用する場合、使用する外部ストレージは、大体以下の3種類です。Azure Fileを共有ストレージとして使用する場合、追加のサーバは必要なく、使い方も比較的簡単なので、本記事ではAzure Fileを外部ストレージとして使用する場合の共有方法を紹介します。 - ネットワークファイルシステム（以下NFS） - Azure Disk - Azure File（本記事で紹介する方法） データを共有するためには、次のような手順が必要です。 これらの手順には、AzureとK8sの管理者権限と関連する知識が必要なため、一般的にはサーバ管理者やSAS Viya導入の担当者が行うことになることに注意してください。 １．ストレージクラスの作成 ２．永続ボリューム要求の作成 …