AWS ParallelCluster ヘッドノードのEBS暗号化サポート状況

2021.01.06

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

ParallelCluster 2.10.1 ヘッドノードのEBS暗号化対応状況を調べました。

EBSを暗号化することが絶対ではないのですが「ルートボリュームって暗号化できなかったけ?」とドキュメントを確認することが続いたのでまとめます。

  • ヘッドノードのルートボリュームのEBS暗号化は非対応
  • ヘッドノードからコンピュートノードへNFS共有される/sharedはParallelClusterの設定変更で暗号化可能

ヘッドノードのEBSは2個ある

ParallelCluster 2.10.1で作成したヘッドノードのEBSアタッチ状況です。最初のポイントはヘッドノードのルートボリュームと、デフォルトでコンピュートノードへ共有されるボリュームのEBSが個別に作成されていることです。

ルートボリューム

ParallelClusterのコンフィグでは[cluster]セクションで、ルートボリュームの サイズ指定 だけできます。暗号化に関する設定項目は用意されていません。pcluster createコマンドで作成されるヘッドノードのルートボリュームは 暗号化されていないEBSがアタッチ されます。

[cluster default]
master_root_volume_size = 25

[cluster] section - AWS ParallelCluster

補足

ParalleclCluster 2.10.1で作成されるルートボリュームのEBSのボリュームタイプはgp2固定です。

NFS共有

デフォルトでヘッドノードの /shared ディレクトリがコンピュートノードと共有されています。ミニマムでテストするときには非常に便利です。しかし、ParallelCluster初見だとEBSが別々に作成されていることに気づかないかもしれません。

デフォルトだと/sharedに20GBの 暗号化されていないEBS がアタッチされます。ルートボリュームとは異なり共有ストレージでマウント用のEBSの設定項目は豊富です。[cluster]セクションでここでは例としてcutom1と名付け[ebs]セクションで詳細設定を指定しています。

encryptedtrue指定することで 暗号化されたEBS が作成されアタッチされるようになります。

[cluster default]
ebs_settings = custom1

[ebs custom1]
shared_dir = /shared
volume_type = gp3
volume_size = 40
encrypted = true

[ebs] section - AWS ParallelCluster

補足

ParalleclCluster 2.10.1からEBSのボリュームタイプgp3にも対応しています。

おわりに

HPCの演算環境で機密データを取り扱うなどで厳し目のセキュリティ要件もあるかと思います。ヘッドノードのルートボリュームに演算対象のデータを一時保存することは基本ないかとは思いますが、ヘッドノードのEBSについてまとめました。演算対象のデータを保存するのにはNFSの共有ストレージや、EFSや、FSx for Lustreなど他のストレージサービスをご検討ください。