为用户数据拉git bash脚本

时间:2017-10-10 21:22:29

标签: git bash amazon-ec2 aws-cli

我是GIT的新手,有没有办法拉出一个GIT脚本来保存用户数据以通过CLI配置AWS EC2实例?

aws ec2 run-instances --image-id ami-cd0f5cb6 --count 1 --instance-type t2.micro 
--key-name ciServer --subnet-id subnet-2f31275b --associate-public-ip-address 
--security-group-ids sg-762a5006 --block-device-mappings '[{"DeviceName":"/dev/sda1","Ebs":{"VolumeSize":20}}]' 
--tag-specifications 'ResourceType=instance,Tags=[{Key=Name,Value=My New Server}]' 
--user-data me@git.com/myUserDatarepo.git

1 个答案:

答案 0 :(得分:0)

创建一个安装git的bash脚本,然后将repo下载到您需要的地方。将此脚本设为userdata脚本。您必须获取git repo的凭据到userdata脚本/服务器。您可以install the AWS cli从具有凭据的受保护s3存储桶中提取或使用consul or Hashicorp vault之类的内容来提取秘密。我通常使用可以访问git repo的ssh key file,只有IAM instance role可供您配置的服务器访问s3存储桶,并且encrypted with Server side encryption.

其他问题也讨论了这个问题

Is it secure to store EC2 User-Data shell scripts in a private S3 bucket?

How can I (securely) download a private S3 asset onto a new EC2 instance with cloudinit?

AWS System Manager参数存储的新服务

https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-about.html