cdk (2) - initialize cdk

요매·2023년 8월 1일

toy project

목록 보기
7/7

cdk 준비하기

패키지나 모듈 안에 cdk 를 사용할 폴더를 생성해주세요.
폴더 안에 어떠한 파일도 있으면 안됩니다.
공식 문서에서는 이렇게 알려주고 있어요.

> mkdir hello-cdk
> cd hello-cdk

근데 이정도는 그냥 다 아시죠...? 그냥 프로젝트 내에 cdk 폴더 하나 만드시고 그 폴더로 이동하신 다음에 터미널 여셔서 그 폴더로 이동하시거나,
인텔리제이에서 Open in > Terminal 하시면 됩니다.


cdk init

프로젝트 생성 하시고
제가 생각하는 cdk의 장점 중 하나는 코드로 버전관리입니다. git init 도 한번 하시구요.

이제 cdk init 하겠습니다.

> cdk init --language typescript

저는 typescript를 이용할 계획이라서 typescript로 초기화를 했습니다.

저는 프로젝트 내에 cdk 라는 빈 모듈을 만들었고,
그 폴더에서 위의 명령어를 실행했습니다.

그러면 설치를 뭔가 막 하면서 저와 같은 패키지 형태가 나오셔야 합니다.

bin > cdk.ts

#!/usr/bin/env node
import 'source-map-support/register';
import * as cdk from 'aws-cdk-lib';
import { CdkStack } from '../lib/cdk-stack';

const app = new cdk.App();
new CdkStack(app, 'CdkStack', {
  /* If you don't specify 'env', this stack will be environment-agnostic.
   * Account/Region-dependent features and context lookups will not work,
   * but a single synthesized template can be deployed anywhere. */

  /* Uncomment the next line to specialize this stack for the AWS Account
   * and Region that are implied by the current CLI configuration. */
  // env: { account: process.env.CDK_DEFAULT_ACCOUNT, region: process.env.CDK_DEFAULT_REGION },

  /* Uncomment the next line if you know exactly what Account and Region you
   * want to deploy the stack to. */
  // env: { account: '123456789012', region: 'us-east-1' },

  /* For more information, see https://docs.aws.amazon.com/cdk/latest/guide/environments.html */
});

기본 파일 내용입니다.
여기에는 저희 aws environment 정보가 들어가게 되고요,
stack을 여러개 만든다면 여기에서 모든 stack을 생성해야 합니다.
물론 다른 방법도 있지만, 저는 이 파일에다가 모든 스택을 넣을 예정이에요.

lib > cdk-stack.ts

실제 stack 을 작성한 stack 스크립트 파일들을 모아둔 곳이에요.
여기에 각각 stack을 작성할 예정입니다.


이제 cdk를 사용해서 aws의 인프라를 내가 열심히 건드려 볼 준비가 되셨습니다.

빠르게 ec2 까지 생성하고, keycloak 설치하고, saml2aws 적용하고 코딩해볼게요.

다음 포스트에서는 VPC 부터 차례대로 생성해보겠습니다.

profile
머리속에서 정리가 안돼...

0개의 댓글