让 ec2 像 Dockerfile 一样由 cdk exec 启动脚本

Let ec2 which is made cdk exec start script like Dockerfile

我用这段代码创建了 ec2 实例。

const ec2Instance = new ec2.Instance(this, "Instance", {
  vpc,
  instanceType: ec2.InstanceType.of(
    ec2.InstanceClass.T2,
    ec2.InstanceSize.MICRO
  ),
  machineImage: new ec2.AmazonLinuxImage({
    generation: ec2.AmazonLinuxGeneration.AMAZON_LINUX_2,
    cpuType: ec2.AmazonLinuxCpuType.X86_64,
  }),
  securityGroup: securityGroup,
  keyName: "default_aws"
});

ec2 制作正确,但 int 中没有应用(当然)

通常,在启动 ec2 之后,我会登录并执行一些命令,例如

sudo yum update 
sudo yum install wget
sudo yum install emacs 

我想在构建 ec 2 时默认执行这些命令。

对于Docker图像我可以把命令写在Dockerfile

有没有类似的事情可以做?

  1. 我检查了 ec2 aws UI 并找到了一些图像和模板,是否相关?

2)或者我可以在 cdk 中使用启动脚本之类的东西吗??

我想这可能是常见的需求,但是我还找不到好的信息。

我的最终目标是mysql用cdk安装ec2,但首先我需要了解ec2启动脚本

的基本思想

您可以将这些命令放在一个文件中,然后在脚本中读取该文件,如下所示:

const userDataScript = readFileSync('./lib/user-data.sh', 'utf8');
 // add user data to the EC2 instance
 ec2Instance.addUserData(userDataScript);