创建HSM集群

创建集群

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

image-20260226141025012

指定vpc和子网:

  • 注意最好是建在私有子网,这里为了方便,建到了公有子网。生产环境要在私网
  • 可以选择一个或多个子网,这决定了HSM是否是高可用

image-20260226141118700

选择备份保留的时长:

image-20260226141138979

进行创建。

创建完成后的页面:

image-20260226141506267

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

image-20260226141754974

所以后面客户端想要访问这个cloudHSM,都要在安全组级别放开,可以修改这个安全组,也可以在client上绑定上这个安全组。

初始化集群

创建完集群后,上面的状态是Uninitialized,需要点击右上角进行初始化:

image-20260226142425310

初始化流程有3步:

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

image-20260226142510245

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

image-20260226142616219

这一步会做以下操作:

操作 说明
创建第一个 HSM 在选择的 AZ 中启动一台 HSM 硬件
选择 AZ 决定 HSM 放在哪个可用区
生成 ENI 在 VPC 子网中创建网络接口

为什么需要这步,因为CloudHSM Cluster(刚创建时)是空的,没有 HSM 硬件。创建完成后:

CloudHSM Cluster
└── HSM 1 (AZ-a) ← 第一个 HSM 上线

Cluster 只是逻辑容器,必须添加 HSM 才能用。

之后再添加第二个 HSM(不同 AZ)实现高可用。

下载CSR

等创建完第一个HSM后,进入第二步下载CSR:

image-20260226144106208

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进行签名:

image-20260226144406498

如果没有 CA,可以自签一个:

# 创建自签 CA

openssl genrsa -out customerCA.key 2048
openssl req -new -x509 -days 3652 -key customerCA.key -out customerCA.crt
# 然后用这个 CA 签名 CSR

image-20260226144740113

签名 CSR 的方法:

openssl x509 -req -days 3652 \
    -in cluster-xxx_ClusterCsr.csr \
    -CA customerCA.crt \
    -CAkey customerCA.key \
    -CAcreateserial \
    -out cluster-xxx_CustomerHsmCertificate.crt

image-20260226144903030

生成了<cluster ID>_CustomerHsmCertificate.crt文件

进入下一步,上传两个文件:

上传项 上传什么
Cluster certificate 用你的 CA 签名后的证书(签名 CSR 生成的)
Issuing certificate 你的 CA 证书(签名用的 CA)

image-20260226145122643

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

image-20260226145211023

等一会后初始化完成:

image-20260226145527322