让 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
有没有类似的事情可以做?
- 我检查了 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);
我用这段代码创建了 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
有没有类似的事情可以做?
- 我检查了 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);