ONTAPでS3互換ストレージを提供する


ONTAP 9.7でTechnical Previewとして導入されたS3互換オブジェクトストレージ機能(【 2020年1月GA版リリース】ONTAP 9.7アップデート情報)は、ONTAP 9.8から正式提供となった(ONTAP 9でのS3のサポートについて)。

ただ、普通に提供されるライセンスコード一覧にはS3ライセンスが含まれていない(2021/11/10追記:ONTAP9.9.1で入荷した実機にはS3ライセンスも入力済みだった)

ONTAPシミュレータ9.8で提供されるライセンスにもS3ライセンスは含まれていない。

しかし、確認してみると、NetApp Supportページにある「Master License Keys」ページから「ONTAP S3」ライセンスが取得出来るらしい。

手続きを進めてみると、こんな感じでライセンスキーが表示された。

機種などが制限されていないようなので、ONTAPシミュレータ環境にライセンスを入れてみたところ、問題無く認識された。

ONTAP 9の[オブジェクトストレージのプロビジョニング]-[S3構成パワー ガイド]に従い設定を実施。

ただマニュアル上はCLIでしか設定できないような記載がされてるのだが、ONTAP 9.8 System Managerから設定ができそう

[ストレージ]-[バケット]にそれっぽい項目があったり

[ストレージ]-[Storage VM]の設定画面に「S3」が見える。

S3の設定を行ってみる。

「S3サーバ名」は、S3互換としてアクセスする場合に指定するホスト名を設定(DNS解決できるように設定しておくこと)

今回は既存のNFS/CIFS用に設定しているIPアドレス(LIF)に相乗りしてS3サービスを提供します。

作成すると、下記の表示があります。

標準で「sm_s3_user」というユーザが作成され、S3互換接続のアカウント設定で使用する「アクセスキー」と「シークレットキー」が表示されます。

シークレットキーはこの画面を閉じたら再確認する方法がなくなるので必ず記録しておきます。(失った場合はアクセスキー/シークレットキーの再発行が必要です)

これでSVMのサービス一覧でS3のステータスが有効となります。

標準で作られたsm_s3_userではなく、別のユーザを作る場合は[ストレージ]-[Storage VM]で「S3設定」を開きます

ここでユーザの追加を行います。

S3互換アクセスに使う「アクセスキー」と「シークレットキー」が表示されるので記録します。

次にユーザに権限を与えるためにグループを作成します。

ちょっと表示がわかりにくいですが、「名前」を入力したあと、「USERS」をクリックするとユーザ一覧が表示されますので、作成したユーザを選択します。

同様に「POLICIES」を選択するとポリシー一覧が表示されますので、FullAccessを選択します。

これでグループの作成が終わりました。

次に「バケット(bucket)」を作成します。[ストレージ]-[バケット]を表示します。

[追加]からバケットを作成します。なお、指定可能な最小容量は95GBです。

保存すると下記の様に一覧に表示されるようになります。

ちなみにこれを作成するとGUIの[ストレージ]-[ボリューム]には表示されない「ボリューム名:fg_oss_~」というものが追加されています。

ontap98::> volume show
Vserver   Volume       Aggregate    State      Type       Size  Available Used%
--------- ------------ ------------ ---------- ---- ---------- ---------- -----
ontap98   MDV_aud_6e2de4f0a96c4edbbf4c751a3f4626cc aggr0_ontap98_01 online RW 2GB 1.90GB  0%
ontap98   MDV_aud_b39196a1f11940519b4238a511f7c93d ontap98_01_FC_1 online RW 2GB 1.90GB  0%
ontap98-01 vol0        aggr0_ontap98_01 online RW       7.11GB     2.03GB   69%
share225  fg_oss_1635381690 -       online     RW      421.1GB    210.6GB    0%
share225  nfsshare     ontap98_01_FC_1 online  RW       5.26GB     5.00GB    0%
share225  share225_root ontap98_01_FC_1 online RW         20MB    17.50MB    7%
share225  share226_dr  ontap98_01_FC_1 online  DP        100GB   100.00GB    0%
share225  testvol      ontap98_01_FC_1 online  RW      105.3GB    99.99GB    0%
share228  share227_root ontap98_01_FC_1 online RW         20MB    17.57MB    7%
9 entries were displayed.

ontap98::>

95GBと指定しているのに400GBを取っている、とか、そのくせaggregateの空き容量は減っていないとかいろいろアレな感じではあります。

作成しただけでは先ほど作成したユーザのアクセス権限がついていないので[ストレージ]-[バケット]で作成したバケットを選択し「権限」タブで設定していきます。

[編集]ボタンをクリックすると下記の画面が開きます。

[権限]にて「追加」をクリック

初期の「ListBucket」のみだとオブジェクト一覧のみが表示出来ます。選択できるものを全て選択します。

これでバケットを保存します。

そうすると[権限]タブが下記の様になっています。

これで、S3互換アクセスが可能な状態となりました。

アクセス検証には「S3 Browser」というWindowsアプリを使用しました。

アカウント設定は下記の様に行います

Account Type: S3 Compatible Storage
REST Endpoint: Storage VMのS3設定にある「S3サーバ名」で指定したもの
Access Key ID: 作成したユーザのアクセスキー
Secret Access Key: 作成したユーザの シークレットキー
Use secure transfer (SSL/TLS)にチェックを入れる

ここまで設定したら「Advanced S3-compatible storage settings」をクリックします。

Signature versionを「Singnature V4」に設定します。(2021/10/28時点の初期値はSingnature V2でした)

これで保存するとS3 Browser上にバケットが表示され、使える様になります。

なお、S3 BrowserでSingnature V4に設定する必要がある、というのは storageexorcist「NetApp ONTAP 9.8 – S3 is GA!」の記事を見て知りました。

知ったあとに「TR-4814: S3 in ONTAP Best Practices」を見直してみたところ「Security」の項目に記載がありました。

Signature Version 4
S3 in ONTAP requires the use of Signature Version 4 (v4 signatures).
Note: Using v2 signatures result in a failure to connect. It is important to be aware of this because many client applications, including commonly used S3 browsers, use v2 signatures by default.
Configure client applications to use v4 signatures to avoid connectivity errors.

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください