aws cdk环境搭建使用vscode+docker插件

希望测试coding但是又不想配置cdk环境,本文使用vscode+dockers的方式在ec2上快速启动cdk开发环境,便于复用和快速测试

启动amazonlinux容器运行awscli命令可以看到,容器能够从宿主机上获取元数据信息,即可以直接使用ec2的凭证

bash-4.2# aws sts get-caller-identity
{
    "UserId": "AROAQRIBWRJKKIG7SFQ6E:i-017ff62b060a71f0a",
    "Account": "xxxxxxx",
    "Arn": "arn:aws-cn:sts::xxxxxxxxx:assumed-role/MyEc2AdministratorAccess/i-017ff62b060a71f0a"
}

拉取镜像,关于node的不同版本

$ docker pull node:16.18.0
$ docker images
REPOSITORY    TAG       IMAGE ID       CREATED      SIZE
amazonlinux   latest    24608685b402   2 days ago   164MB
node          16.18.0   147af8719073   9 days ago   911MB

查看node镜像的入口,除了设定node环境外,最后的命令是exec "$@",我们可以自定义cmd,由于要持续运行,可以设置为sleep

# cat /usr/local/bin/docker-entrypoint.sh
#!/bin/sh
set -e

# Run command with node if the first argument contains a "-" or is not a system command. The last
# part inside the "{}" is a workaround for the following bug in ash/dash:
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=874264
if [ "${1#-}" != "${1}" ] || [ -z "$(command -v "${1}")" ] || { [ -f "${1}" ] && ! [ -x "${1}" ]; }; then
  set -- node "$@"
fi

exec "$@"

将host的codeing目录外挂在hellocdk目录下,注入启动脚本并sleep infinity

#!/bin/bash
set -ex
export CONTAINER_CDK_HOME=hellocdk
export INIT_CDK_HOME=/home/ec2-user/init.sh
cat > $INIT_CDK_HOME << EOF
#!/bin/bash
npm i -g cdk
mkdir $CONTAINER_CDK_HOME && cd $CONTAINER_CDK_HOME
cdk --version
cdk init --language javascript
sleep infinity
EOF
sudo docker run --detach \
  --name hellocdk \
  --user root \
  --restart always \
  -v $INIT_CDK_HOME:/init.sh \
  node:16.18.0 \
  bash "/init.sh"

当然也可以写成dockerfile打包为image
以上方法虽然能够创建cdk项目,但是只能使用nodejs,不过cdk本身是使用jsii进行异构部分的衔接,所以个人觉得最好还是用js

使用vscode attach

上面的环境已经搭建完毕,之后当然可以通过以下的方式进入容器中进行编辑。但是我们可以使用vscode本身的attach container功能直接在容器内部开发

docker exec -it xxxxx bash

安装docker插件和microsoft的remote系列插件,然后直接attach到容器中。vscode会在容器中安装类似agent的东西
在这里插入图片描述
进入创建好的cdk项目目录,创建简单的测试
在这里插入图片描述
执行部署成功
在这里插入图片描述
查看堆栈
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Windows上安装AWS CDK,您可以按照以下步骤进行操作: 1. 首先,确保您的计算机上已安装Node.js和npm。您可以从Node.js官方网站(https://nodejs.org/)下载并安装最新版本。 2. 打开命令提示符或PowerShell,并运行以下命令以确认Node.js和npm已成功安装,并检查它们的版本: ``` node -v npm -v ``` 3. 接下来,您可以使用npm全局安装AWS CDK。运行以下命令: ``` npm install -g aws-cdk ``` 4. 安装完成后,您可以验证CDK是否正确安装。运行以下命令以显示CDK的版本: ``` cdk --version ``` 5. 现在,您可以开始使用AWS CDK了。首先,您需要为CDK项目创建一个新的目录,并在该目录中初始化CDK应用程序。运行以下命令: ``` mkdir my-cdk-project cd my-cdk-project cdk init app --language python ``` 6. 这将创建一个名为my-cdk-project的新目录,并在其中初始化一个CDK应用程序。根据需要选择Python作为语言。 7. 初始化完成后,您可以切换到my-cdk-project目录,并使用您喜欢的集成开发环境(IDE)打开该目录。 8. 在您的IDE中,您可以开始编辑cdk文件夹中的Python代码,以构建和部署您的CDK堆栈。 请注意,上述步骤假设您已经具有AWS账号,并已正确配置AWS CLI以便访问您的AWS资源。如果您还没有AWS账号,请先创建一个,并按照AWS文档中的说明配置AWS CLI。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [aws cdk(环境配置备份)](https://blog.csdn.net/q1975420992/article/details/120813625)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值