Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services EC2用户数据脚本未将`user data.log`输出重定向到控制台 描述_Amazon Web Services_Amazon Ec2_User Data - Fatal编程技术网

Amazon web services EC2用户数据脚本未将`user data.log`输出重定向到控制台 描述

Amazon web services EC2用户数据脚本未将`user data.log`输出重定向到控制台 描述,amazon-web-services,amazon-ec2,user-data,Amazon Web Services,Amazon Ec2,User Data,考虑到这一点,应该可以将exec>>(tee/var/log/user data.log | logger-t user data-s2>/dev/console)2>&1添加到EC2初始化时运行的用户数据脚本中 运行aws ec2——region eu-west-1 get console output——实例id i-| grep“user data”(或搜索应存在的其他模式)时,在ec2初始化后找不到任何模式 目标 从这个初始化脚本读取结果和调试信息,而不需要SSH到ec2实例中,并轮询日

考虑到这一点,应该可以将
exec>>(tee/var/log/user data.log | logger-t user data-s2>/dev/console)2>&1
添加到EC2初始化时运行的用户数据脚本中

运行
aws ec2——region eu-west-1 get console output——实例id i-| grep“user data”
(或搜索应存在的其他模式)时,在ec2初始化后找不到任何模式

目标 从这个初始化脚本读取结果和调试信息,而不需要SSH到ec2实例中,并轮询日志以获取shutdown语句。使用实例关闭作为“完成”状态可以大大简化此存储库的部署过程

问题: 这个特殊的设置不正确,因此我们无法从
aws ec2 get console output
命令中获取日志

备选答案:从EC2实例检索日志的更好方法是什么

用户数据脚本
这里的核心问题是,我们对实例的初始化产生了太多的控制台输出

74295 # > 64 KBs
这是在打一个电话

默认情况下,控制台输出返回在实例转换状态(启动、停止、重新启动或终止)后不久发布的缓冲信息。此信息在最近发布后至少一小时内可用。只有最新的64 KB控制台输出可用

我们将使用的解决方案解决这个问题,以启用SSM并登录到解析日志输出中

resource "aws_instance" "ec2_provisioner" {
  count                                = var.enabled ? 1 : 0
  ami                                  = data.aws_ami.ec2_provisioner.id
  iam_instance_profile                 = var.iam_instance_profile
  instance_initiated_shutdown_behavior = "terminate"
  instance_type                        = var.instance_type
  root_block_device {
    volume_type           = "gp2"
    volume_size           = "16"
    delete_on_termination = "true"
  }
  subnet_id = var.subnet_id
  tags = merge(
    {
      "es:global:component-name" = "${var.component_name}-ec2-provisioner",
      "Name"                     = var.name
    },
    jsondecode(var.additional_tags)
  )
  user_data = templatefile(
    "${path.module}/user_data.tpl",
    {
      BASH_SCRIPT = var.bash_script,
      PACKAGES    = join(",", var.packages)
    }
  )
  volume_tags = {
    "Name" = var.name
  }
  vpc_security_group_ids = [var.security_group_id]
}
74295 # > 64 KBs