Amazon FSx for NetApp ONTAP(FSxN)のSSDストレージ容量を増やす方法は、マニュアル操作で行う場合は下記の図の様にAWS Console、NetApp BlueXPのGUI、CLIなど幾つかの方法があります。この記事ではAWS CloudFormationを使ってAmazon CloudWatchとSNSなどのサービスを利用してSSDストレージ容量の利用閾値を超えた時、自動的にアラームトリガーして容量を増やす方法を検証したいと思います。
Keyword
- Amazon FSx for NetApp ONTAP(FSxN)
AmazonがフルマネージドのNetApp ONTAPファイルシステム上に構築された、信頼性が高く、スケーラブルで、パフォーマンスが高く、機能が豊富なファイルストレージを提供するサービスです。ONTAPファイルシステムの使い慣れた圧縮・重複排除・階層化機能、及びAPIオペレーションと、フルマネージドAWSのネイティブサービスを兼ね備えています。 - AWS CloudFormation とは
AWS リソースのモデル化およびセットアップに役立つサービスです。使用するすべてのAWSリソース (Amazon EC2 や Amazon CloudWatchなど) を記述するテンプレートを作成すれば、CloudFormation がこれらのリソースのプロビジョニングや設定を受け持ちます。AWSリソースを個別に作成、設計して、それぞれの依存関係を考える必要はありません。CloudFormation がこれを処理します。 - NetApp BlueXP
オンプレミス及びクラウド環境におけるストレージとデータサービスにおいて、シンプルなハイブリッドマルチクラウドを統合管理・運用する為のコントロールプレーンサービスです。
検証手順
1.FSxNを作成、CloudFormationにより自動拡張を設定
2.FSxNにmount、SSD利用閾値を超たデータを書き込む
3.SSD容量が自動的に増えたことを確認
構成イメージ:
1.FSxNを作成、CloudFormationにより自動拡張を設定
-
FSxNを作成
こちらを参考して、BlueXPのGUIからAWS上にConnector(EC2)を作って、AWS ConsoleからQuick create
でFSxNを作成します。検証の為、SSD storage capacityをMinimum1024
GiB、Storage effiency
をDisabled
にします。
FSxNに200GBのボリュームStorage efficiency
をDisabled
、Capacity pool tiering plicy
をNone
にして追加します。Junction path
をメモして後程mountに使います。
-
CloudFormationにより自動拡張を設定
「FSxOntapDynamicStorageScaling.yaml」を手元にdownloadし、こちらのガイドを確認した上で、CloudFormation stackをWith new resources(standard)
で作成します。
通常は利用閾値が80%と推奨されています。今回検証の為、利用閾値(Threshold)を10%
、追加したい容量(Percentage Capacity increase)を10%
に設定します。つまり、現在SSD容量(1024GiB、1TiB)の10%を超えると、自動的に10%
の容量(0.1TiB)を増やします。
Permissions
をdefaultのままにします。
Stackのデプロイが完了したのを確認します。
上記の設定がうまくできると、この様なメールのお知らせが設定したメールアドレスに届きます。
ここまでは、FSxNとCloudFormationにより自動拡張の設定が完了しました。
2.FSxNにmount、SSD利用閾値を超たデータを書き込む
上記の作成したBlueXP Conenctor(EC2)にSSHでログインして、FSxNのボリュームにmountして、利用閾値を超えたデータを書き込みます。
- Login:
$ ssh -i YourKeyPair.pem ec2-user@ec2-13-231-43-224.ap-northeast-1.compute.amazonaws.com
- mount:
こちらを参考し、先程メモしたJonction Path/nfs
を確認して/fsx
ディレクトリを作って、mountします。
$ sudo su -
$ sudo mkdir /fsx
$ sudo mount -t nfs YOUR-svm-dns-name:/YOUR-volume-junction-path /fsx
$ df -h |grep fsx
172.31.4.181:/nfs 200G 200G 1.1M 100% /fsx
YOUR-svm-dns-name
、YOUR-volume-junction-path
などの情報をAWS Consoleから確認して入れ替えます。
うまくmountできない場合は「Installing the NFS client」を参考してNFSをインストールします。
- データを書き込み
手元にある400MBDemoFile
をEC2/home/ec2-user
にコピーします。
$ scp -i YourKeyPair.pem DemoFile ec2-user@Your-ec2-13-231-43-224.ap-northeast-1.compute.amazonaws.com:~/.
EC2にログインして、DemoFileを/fsx
に移動して500回に利用閾値を超えてDemoFileCopyi
にコピーする形で書き込みます。
$ ssh -i YourKeyPair.pem ec2-user@ec2-13-231-43-224.ap-northeast-1.compute.amazonaws.com
$ sudo su -
$ mv /home/ec2-user/DemoFile /fsx
$ cd /fsx
$ for ((i=1; i<500;i++)); do cp DemoFile "DemoFileCopy"$i; done
書き込む途中で設定した閾値(threshold)の10%
を超えると、アラームトリガーされてメールにお知らせが届きました。
設定した10%
容量を増やすメールも届きました。
BlueXPのGUIから、今容量を増やす処理が動いていることが確認できます。
AWS アラームの方にも表示されます。
3.SSD容量が自動的に増えたことを確認
注意事項
- 1.一回SSD容量を増やすと、次に増やせるようになるまで6時間待つ必要があります。
- 2.こちらのガイドにより、
Storage capacity increase only
増やすのみになるので、一旦容量を増やすと、減らすことはできません。 - 3.SSD容量を増やすと伴い、料金が発生します。今回利用したAWSサービス料金はこちらのガイドにより、いくつか無料ですが、詳細を確認する必要があります。
- 4.上記のCloudFormation stackで作成したSNSやLambdaなどのリソースはそのstackをdeleteすると削除できます。
まとめ
NetApp BlueXPのGUI、AWS Console又はCLIでのマニュアル操作の他に、AWS CloudFormationを使ってAmazon FSx for NetApp ONTAPPのSSDストレージ容量を自動的に増やすことができました。
参考リンク
1.NetApp BlueXP: Create a Connector in AWS from BlueXP
2.Installing the NFS client
3.To mount an ONTAP volume on a Linux client
4.AWS Documentation: Increasing SSD storage capacity dynamically
5.AWS CloudFormation とは
6.Create an Amazon FSx for ONTAP working environment
7.「2.FSxNとCloud Syncを作成」
8.FSx for NetApp ONTAP: Mounting on Linux clients