使用 AWS 上的 .ebextensions 中的配置文件自动安装证书
Automating Certificates Installation automatically using config files in .ebextensions on AWS
我的应用程序部署在 AWS 上的 ElasticBeanStalk 上。它正在访问需要在实例上安装 SSL 证书的 API。每次实例重建时,我都必须手动 运行 keytool 命令导入证书文件。每当EBS重建EC2实例时,安装的证书都会丢失,我必须再次传输证书文件并重新安装证书。
我认为 ebextensions 可以解决这个问题,但我无法理解使用它的确切方法。
请帮我指路。
首先您需要创建您想要的文件,然后将其放入 S3 存储桶中。我建议您对其进行加密,并且出于安全目的,该文件没有 public 权限。从那里,在您的 application root 中,您将在应用程序源根目录中创建一个 .ebextensions
文件夹。在那里,您将创建一个 .config
文件,根据需要命名。
此文件需要详细说明从何处获取您需要的证书以及将其放置在何处。 AWS 文档详细说明了如何 grab a file from S3 and put it somewhere. The instance profile it's talking about is described here。它基本上是一种允许您的实例与 S3 对话而无需将凭据存储在某个文件中的方法。您需要确保它至少对存储桶具有读取权限才能拉取文件。
完成所有设置后,beanstalk 应该在实例上拥有该文件。另一种选择是 generate a custom AMI 使用文件系统上已有的密钥。请注意它在文档中提到的性能注意事项。
我的应用程序部署在 AWS 上的 ElasticBeanStalk 上。它正在访问需要在实例上安装 SSL 证书的 API。每次实例重建时,我都必须手动 运行 keytool 命令导入证书文件。每当EBS重建EC2实例时,安装的证书都会丢失,我必须再次传输证书文件并重新安装证书。
我认为 ebextensions 可以解决这个问题,但我无法理解使用它的确切方法。
请帮我指路。
首先您需要创建您想要的文件,然后将其放入 S3 存储桶中。我建议您对其进行加密,并且出于安全目的,该文件没有 public 权限。从那里,在您的 application root 中,您将在应用程序源根目录中创建一个 .ebextensions
文件夹。在那里,您将创建一个 .config
文件,根据需要命名。
此文件需要详细说明从何处获取您需要的证书以及将其放置在何处。 AWS 文档详细说明了如何 grab a file from S3 and put it somewhere. The instance profile it's talking about is described here。它基本上是一种允许您的实例与 S3 对话而无需将凭据存储在某个文件中的方法。您需要确保它至少对存储桶具有读取权限才能拉取文件。
完成所有设置后,beanstalk 应该在实例上拥有该文件。另一种选择是 generate a custom AMI 使用文件系统上已有的密钥。请注意它在文档中提到的性能注意事项。