进入HSM服务,创建一个新集群:

指定vpc和子网:

选择备份保留的时长:

进行创建。
创建完成后的页面:

这里cloudHSM自动创建了一个安全组,允许同一个安全组下2223-2225端口的访问:

所以后面客户端想要访问这个cloudHSM,都要在安全组级别放开,可以修改这个安全组,也可以在client上绑定上这个安全组。
创建完集群后,上面的状态是Uninitialized,需要点击右上角进行初始化:

初始化流程有3步:
Step 1: Create an HSM in the cluster ← 创建第一个 HSM 硬件
Step 2: Download certificate signing request ← 下载 CSR
Step 3: Upload certificates ← 上传签名证书

这里选择az A,点击创建:

这一步会做以下操作:
| 操作 | 说明 |
|---|---|
| 创建第一个 HSM | 在选择的 AZ 中启动一台 HSM 硬件 |
| 选择 AZ | 决定 HSM 放在哪个可用区 |
| 生成 ENI | 在 VPC 子网中创建网络接口 |
为什么需要这步,因为CloudHSM Cluster(刚创建时)是空的,没有 HSM 硬件。创建完成后:
CloudHSM Cluster
└── HSM 1 (AZ-a) ← 第一个 HSM 上线
Cluster 只是逻辑容器,必须添加 HSM 才能用。
之后再添加第二个 HSM(不同 AZ)实现高可用。
等创建完第一个HSM后,进入第二步下载CSR:

Cluster CSR(必须下载)
| 项目 | 说明 |
|---|---|
| Cluster CSR | 集群的证书签名请求 |
| 用途 | 用户需要用自己的 CA 签名这个 CSR |
流程:
下载 CSR → 用用户自己的 CA 签名 → 生成证书 → 下一步上传
Cluster verification certificate(可选,用于验证)这三个证书用来验证 HSM 硬件的真实性:
| 证书 | 说明 |
|---|---|
| HSM Certificate | 这台 HSM 的证书 |
| AWS Hardware Certificate | AWS 颁发的硬件证书 |
| Manufacturer Hardware Certificate | 制造商(Cavium/Marvell)的根证书 |
证书链验证:
Manufacturer Hardware Certificate(制造商根证书)
│
└─► AWS Hardware Certificate(AWS 中间证书)
│
└─► HSM Certificate(这台 HSM 的证书)
│
└─► Cluster CSR(由这台 HSM 生成)
先下载下来这个CSR进行签名:

如果没有 CA,可以自签一个:
# 创建自签 CA
openssl genrsa -out customerCA.key 2048
openssl req -new -x509 -days 3652 -key customerCA.key -out customerCA.crt
# 然后用这个 CA 签名 CSR

签名 CSR 的方法:
openssl x509 -req -days 3652 \
-in cluster-xxx_ClusterCsr.csr \
-CA customerCA.crt \
-CAkey customerCA.key \
-CAcreateserial \
-out cluster-xxx_CustomerHsmCertificate.crt

生成了<cluster ID>_CustomerHsmCertificate.crt文件
进入下一步,上传两个文件:
| 上传项 | 上传什么 |
|---|---|
| Cluster certificate | 用你的 CA 签名后的证书(签名 CSR 生成的) |
| Issuing certificate | 你的 CA 证书(签名用的 CA) |

上传完成后,进入初始化状态:

等一会后初始化完成:
