みなさん、こんにちは。小寺です。
EC2でAMD SEV-SNPをサポートするようになりました。
https://aws.amazon.com/about-aws/whats-new/2023/04/amazon-ec2-amd-sev-snp/

AMD SEV-SNPとは?

AMD Secure Encrypted Virtualization-Secure Nested Paging (AMD SEV-SNP)について、解説してみます。SEV-SNP以外にいくつか種類があるので、ご紹介します!

・AMD Secure Memory Encryption (SME)
単一キーでシステム メモリを暗号化します。
キーは起動時に AMD Secure Processor によって生成されます。SME は、システム BIOS またはオペレーティング システムで有効にする必要があります。 BIOS で有効にすると、メモリ暗号化は透過的になり、OS問わず実行できます。

・AMD Secure Encrypted Virtualization (SEV)
仮想マシンごとに1つのキーを使って、ゲストとハイパーバイザーを互いに分離します。
キーは AMD Secure Processorで管理されます。SEV は、ゲストOSとハイパーバイザーの双方で有効にする必要があります。
ゲストの変更により、VM はメモリ内のどのページを暗号化する必要があるか分かります。また、ハイパーバイザー側の変更では、ハードウェア仮想化命令と AMD Secure プロセッサとの通信いより、メモリコントローラー側でキーを管理します。

・AMD Secure Encrypted Virtualization-Encrypted State (SEV-ES)
VMが停止したときに、すべてのCPUレジスタの内容を暗号化してくれます。この機能でCPUレジスタの情報がハイパーバイザーなどのコンポーネントに漏洩するのを防ぐことができます。
また、CPU レジスタの状態に対する悪意のある変更を検出することもできます。

・AMD Secure Encrypted Virtualization-Secure Nested Paging (SEV-SNP)
強力なメモリ整合性保護機能が特徴です。隔離された実行環境を作成するために、データリプレイ、メモリの再マッピングなどの悪意のあるハイパーバイザー ベースの攻撃を防止します。
また、SEV-SNPは追加のVM 使用モデルをサポートし、割り込み動作に関するより強力な保護機能があります。
サイドチャネル攻撃に対する保護を強化するように設計された、いくつかの追加のオプションのセキュリティ拡張機能も提供されています。

https://www.amd.com/system/files/TechDocs/SEV-SNP-strengthening-vm-isolation-with-integrity-protection-and-more.pdfより引用

どのインスタンスに対応しているの?

このAMD EPYC™ プロセッサーについては、M6a、C6a、R6aのインスタンスタイプに対応しています。オプションとして有効化して利用することができます。GA時点では、AWS CLIを使って有効化します。

まず、対象のインスタンスタイプを確認してみましょう。

$ aws ec2 describe-instance-types \
--filters Name=processor-info.supported-features,Values=amd-sev-snp \
--query 'InstanceTypes[*].InstanceType'
[
    "r6a.2xlarge", 
    "m6a.large", 
    "m6a.2xlarge", 
    "r6a.xlarge", 
    "c6a.16xlarge", 
    "c6a.8xlarge", 
    "m6a.4xlarge", 
    "c6a.12xlarge", 
    "r6a.4xlarge", 
    "c6a.xlarge", 
    "c6a.4xlarge", 
    "c6a.2xlarge", 
    "m6a.xlarge", 
    "c6a.large", 
    "r6a.large", 
    "m6a.8xlarge"
]
$ aws ec2 run-instances \
--image-id supported_ami_id \
--instance-type supported_instance_type \
--key-name key_pair_name \
--subnet-id subnet_id \
--cpu-options AmdSevSnp=enabled

費用

AMD SEV-SNP をオンにして Amazon EC2 インスタンスを起動すると、EC2インスタンスの課金にプラスして10%程度の利用料がかかります。

対象リージョン

GA時点では、 US East (Ohio) とEurope (Ireland) です。

まとめ

AMDのSEV-SNPがEC2のインスタンスでもサポートされるようになりました。利用料の10%ということで、実際に試してどのようにCURに出力されるかリセラーとして個人的に興味があります。そのうち、標準機能にもなっていくのかもしれないですね。