简体   繁体   English

绕过 16KB EC2 user_data 限制

[英]Bypassing 16KB EC2 user_data limitation

Is there a way to bypass the 16KB EC2 user_data limitation without any custom AMI?有没有办法在没有任何自定义 AMI 的情况下绕过 16KB EC2 user_data 限制? I have tried below examples in Terraform without any success.我在 Terraform 中尝试了以下示例,但没有成功。 instance-user-data.ps1.tmpl is a powershell script of about 20KB. instance-user-data.ps1.tmpl 是一个 powershell 脚本,大约 20KB。

Below script using base64encode complains about going over 16KB下面的脚本使用base64encode抱怨超过 16KB

resource "aws_instance" "instance" {
  ...

  user_data_base64 = "${base64encode(templatefile("${path.module}/instance-user-data.ps1.tmpl", {
    admin_username                = local.admin_username
    admin_password                = random_password.admin_password.result
  }))}"
}

Tried Gzip with Base64 encode as well, but script does not set any user data at all.也尝试使用 Base64 编码的 Gzip,但脚本根本不设置任何用户数据。

resource "aws_instance" "instance" {
  ...

  user_data_base64 = "${base64gzip(templatefile("${path.module}/instance-user-data.ps1.tmpl", {
    admin_username                = local.admin_username
    admin_password                = random_password.admin_password.result
  }))}"
}

The way I would get around this is to push your scripts/files to S3, which can be done with the Terraform aws_s3_object resource, and simply have your user_data script download the real startup script from S3 and run it.我解决这个问题的方法是将您的脚本/文件推送到 S3,这可以使用 Terraform aws_s3_object资源来完成,并且只需让您的 user_data 脚本从 S3 下载真正的启动脚本并运行它。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 使用 terraform 创建 ec2 实例时生成包含“IP 地址”的用户数据 - generate user_data including "IP Address" while creating ec2 instance using terraform 我可以将变量传递给使用 terraform 和 user_data 创建的 AWS EC2 实例吗? 或者更新一个已经创建的资源 - Can i pass variables to AWS EC2 instances created with terraform and user_data? Or update an already created resource 在使用 terraform 云 [aws-provider] 启动 ec2 实例时,既不能执行 user_data 脚本,也不能执行带有连接块的 remote-exec - Can't execute neither user_data script, nor remote-exec with connection block while launching ec2 instance with terraform cloud [aws-provider] Terraform EC2 用户数据更改未更换 EC2 - Terraform EC2 User Data Changes Not Replacing The EC2 Windows EC2 用户数据未执行 - Windows EC2 User Data Not Executing 使用 Terraform user_data 和 Windows Powershell - Using Terraform user_data with Windows Powershell Terraform 用户数据 output 在 terraform output - Terraform user_data output in terraform output EC2 用户数据无法通过 python boto 命令工作 - EC2 User Data not working via python boto command Aws ec2 用户数据脚本在启动时不起作用 - Aws ec2 user data script not working on start up 启动 EC2 实例时用户数据不起作用 - User-data not working when starting EC2 instance
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM