AWS ECS + CloudMap + Lambda workshop (一)

第一篇:创建一个由ECS托管的nodejs服务
一)创建拥有Administrator Access的IAM User, 在权限设置时,直接给予AdministratorAccess

二)ECR服务注册代码仓库

输入名称,完成

Copy 镜像库的URI
XXXXXXXX.dkr.ecr.cn-northwest-1.amazonaws.com.cn/nodejs-test-app

使用docker命令上传代码:
aws ecr get-login-password --region cn-northwest-1 | docker login --username AWS --password-stdin [账号ID].dkr.ecr.cn-northwest-1.amazonaws.com.cn/nodejs-test-app
提示login succeeded

注意:windows系统,cmd界面必须用管理员身份运行,docker desktop也需要用管理员身份运行

三)新建nodejs项目并推送
参见之前的帖子,新建一个nodejs项目,本地build
https://www.cnblogs.com/Andy1982/p/17893230.html

推送到AWS ECR
docker tag [镜像ID] 350200466659.dkr.ecr.cn-northwest-1.amazonaws.com.cn/nodejs-test-app
docker push [账号ID].dkr.ecr.cn-northwest-1.amazonaws.com.cn/nodejs-test-app
注意:这里我犯了个错误,AWS有多个账号(dev、stg),之前用stg做的aws configure,写这篇文章的时候用的dev环境。导致docker push一直失败
推送成功

代码仓库ECR看到以下镜像

四)建立ECS服务
3.1 创建ecs cluster,选择fargate

等待几分钟

3.2 创建task definition(任务定义)

3.3 为集群添加task
回到ECS集群 -> 任务,“运行新任务”,选择上一步创建的任务定义。为了测试方便,选择开启public ip

待任务启动后,通过public ip查看

加上8080端口

参考
https://ecsworkshop.com/introduction/
https://github.com/aws-samples/amazon-ecs-demo-with-node-express
https://towardsaws.com/deploying-a-nodejs-app-on-aws-elastic-container-service-549c340b8614

https://docs.amazonaws.cn/AmazonECR/latest/userguide/getting-started-cli.html

posted @ 2024-01-24 18:11  老胡Andy  阅读(23)  评论(0编辑  收藏  举报