📜  cdk init - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:40:02.813000             🧑  作者: Mango

初始化 Shell-Bash 项目使用 CDK

CDK(Cloud Development Kit)是一个开源框架,用于以编程方式定义基础架构资源(如云服务、函数等)并部署到云平台。

前提条件

在开始使用 CDK 初始化 Shell-Bash 项目之前,你需要满足以下条件:

  1. 安装 Node.js(v10.13.0或更高版本)
  2. 安装 AWS CLI,并完成配置与权限设置。
  3. 安装 CDK CLI(可通过 npm install -g aws-cdk 命令安装)
初始化项目

通过以下命令来初始化 Shell-Bash 项目:

cdk init -l shell-bash

这将创建一个新的 Shell-Bash 项目,并生成默认的项目结构。

项目结构

初始化的项目结构如下:

.
├── .gitignore             # Git 忽略文件配置
├── cdk.json               # CDK 配置文件
├── lib
│   ├── stack.ts           # CDK 栈定义
├── package-lock.json      # NPM 依赖版本锁定文件
├── package.json           # NPM 依赖与命令配置
└── README.md              # 项目说明文件

接下来的主要工作在于编辑 lib/stack.ts 文件,来定义 CDK 栈所需的基础架构资源。

编写栈定义

打开 lib/stack.ts 文件,在 class Stack extends cdk.Stack 类中编写代码,来定义基础架构资源。

这里是一个示例:

import * as cdk from 'aws-cdk-lib';
import * as s3 from 'aws-cdk-lib/aws-s3';
import { Construct } from 'constructs';

export class Stack extends cdk.Stack {
  constructor(scope: Construct, id: string, props?: cdk.StackProps) {
    super(scope, id, props);

    // 创建 S3 存储桶
    new s3.Bucket(this, 'MyBucket', {
      versioned: true,
      removalPolicy: cdk.RemovalPolicy.DESTROY,
    });
  }
}

这个示例中定义了一个 S3 存储桶,并将其作为栈中的资源。

部署项目

在部署之前,你可以运行 cdk synth 命令来生成一个 CloudFormation 模板,以查看 CDK 定义的基础架构资源。

cdk synth

使用以下命令来部署项目:

cdk deploy

CDK 将会在你的 AWS 账号下创建并配置所需的基础架构资源。

清理项目

如果你不再需要该项目,可以使用以下命令进行清理:

cdk destroy

上述命令将会删除所创建的基础架构资源,并释放相应的代价。

欢迎你进一步探索 CDK,用于创建更复杂的基础架构和应用程序!