Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.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 s3 AWS::CloudFormation::Init无法从S3 Bucket创建文件,尽管通过AWS进行检索;s3 cp s3“;成功_Amazon S3_Aws Cloudformation Custom Resource - Fatal编程技术网

Amazon s3 AWS::CloudFormation::Init无法从S3 Bucket创建文件,尽管通过AWS进行检索;s3 cp s3“;成功

Amazon s3 AWS::CloudFormation::Init无法从S3 Bucket创建文件,尽管通过AWS进行检索;s3 cp s3“;成功,amazon-s3,aws-cloudformation-custom-resource,Amazon S3,Aws Cloudformation Custom Resource,在EC2实例初始化期间,我试图从S3存储桶中检索一个文件。 没有失败(语法)。但是缺少了一些东西。 初始_setup.sh文件未在根目录中创建 有那么多的文章都说明了相同的情况(或者至少根据我作为新手的拙劣理解) 初始化实例后,我使用aws cp s3://mybucket/initial_setup.sh进行了尝试 它可以工作,但我必须检查一下dos2unix 另一种方法是将其放入UserData中。但这也适用于命令。(^) 有些人也有几乎相同的情况,但有人提到: “要使任何命令正常工作,我们

在EC2实例初始化期间,我试图从S3存储桶中检索一个文件。 没有失败(语法)。但是缺少了一些东西。 初始_setup.sh文件未在根目录中创建 有那么多的文章都说明了相同的情况(或者至少根据我作为新手的拙劣理解)

初始化实例后,我使用aws cp s3://mybucket/initial_setup.sh进行了尝试 它可以工作,但我必须检查一下dos2unix

另一种方法是将其放入UserData中。但这也适用于命令。(^)

有些人也有几乎相同的情况,但有人提到:

“要使任何命令正常工作,我们需要在Userdata中提供一个shell环境,没有它就无法创建任何文件”

我在安全组后面加了最后一行

   UserData:
    Fn::Base64: !Sub |
     #!/bin/bash 
     echo "my test file" > /root/testfile.txt
因此,/root/testfile.txt被创建,其中包含指定的文本


但是bucket中所需的文件没有显示。

我有一个错误的想法,即只要声明元数据内容,它也会被执行。但现在我已经完成了一半。 这是UserData下缺少的部分

UserData:
 Fn::Base64:  !Sub |
  cd /tmp
  wget https://s3.amazonaws.com/cloudformation-examples/aws-cfn-bootstrap-latest.tar.gz
  gzip -df aws-cfn-bootstrap-latest.tar.gz
  tar -xvf aws-cfn-bootstrap-latest.tar
  chmod -R 755 /tmp/aws-cfn-bootstrap-1.4
  pip install --upgrade pip
  pip install --upgrade setuptools
  pip install awscli --ignore-installed six &> /dev/null
  export PYTHONPATH=/tmp/aws-cfn-bootstrap-1.4
  /tmp/aws-cfn-bootstrap-1.4/bin/cfn-init -v  --stack ${AWS::StackName} --resource EC2 --region ${AWS::Region}
事实上,这是最后一行,使差异。之前的行用于设置配置,因为使用的映像是非aws映像。因此,它并没有带来开箱即用的功能

UserData:
 Fn::Base64:  !Sub |
  cd /tmp
  wget https://s3.amazonaws.com/cloudformation-examples/aws-cfn-bootstrap-latest.tar.gz
  gzip -df aws-cfn-bootstrap-latest.tar.gz
  tar -xvf aws-cfn-bootstrap-latest.tar
  chmod -R 755 /tmp/aws-cfn-bootstrap-1.4
  pip install --upgrade pip
  pip install --upgrade setuptools
  pip install awscli --ignore-installed six &> /dev/null
  export PYTHONPATH=/tmp/aws-cfn-bootstrap-1.4
  /tmp/aws-cfn-bootstrap-1.4/bin/cfn-init -v  --stack ${AWS::StackName} --resource EC2 --region ${AWS::Region}