AWS Cloud Development Kitをためしてみる (Javascript)
AWS Cloud Development Kitをためしてみる (Javascript):
AWS Cloud Development Kitを試してみます。
https://github.com/awslabs/aws-cdk
https://awslabs.github.io/aws-cdk/
https://awslabs.github.io/aws-cdk/getting-started.html
https://awslabs.github.io/aws-cdk/reference.html
プロジェクトを作成する
依存関係の追加
AWS CDK Appの定義
クレデンシャル設定
デフォルトで実行するappを指定する
stackの確認
テンプレートの元となるスクリプトを記載する
jsからテンプレートに変換
デプロイする
投稿内容は私個人の意見であり、所属企業・部門見解を代表するものではありません。
AWS Cloud Development Kitを試してみます。
参考
https://github.com/awslabs/aws-cdkhttps://awslabs.github.io/aws-cdk/
https://awslabs.github.io/aws-cdk/getting-started.html
https://awslabs.github.io/aws-cdk/reference.html
Getting startedをベースに試してみる
$ npm install -g aws-cdk /Users/atsum/.nodebrew/node/v9.11.1/bin/cdk -> /Users/atsum/.nodebrew/node/v9.11.1/lib/node_modules/aws-cdk/bin/cdk + aws-cdk@0.18.1 added 265 packages in 30.324
$ cdk --version 0.18.1 (build 9f7af21)
mkdir hello-cdk cd hello-cdk git init npm init -y $ npm init -y Wrote to /Users/atsum/Work/cdk/hello-cdk/package.json: { "name": "hello-cdk", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [], "author": "", "license": "ISC" }
npm install @aws-cdk/cdk npm notice created a lockfile as package-lock.json. You should commit this file. npm WARN hello-cdk@1.0.0 No description npm WARN hello-cdk@1.0.0 No repository field. + @aws-cdk/cdk@0.18.1 added 10 packages in 3.275s
$ emacs index.js const cdk = require('@aws-cdk/cdk'); class MyStack extends cdk.Stack { constructor(parent, id, props) { super(parent, id, props); } } class MyApp extends cdk.App { constructor(argv) { super(argv); new MyStack(this, 'hello-cdk'); } } new MyApp().run();
$ aws configure AWS Access Key ID [****************XHSQ]: ************ AWS Secret Access Key [****************f4/2]: ************** Default region name [ap-northeast-1]: Default output format [None]:
$ emacs cdk.json { "app": "node index.js" }
$ cdk ls -l - name: hello-cdk environment: name: 793493288704/ap-northeast-1 account: "793493288704" region: ap-northeast-1
emacs index.js const cdk = require('@aws-cdk/cdk'); class MyStack extends cdk.Stack { constructor(parent, id, props) { super(parent, id, props); } } class MyApp extends cdk.App { constructor(argv) { super(argv); new MyStack(this, 'hello-cdk'); } } new MyApp().run();
$ cdk synth hello-cdk Resources: CDKMetadata: Type: AWS::CDK::Metadata Properties: Modules: "@aws-cdk/cdk=0.18.1,@aws-cdk/cx-api=0.18.1,hello-cdk=1.0.0"
$ cdk deploy hello-cdk: deploying... hello-cdk: creating CloudFormation changeset... 0/2 | 16:17:37 | CREATE_IN_PROGRESS | AWS::CloudFormation::Stack | hello-cdk User Initiated 0/2 | 16:17:42 | CREATE_IN_PROGRESS | AWS::CDK::Metadata | CDKMetadata 0/2 | 16:17:45 | CREATE_IN_PROGRESS | AWS::CDK::Metadata | CDKMetadata Resource creation Initiated 1/2 | 16:17:45 | CREATE_COMPLETE | AWS::CDK::Metadata | CDKMetadata 2/2 | 16:17:47 | CREATE_COMPLETE | AWS::CloudFormation::Stack | hello-cdk ✅ hello-cdk Stack ARN: arn:aws:cloudformation:ap-northeast-1:793493288704:stack/hello-cdk/ad103a90-ee26-11e8-a16d-0a5da605f772
S3バケットを作成
$ cat index.js const cdk = require('@aws-cdk/cdk'); const s3 = require('@aws-cdk/aws-s3'); class MyStack extends cdk.Stack { constructor(parent, id, props) { super(parent, id, props); new s3.Bucket(this, 'MyFirstBucket', { versioned: true }); } } class MyApp extends cdk.App { constructor(argv) { super(argv); new MyStack(this, 'hello-cdk'); } } new MyApp().run();
$ npm install @aws-cdk/aws-s3 npm WARN hello-cdk@1.0.0 No description npm WARN hello-cdk@1.0.0 No repository field. + @aws-cdk/aws-s3@0.18.1 added 6 packages in 3.993s
$ cdk synth hello-cdk Resources: MyFirstBucketB8884501: Type: AWS::S3::Bucket Properties: VersioningConfiguration: Status: Enabled Metadata: aws:cdk:path: hello-cdk/MyFirstBucket/Resource CDKMetadata: Type: AWS::CDK::Metadata Properties: Modules: "@aws-cdk/aws-codepipeline-api=0.18.1,@aws-cdk/aws-events=0.18.1,@aws-c\ dk/aws-iam=0.18.1,@aws-cdk/aws-kms=0.18.1,@aws-cdk/aws-s3=0.18.1,@aws-c\ dk/aws-s3-notifications=0.18.1,@aws-cdk/cdk=0.18.1,@aws-cdk/cx-api=0.18\ .1,hello-cdk=1.0.0"
コメント
コメントを投稿