はじめに
この記事は、NetApp のストレージ OS である ONTAP の機能を活用して、自前のクラウドストレージを構築する為のアイディアの紹介と構築メモです。
前回記事「さいきょうのクラウドストレージを Amazon FSx for NetApp ONTAP + Nextcloud で作る!(その2)」では、AWSのEC2でNextcloud サーバーを立て、データの保管場所として Amazonm FSx for NetApp ONTAP (以下 FSxN)の環境を作る手順を紹介しました。
今回は Active Directory のユーザーでログインしたり、 Windows PC から直接共有フォルダーを見えるようにしていきます。
これにより、オンプレのファイルサーバーをクラウドへ移行した際に、従来通りのファイルサーバーとして使いつつ、クラウドらしくモバイル利用も、と両方使えるような環境を作ってみます。
用意するもの
Nextcloud + FSxN
前回記事「さいきょうのクラウドストレージを Amazon FSx for NetApp ONTAP + Nextcloud で作る!(その2)」と同等の環境が必要です。
AD サーバー
サーバーの設置場所はどこでも OK ですが、Nextcloud サーバー及びFSxN の管理用 IP アドレスとの間で疎通出来る必要があります。
その他
FSxN の追加設定をコマンドで行うために、SSH 接続が必要です。
FSxN の管理 IP アドレスに SSH アクセスができる必要があります。
Nextcloud のサーバーとかでも良いですが、踏み台サーバー等として外部から操作出来る環境が必要です。
構成イメージ
手順
FSxN の設定
ストレージ仮想マシンを追加
既存ファイルシステムに SMB/CIFS 機能を提供するストレージ仮想マシンを追加します。
AWS コンソールから、FSx > ストレージ仮想マシン
の画面を開き、「ストレージ仮想マシンを作成」を選択します。
下記設定を入れて、作成します。
- SVM名
- ストレージ仮想マシン名ルートボリュームのセキュリティスタイル :NTFS
- 「Active Directory への参加」を選択
- NetBios名
- Active Directory ドメイン名
- DNS サーバーの IP アドレス
ADドメインの名前解決が出来るDNS(AD自身でOK) - サービスアカウントのユーザー名
ADの管理者権限のあるユーザー名 - サービスアカウントのパスワード
数分待つと、SMB (CIFS) でアクセス可能なファイルサーバーが作成され、AD のドメインに参加している状態になります。
ボリュームの作成
FSx > ボリュームの画面から「ボリュームの作成」を選択します。
必要項目を入れて「Confirm」をクリックします。
数秒待つと、ボリュームが作成されます。
SMB 共有の作成
共有の作成はコマンドで実施する必要があります。
SSH で FSx ファイルシステムの「管理エンドポイント IP アドレス」に接続します。
管理者でログインし、下記コマンドを実行します。
::> vserver cifs share create -share-name pub -path /pub -share-properties oplocks,browsable,show-previous-versions
Nextcloud サーバーの構成
AD (LDAP) 連携と SMB アクセスをするため、Nextcloud サーバーにモジュールを追加します。
$ sudo apt install ldap-client -y
$ sudo apt install php-smbclient -y
Nextcloud の設定
LDAP 連携機能とSMB機能を有効化します。
ブラウザで Nextcloud の管理画面にアクセスし、管理ユーザーでログインします。
管理画面の右上のアイコンをクリックし、メニューから「+アプリ」を選択します。
アプリ管理画面に遷移しますが、左ペインにある「無効なアプリ」を選択すると、有効化されていないアプリの一覧が表示されます。
その中にある「External Storage Support」と「LDAP user and group backend」を「有効にする」ボタンをクリックします。
次に、アプリの設定に移ります。
右上のユーザーアイコンをクリックし、メニューから「設定」を選択します。
「LDAP/AD統合」の設定
左ペインに「LDAP/AD統合」というメニューが追加されていますので、クリックして設定画面に移ります。
「サーバー」タブ
例えば、Windows で構築された AD サーバを LDAP サーバとして参照する場合で、参照用のユーザーとして「ldapadmin」というユーザーを作成してある場合は、こんな感じで設定していきます。
項目 | 説明 | 設定例 |
---|---|---|
ホスト | AD サーバのホスト名 or IP アドレス | 172.16.1.10 |
ポート | LDAP プロトコルの listen port | 389 |
ユーザーDN | LDAP管理者等権限のあるユーザー | cn=ldapadmin,cn=Users,dc=lab,dc=local |
パスワード | 上記ユーザーのパスワード | |
ベースDN | ユーザー検索のベースDN | cn=Users,dc=lab,dc=local |
「続ける」をクリックして次の「ユーザー」タブへ
今回は特に設定はしていません。
下部にある「設定を検証し、ユーザーを数える」ボタンをクリックすると、認証対象となるユーザー数が表示されます。
問題なさそうならそのまま「続ける」をクリックします。
ここでも特に設定はしません。
「テスト用ログイン名」にユーザー名を入力して「設定のチェック」をクリックすると、そのユーザーでログイン可能かの確認ができます。
Nextcloud:外部ストレージの設定
管理画面右上のアイコンをクリックします。
メニューから「+アプリ」を選択します。
左側ペインの「無効なアプリ」をクリックし、一覧にある「External storage support」を有効にします。
再度、右上アイコンをクリックします。
メニューから「設定」を選択します。
左ペインの「管理」配下にある「外部ストレージ」をクリックします。
右ペインに設定画面が表示されます。
「フォルダー名」は Nextcloud のホーム画面で見える表示名です。
「ストレージを追加」をクリックすると現れる選択肢から「SMB / CIFS」を選びます。
設定項目として下記のようにします。
項目 | 説明 | 設定例 |
---|---|---|
フォルダー名 | 各ユーザーのホームに表示されるフォルダー名 | pub |
外部ストレージ | アクセス方式 | SMB / CIFS |
認証 | 外部ストレージへの認証方法 | ログイン認証情報 |
ホスト | FSxN のファイルサーバーのホスト名 or IP | xxx.xxx.xxx.xxx |
共有 | FSxN のファイルサーバーで作成した共有フォルダー名 | pub |
ADユーザーの個別の権限で FSxN にアクセス出来るようにするために、「認証」の欄を「ログイン認証情報」を選択をします。
全ての設定が出来たら、右端の✓をクリックすることで保存できます。
これで FSxN の SMB ファイルサーバーと Nextcloud 、両方が AD 連携した共存環境が完成です。
接続テスト
AD ユーザーで Nextcloud にログインします。
ホーム画面のフォルダ一覧を見ると、外部ストレージの pub というフォルダが見えるはずです。
おわりに
オンプレデータを移行しても今まで通りのファイルサーバーとしての使い方が出来、加えてモバイルアクセスも実現できる、というシナリオで今回の環境を目指してみました。
次回は、FSxN (ONTAP) の SMB 周りの機能を活用して、より高度なファイルサーバー機能やランサムウェア対策との連携を紹介する予定です。