0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Akamai Cloud Computing - Volume Encryption (ディスク暗号化)

Posted at

はじめに

Akamai Cloud Computing では、インスタンスに付与できるボリュームとして、Linode Block Storageを提供しており、インスタンスにデフォルトで付与されている「Local Disk」と追加で付与することができる「Block Storage」があります。
どちらもNVMeを採用しており、従来のハードディスクドライブに比べて、スループットが10~20倍、IOPSが最大2000倍に向上するなど、性能面で大幅な改善を見込めます。

Linode Block Storageには以下の特徴があります。

  • Block Storageの容量:10GB~16TB ※1
  • IOPS:最大8,000(バースト12,000)※2
  • スループット:最大350MB/s(バースト525MB/s)※2
  • 1つのコンピュートインスタンスに最大8つのボリュームをアタッチ可能
  • データの可用性を高めるため、データレプリケーションが組まれている
  • 低コストなNVMe(0.10 ドル/GB )

※1 Local Diskのインスタンスごとに容量が決まっています
※2 バーストは最大60秒です

Linode Block Storage

image.png

Volume Encryption (ディスクの暗号化)

新たにLinode Block Storageの追加機能として、Volume Encryptionがリリースされました。

Oct 17, 2024 — Block Storage supports encryption (Limited availability)

執筆時点では、一部地域のみで提供しているLimited availabilityとなり、利用にはサポートへの問い合わせが必要です。

Volume Encryptionの機能では、ディスクを暗号化することにより保存されたデータの安全性が確保され、データが格納されているNVMeが破棄される際にも、暗号化は維持されるため不正なアクセスから保護することができます。
そのため、よりセンシティブな情報の管理を行う要件などにも対応することができるようになります。

機能

Akamai Techdocs - Volume Encryption

暗号化

Volume Encryption は追加するBlock Storageに適用することができます。Volume作成時のみに選択でき、作成後の変更はできません。
デフォルトでは、暗号化機能は無効となっています。
なお、Local Diskの暗号化がされていない場合でも、追加するVolume Diskのみを暗号化することは可能です。
なお、暗号化されているVolume上ののデータを、さらにユーザー側で重複して暗号化することはパフォーマンスが劣化するため推奨されていません。
Local Diskの暗号化機能もリリースする予定です。

ボリュームサイズの変更

暗号化されたボリュームの拡張を行うことができ、変更した際にも暗号化は維持されます。
ボリュームサイズの縮小は行うことはできません。

データの移動、転送

暗号化してアタッチしたBlock Storageは、デタッチ後に別のインスタンスにアタッチすることが可能です。
この際に、暗号化は維持されます。
別のデータセンターにBlock Storageを移設する場合には、転送中のデータは暗号化が解除され、転送先のBlock Storageの設定に従い、再度暗号化、もしくは非暗号化されて保存されます。

パフォーマンス

ディスクの暗号化機能を有効にした場合、非暗号化と比較するとIOPSのパフォーマンスが低下する可能性があります。
ボリュームサイズを大きくした場合には、パフォーマンスが向上する設計となります。

暗号化ディスクの作成

Volumesから新規Volumeを作成する際に、暗号化オプションを選択することができます。

image.png

作成されたディスクは一覧から暗号化済みであることが確認できます。

image.png

Volume Encryption ベンチマーク

Volume Encryptionの機能を利用した場合には性能が劣化しますが、どの程度の影響があるのかFlexible I/O Tester(fio)を利用してディスクに対してベンチマークを行いました。

Flexible I/O Tester (fio) は、Linux カーネル開発者の Jens Axboe によって2005年に開発された、オープンソースのストレージベンチマークツールです。Linux の I/O サブシステムのテストを簡略化するために作られましたが、現在では多くのプラットフォームで利用可能な汎用的なI/Oワークロードベンチマークツールとして広く使用されています。

fioを利用したベンチマークを自動化するためにスクリプトを作成しテストしています。

Github Gist : Volume Encryption Benchmark Script

ベンチマーク項目

今回は、4つの異なるストレージ構成のベンチマークを実施しました。
評価対象は、IOPS(1秒あたりの入出力操作数)とスループットです。

テスト対象の構成は以下の通りです。

ディスク

  • Encrypt 100GB:100GBの暗号化ストレージ
  • Encrypt 10,000GB:10,000GBの暗号化ストレージ
  • UnEncrypt 100GB:100GBの非暗号化ストレージ
  • UnEncrypt 10,000GB:10,000GBの非暗号化ストレージ

ブロックサイズとタイプ

  • シーケンシャルリード(read)
  • シーケンシャルライト(write)
  • ランダムリード(randread)
  • ランダムライト(randwrite)

ブロックサイズ*

  • 4k
  • 64k
  • 512k
  • 1M

ベンチマーク結果

本試験結果は性能を保証するものではありません。

シーケンシャルリード(read)/ シーケンシャルライト(write)

ランダムリード(randread)/ ランダムライト(randwrite)

※詳細な結果はページ下部に記載

ベンチマーク総評

暗号化と非暗号化では読み込みには大きく差は出ませんでしたが、特に4k,64kのファイルサイズでの書き込みでは性能差があることを確認することができました。
また、100GBのディスクより10,000GBのディスクのほうが高いパフォーマンスを発揮することもわかりました。

まとめ

Volume Encryptionの導入により、データをより安全に格納し、運用することが可能になります。
この機能は、特にセンシティブな情報を取り扱う場面で有益な機能です。暗号化によるパフォーマンスへの影響は一定程度確認されましたが、用途や要件に応じて、暗号化の有無を適切に選択することができます。

Akamai はCDN、セキュリティ、クラウドサービスを通じ、オンラインライフの力となり守っています。本稿でご紹介したような課題やご相談があれば、お気軽にお問い合わせください

関連記事

アカマイ・テクノロジーズ合同会社はQiitaでAkamai Cloud Computing Services関連など開発者向けの記事を掲載しております。

参考:ベンチマーク結果詳細

Directory Block Size Test Type IOPS Throughput (MB/s)
Encrypt 100GB 4k randread 1260.173983 4.92
Encrypt 100GB 4k randwrite 6371.562844 24.89
Encrypt 100GB 4k read 1765.423458 6.90
Encrypt 100GB 4k write 6912.351018 27.00
Encrypt 100GB 64k randread 968.321513 60.52
Encrypt 100GB 64k randwrite 4740.740741 296.30
Encrypt 100GB 64k read 1186.214886 74.14
Encrypt 100GB 64k write 5178.255373 323.64
Encrypt 100GB 512k randread 457.960644 228.98
Encrypt 100GB 512k randwrite 1316.195373 658.10
Encrypt 100GB 512k read 522.982635 261.49
Encrypt 100GB 512k write 1319.587629 659.79
Encrypt 100GB 1M randread 317.224287 317.22
Encrypt 100GB 1M randwrite 659.793814 659.79
Encrypt 100GB 1M read 325.699746 325.70
Encrypt 100GB 1M write 659.793814 659.79
Encrypt 10,000GB 4k randread 1242.875712 4.85
Encrypt 10,000GB 4k randwrite 6825.244741 26.66
Encrypt 10,000GB 4k read 1918.808119 7.50
Encrypt 10,000GB 4k write 6868.161811 26.83
Encrypt 10,000GB 64k randread 992.00775 62.00
Encrypt 10,000GB 64k randwrite 5312.581064 332.04
Encrypt 10,000GB 64k read 1233.73494 77.11
Encrypt 10,000GB 64k write 5454.061252 340.88
Encrypt 10,000GB 512k randread 453.498671 226.75
Encrypt 10,000GB 512k randwrite 1319.587629 659.79
Encrypt 10,000GB 512k read 503.937008 251.97
Encrypt 10,000GB 512k write 1319.587629 659.79
Encrypt 10,000GB 1M randread 308.433735 308.43
Encrypt 10,000GB 1M randwrite 659.793814 659.79
Encrypt 10,000GB 1M read 324.873096 324.87
Encrypt 10,000GB 1M write 659.793814 659.79
UnEncrypt 100GB 4k randread 1286.671333 5.03
UnEncrypt 100GB 4k randwrite 6784.26501 26.50
UnEncrypt 100GB 4k read 1888.611139 7.38
UnEncrypt 100GB 4k write 6831.648077 26.69
UnEncrypt 100GB 64k randread 995.624696 62.23
UnEncrypt 100GB 64k randwrite 5565.217391 347.83
UnEncrypt 100GB 64k read 1218.322427 76.14
UnEncrypt 100GB 64k write 6059.171598 378.70
UnEncrypt 100GB 512k randread 484.389782 242.19
UnEncrypt 100GB 512k randwrite 1319.587629 659.79
UnEncrypt 100GB 512k read 537.815126 268.91
UnEncrypt 100GB 512k write 1319.587629 659.79
UnEncrypt 100GB 1M randread 345.945946 345.95
UnEncrypt 100GB 1M randwrite 661.498708 661.50
UnEncrypt 100GB 1M read 343.624161 343.62
UnEncrypt 100GB 1M write 659.793814 659.79
UnEncrypt 10,000GB 4k randread 1265.573443 4.94
UnEncrypt 10,000GB 4k randwrite 6875.367184 26.86
UnEncrypt 10,000GB 4k read 1875.512449 7.33
UnEncrypt 10,000GB 4k write 6732.689542 26.30
UnEncrypt 10,000GB 64k randread 999.511957 62.47
UnEncrypt 10,000GB 64k randwrite 5851.428571 365.71
UnEncrypt 10,000GB 64k read 1236.341684 77.27
UnEncrypt 10,000GB 64k write 6113.432836 382.09
UnEncrypt 10,000GB 512k randread 477.166822 238.58
UnEncrypt 10,000GB 512k randwrite 1319.587629 659.79
UnEncrypt 10,000GB 512k read 532.224532 266.11
UnEncrypt 10,000GB 512k write 1319.587629 659.79
UnEncrypt 10,000GB 1M randread 329.048843 329.05
UnEncrypt 10,000GB 1M randwrite 661.498708 661.50
UnEncrypt 10,000GB 1M read 343.163539 343.16
UnEncrypt 10,000GB 1M write 661.498708 661.50
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?