WordPressを構築するCDK

Backlogプロジェクトから直でリリースできるやつ

Requirement

  • aws-cdk 1.36.0

How To Use

事前作業

  • ドメインを取得しておく
    • ALBのDNS名で良ければいらない
  • ACMが作成されていること
    • HTTPで良ければいらない
  • SSMパラメータストアにBacklogユーザーのID, PWを用意しておくこと (Gitユーザー)
    • el_backlog_password
    • el_backlog_user
  • CDK用のIAMユーザーを準備しておくこと
    • チュートリアルにある AdministratorAccess は怒られるんでやめとくこと。。
    • インラインポリシーにしないとアタッチするポリシーの数で怒られるんで気をつける
    • とりあえず以下のポリシーで動くことは確認済み
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "iam:*",
                "secretsmanager:*",
                "rds:*",
                "apigateway:*",
                "s3:*",
                "ssm:*",
                "lambda:*",
                "codedeploy:*",
                "codepipeline:*",
                "ec2:*",
                "cloudformation:*",
                "elasticloadbalancing:*"
            ],
            "Resource": "*"
        }
    ]
}

ビルド (TypeScript)

  1. npm install で必要なパッケージをインストールしておく
  2. npm run build でコンパイルする

デプロイ

  1. cdk.sample.json をコピーして cdk.json を作成する
  2. 必要なパラメータを追記していく
  3. cdk bootstrap (既にCDKツールがデプロイされていれば不要)
  4. cdk deploy "*" で全部インストール
  5. 不要なStackがあるなら引数で必要なやつだけ指定してもOK

事後作業

  1. 作成したRDSのパスワードを設定する (コンソールでやる)

Welcome to your CDK TypeScript project!

This is a blank project for TypeScript development with CDK.

The cdk.json file tells the CDK Toolkit how to execute your app.

Useful commands

  • npm run build compile typescript to js
  • npm run watch watch for changes and compile
  • npm run test perform the jest unit tests
  • cdk deploy deploy this stack to your default AWS account/region
  • cdk diff compare deployed stack with current state
  • cdk synth emits the synthesized CloudFormation template