我是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
答案 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