Deploy CDK to Personal AWS Account#

  1. Get a personal AWS account set up by submitting a Service Desk ticket:

    1. Use the request type “Create AWS Account” under the “Cloud” section.

    2. For “Project/Program Name”, use IMAP

    3. For “Speedtype”, use the speedtype for the “IMAP SOC SDC SW and Sys Devl” project

    4. For “Root Group Email Address to Associate with Account”, use your LASP email address

    5. For “Lead Technical Contact Name”, use Greg Lucas

  2. Once the account is set up, log in to AWS and create a user in IAM.

    1. You’ll likely want to give your user the AdministratorAccess policy.

  3. Next, go to Security Credentials for your new user and create an access key. This will be needed in step 6, so save the access key/secret access key.

  4. On your local system, add a new profile to ~/.aws/config for your personal account. This can be named anything you want, we’ll call it my_profile for this example.

  5. In your local command line, type aws configure to set up your credentials.

  6. Paste your IAM access key and secret access key from step 3.

  7. In the IMAP sds-data-manager repository, add a new context to cdk.json. We’ll call it my_context for this example. For example:

    "backup": {
        "account": "012345678901",
        "source_account": "dev"
    },
    "my_context": {
        "account":"234567890123",
        "region":"us-west-2"
    },
    "dev": {
        "account": "111122223333",
        "domain_name": "example.com",
        "region": "us-west-2"
    },
    

Do not put a domain field for your personal context

  1. In your local terminal, go to the top of the sds-data-manager repository and run the following:

    1. cdk bootstrap --profile my_profile --context account_name=my_context

    2. cdk synth --profile my_profile --context account_name=my_context

    3. cdk deploy --profile my_profile --context account_name=my_context

      • Add --require-approval never to the end of step 9c if you don’t want to be prompted for each stack.

      • Note: Not sure if this happens to anyone else, but when the deployment gets this part of the deployment, there’s no prompt and it hangs there forever. However, if I hit Enter, a y/n prompt appears asking if I want to deploy. So if it gets stuck at that point, hit Enter, then you can select y. Terminal output example:

        0af60606a7e1: Pushed
        03f331fd9b29: Pushed
        03f331fd9b29: Pushed
        c3418b25bdeef0d97b84f41688fa22e9d1c8bdf0927d3774d77588d87763a2f9: digest: sha256:83e8fd9ae28cee020091b2caa4faa421a400505e4ddfdb29fd693dec8b2a7a1d size: 2628
        29143fef993fc62aeb3447a224679eafa9e60eaba00aa3bfaa60f0de9f9815bb: digest: sha256:e3c8f122ade7a0c1f598b3c7bbc08488c694aa9b7279e1367227ed0d0fba6c33 size: 2628
        
  2. Before committing any changes, make sure to revert your cdk.json file to its original state.