本日も乙

ただの自己満足な備忘録。

AWS主要サービスのストレージ暗号化についてのまとめ

セキュリティ、コンプライアンスの要件によってはデータの暗号化が必要な場合があります。データ転送やデータ保管時も暗号化の対象です。AWS は一部のサービスを除いてデータ保管時の暗号化はデフォルトで有効になっておらず、明示的に有効にする必要があります。
本記事では AWS の主要サービスにおけるデータ保管(ストレージ)の暗号化についてまとめてみました。

EC2

ここで EC2 のストレージとはインスタンスストア(エフェメラルストレージ)を指します。インスタンスストアとは EC2 自体が保有している一時ディスクで、揮発性であるため再起動するとデータを消失されます。C5d、G4、I3、I3en、F1、M5ad、M5d、p3dn.24xlarge、R5ad、R5d のインスタンスタイプは NVme インスタンスストアが提供されており、インスタンスのハードウェアモジュールに実装されている XTS-AES-256 ブロック暗号を使用して暗号化されます。

インスタンスのハードウェアモジュールに実装されている XTS-AES-256 ブロック暗号を使用して暗号化

EBS

EBS ボリュームは EC2 にアタッチされる永続化ストレージです。詳細は過去に書いた記事を参照ください。

blog.jicoman.info

blog.jicoman.info

EFS

EFS(Elastic File System)はマネージドの NFS ファイルシステムです。EFS はデータ保管時の暗号化と、伝送中のデータの暗号化に対応しています。EFS ファイルシステム作成時にデータ保管時の暗号化を有効にすることができ、ファイルシステムをマウントするときにデータ転送時の暗号化を有効にできます。暗号化キーは KMS で管理されます。

EFS でのデータの暗号化 - Amazon Elastic File System

Fargate

Fargate はコンテナ向けサーバーレスコンピューティングエンジンです。プラットフォームバージョン 1.4からエフェメラルストレージがデフォルトで暗号化されます。

AWS Fargate プラットフォームバージョン 1.4 での一時的なストレージにおける、AWS Fargate 管理のキーを使ったサーバー側の暗号化 | Amazon Web Services ブログ

S3

S3 はマネージドの分散型ストレージサービスです。詳細は過去に書いた記事を参照ください。

blog.jicoman.info

blog.jicoman.info

RDS

RDS はマネージドの RDB(リレーショナルデータベース)サービスです。EBSボリュームと同じく、暗号化キーは KMS によって管理されています。RDS インスタンスを暗号化すると、すべてのログ、バックアップ、スナップショットも暗号化されます。

Amazon RDS リソースの暗号化 - Amazon Relational Database Service

Redshift

Redshift はマネージドの DWH(データウェアハウス)サービスです。暗号化キーは KMS によって管理されています。Redshift クラスタを暗号化すると、そのスナップショットとシステムメタデータも暗号化されます。

Amazon Redshift データベース暗号化 - Amazon Redshift

以前は暗号化されていない Redshift クラスタを暗号化するには、暗号化済の Redshift クラスタへデータ移行するしかありませんでしたが、今は 1クリックで既存の Redshift クラスタを暗号化することができます。

blog.jicoman.info

blog.jicoman.info

非暗号化された Amazon Redshift クラスターが 1 クリックで暗号化可能に

DynamoDB

DynamoDB はマネージドの NoSQL サービスです。DynamoDB に保管されるすべてのデータはデフォルトで暗号化されています(無効にできません)。暗号化キーは KMS によって管理されています。

保管時の DynamoDB 暗号化の使用に関する注意事項 - Amazon DynamoDB

保管時の DynamoDB の暗号化 - Amazon DynamoDB

Amazon Elasticsearch Service

Amazon Elasticsearch Service(以降、Amazon ES)はマネージドの全文検索エンジンサービスです。Amazon ES は保管時のデータ暗号化およびノード間の暗号化をサポートしており、保管時のデータ暗号化を有効化すると、以下のリソースも合わせて暗号化されます。なお、T2 インスタンスは暗号化に対応していません。

  • インデックス
  • Elasticsearch ログ
  • スワップファイル
  • アプリケーションディレクトリのその他すべてのデータ
  • 自動スナップショット

Amazon Elasticsearch Service の保管時のデータの暗号化 - Amazon Elasticsearch Service

Amazon Elasticsearch Service のノード間の暗号化 - Amazon Elasticsearch Service

ElastiCache

ElastiCache はマネージドの Redis および Memcached サービスです。Redis に限り、データ保管時の暗号化およびデータ転送中の暗号化はサポートされます。保管時のデータ暗号化を有効化すると、以下のリソースも合わせて暗号化されます。

  • 同期、バックアップ、およびスワップオペレーション中のディスク
  • Amazon S3 に保存されたバックアップ

暗号化がサポートされているのは以下のインスタンスファミリーなのでご注意を。

  • R5、R4、R3
  • M5、M4、M3
  • T3、T2

Redis 用 ElastiCache での保管時の暗号化 - Redis 用 Amazon ElastiCache

Redis 用 ElastiCache 伝送中の暗号化 (TLS) - Redis 用 Amazon ElastiCache

最後に

本記事では主要 AWS サービスにおけるデータ暗号化についてまとめてみました。少々古いですが、AWS 上の暗号化について解説されている Blackbelt のスライドがありましたので転載します。AWS 全般における暗号化の概要やパフォーマンスについて取り上げられています。

www.slideshare.net