【问题标题】:Termination Reason: Client.InternalError: Client error on launch终止原因:Client.InternalError:启动时出现客户端错误
【发布时间】:2020-11-24 14:03:47
【问题描述】:

请帮忙

如何确保 EC2 使用自定义 KMS 密钥;我们正在使用 terraform 部署 EC2 实例,每次在自动扩展组中启动 EC2 实例时,它都会崩溃并出现以下错误。似乎 EC2 实例无法访问 KMS 密钥

错误: 终止原因:Client.InternalError: Client error on launch

resource "aws_autoscaling_group" "autoscaling-group" {
  name                 = var.name
  availability_zones   = var.availability_zones
  min_size             = var.min_size
  desired_capacity     = var.desired_capacity
  max_size             = var.max_size
  health_check_type    = "EC2"
  launch_configuration = aws_launch_configuration.launch_configuration.name
  vpc_zone_identifier  = local.subnet_id
  termination_policies = ["OldestInstance"]
}

resource "aws_launch_configuration" "launch_configuration" {
  name                        = var.name
  image_id                    = var.ami
  instance_type               = var.instance_type
  iam_instance_profile        = var.iam_instance_profile_name
  security_groups             = [aws_security_group.security_group.id]
  associate_public_ip_address = true
}

resource "aws_autoscaling_policy" "autoscaling-policy" {
  name                      = var.name
  policy_type               = "TargetTrackingScaling"
  estimated_instance_warmup = "90"
  adjustment_type           = "ChangeInCapacity"
  autoscaling_group_name    = aws_autoscaling_group.autoscaling-group.name
}

-- 谢谢

【问题讨论】:

  • 配置文件 iam_instance_profile_name 中的实例角色应该对您的密钥具有 KMS 权限。

标签: amazon-ec2 terraform terraform-provider-aws


【解决方案1】:

谢谢大家的支持,我已经解决了;问题在于 ec2 自动扩展服务的 kms 密钥授权 我们使用了下面的模块,问题得到了解决

https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/kms_grant

resource "aws_kms_grant" "a" {
  name              = "my-grant"
  key_id            = aws_kms_key.a.key_id
  grantee_principal = aws_iam_role.a.arn
  operations        = ["Encrypt", "Decrypt", "GenerateDataKey"]

}

【讨论】:

    【解决方案2】:

    您可以使用TF_LOG=DEBUG 执行计划,以获取有关缺失内容的更多详细信息。您主要需要Service-Linked role 才能通过权限问题

    【讨论】:

    • 谢谢,我们可以看到 terraform 正在等待 EC2 恢复健康 aws_autoscaling_group.autoscaling-group:仍在创建... [6m40s elapsed] aws_autoscaling_group.autoscaling-group:仍在创建... [6m50s经过]
    猜你喜欢
    • 2016-06-02
    • 2015-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-25
    • 2019-01-29
    • 2019-11-04
    相关资源
    最近更新 更多