diff --git a/docs/patterns/images/resilience-backup-restore-aws.png b/docs/patterns/images/resilience-backup-restore-aws.png new file mode 100644 index 00000000..1eb1833c Binary files /dev/null and b/docs/patterns/images/resilience-backup-restore-aws.png differ diff --git a/lib/resilience-backup-restore-aws-construct/backupstack.ts b/lib/resilience-backup-restore-aws-construct/backupstack.ts index 12c5a205..154d4869 100644 --- a/lib/resilience-backup-restore-aws-construct/backupstack.ts +++ b/lib/resilience-backup-restore-aws-construct/backupstack.ts @@ -1,23 +1,20 @@ import * as cdk from 'aws-cdk-lib'; import { Construct } from 'constructs'; -import { NestedStack, Stack, NestedStackProps } from 'aws-cdk-lib'; +//import { NestedStack, Stack, NestedStackProps } from 'aws-cdk-lib'; import 'source-map-support/register'; -import * as eks from 'aws-cdk-lib/aws-eks'; +//import * as eks from 'aws-cdk-lib/aws-eks'; import * as blueprints from '@aws-quickstart/eks-blueprints'; -import * as ec2 from 'aws-cdk-lib/aws-ec2'; +//import * as ec2 from 'aws-cdk-lib/aws-ec2'; import * as backup from 'aws-cdk-lib/aws-backup'; import { Duration } from 'aws-cdk-lib'; import * as kms from 'aws-cdk-lib/aws-kms'; -import * as iam from 'aws-cdk-lib/aws-iam'; +//import * as iam from 'aws-cdk-lib/aws-iam'; import * as events from 'aws-cdk-lib/aws-events'; import * as utils from "@aws-quickstart/eks-blueprints/dist/utils"; -import { drstack } from './drstack' +//import { drstack } from './drstack'; export interface backupStackProps extends cdk.StackProps { - /** - * Arn of the KMS Key on the Primary region used to create ReplicaKey - */ primaryKeyArn: string, drbackupVault: backup.IBackupVault //drbackupVault: { "backupVaultArn": string, backupVaultName: string, env: {"account": string , region: string}} @@ -27,12 +24,10 @@ export interface backupStackProps extends cdk.StackProps { export class backupstack extends cdk.Stack { constructor(scope: Construct, id: string, props: backupStackProps ) { super(scope, id, props ); - // Create a AWS Backup Vault in Primary Region - //const app = new cdk.App(); const account = process.env.CDK_DEFAULT_ACCOUNT!; const region = blueprints.utils.valueFromContext(scope, "resilience-backup-restore-aws.primary.region", undefined); - const drregion = blueprints.utils.valueFromContext(scope, "resilience-backup-restore-aws.dr.region", undefined); - const kversion = blueprints.utils.valueFromContext(scope, "resilience-backup-restore-aws.kubernetes.version", undefined); + //const drregion = blueprints.utils.valueFromContext(scope, "resilience-backup-restore-aws.dr.region", undefined); + //const kversion = blueprints.utils.valueFromContext(scope, "resilience-backup-restore-aws.kubernetes.version", undefined); const efsfsname = blueprints.utils.valueFromContext(scope, "resilience-backup-restore-aws.efs.fsname", "efs-file-system"); const efsfstag = 'eks-blueprint/' + efsfsname const vaultname = blueprints.utils.valueFromContext(scope, "resilience-backup-restore-aws.backup.vaultname", "EKSBackupVault"); diff --git a/lib/resilience-backup-restore-aws-construct/drstack.ts b/lib/resilience-backup-restore-aws-construct/drstack.ts index 25df3f75..967a1b08 100644 --- a/lib/resilience-backup-restore-aws-construct/drstack.ts +++ b/lib/resilience-backup-restore-aws-construct/drstack.ts @@ -1,17 +1,17 @@ import * as cdk from 'aws-cdk-lib'; import { Construct } from 'constructs'; -import { NestedStack, Stack, NestedStackProps } from 'aws-cdk-lib'; +//import { NestedStack, Stack, NestedStackProps } from 'aws-cdk-lib'; import 'source-map-support/register'; -import * as eks from 'aws-cdk-lib/aws-eks'; +//import * as eks from 'aws-cdk-lib/aws-eks'; import * as blueprints from '@aws-quickstart/eks-blueprints'; -import * as ec2 from 'aws-cdk-lib/aws-ec2'; +//import * as ec2 from 'aws-cdk-lib/aws-ec2'; import * as backup from 'aws-cdk-lib/aws-backup'; -import { Duration } from 'aws-cdk-lib'; +//import { Duration } from 'aws-cdk-lib'; import * as kms from 'aws-cdk-lib/aws-kms'; import * as iam from 'aws-cdk-lib/aws-iam'; -import * as events from 'aws-cdk-lib/aws-events'; -import * as utils from "@aws-quickstart/eks-blueprints/dist/utils"; -import { backupstack,backupStackProps } from './backupstack'; +//import * as events from 'aws-cdk-lib/aws-events'; +//import * as utils from "@aws-quickstart/eks-blueprints/dist/utils"; +import { backupstack } from './backupstack'; /** * Defines properties for the AMG IAM setup. @@ -31,9 +31,9 @@ export class drstack extends cdk.Stack { const account = process.env.CDK_DEFAULT_ACCOUNT!; const region = blueprints.utils.valueFromContext(scope, "resilience-backup-restore-aws.primary.region", undefined); const drregion = blueprints.utils.valueFromContext(scope, "resilience-backup-restore-aws.dr.region", undefined); - const kversion = blueprints.utils.valueFromContext(scope, "resilience-backup-restore-aws.kubernetes.version", undefined); + //const kversion = blueprints.utils.valueFromContext(scope, "resilience-backup-restore-aws.kubernetes.version", undefined); const efsfsname = blueprints.utils.valueFromContext(scope, "resilience-backup-restore-aws.efs.fsname", "efs-file-system"); - const efsfstag = 'eks-blueprint/' + efsfsname + //const efsfstag = 'eks-blueprint/' + efsfsname const vaultname = blueprints.utils.valueFromContext(scope, "resilience-backup-restore-aws.backup.vaultname", "EKSBackupVault"); //const keyPolicy = props.keyPolicy; const primaryKeyArn = props.primaryKeyArn; diff --git a/lib/resilience-backup-restore-aws-construct/index.ts b/lib/resilience-backup-restore-aws-construct/index.ts index fd35ed73..a36ca60b 100644 --- a/lib/resilience-backup-restore-aws-construct/index.ts +++ b/lib/resilience-backup-restore-aws-construct/index.ts @@ -4,13 +4,13 @@ import 'source-map-support/register'; import * as eks from 'aws-cdk-lib/aws-eks'; import * as blueprints from '@aws-quickstart/eks-blueprints'; import * as ec2 from 'aws-cdk-lib/aws-ec2'; -import * as backup from 'aws-cdk-lib/aws-backup'; -import { Duration } from 'aws-cdk-lib'; +//import * as backup from 'aws-cdk-lib/aws-backup'; +//import { Duration } from 'aws-cdk-lib'; import * as kms from 'aws-cdk-lib/aws-kms'; import * as iam from 'aws-cdk-lib/aws-iam'; -import * as events from 'aws-cdk-lib/aws-events'; -import * as utils from "@aws-quickstart/eks-blueprints/dist/utils"; -import { drstack, drstackProps } from './drstack'; +//import * as events from 'aws-cdk-lib/aws-events'; +//import * as utils from "@aws-quickstart/eks-blueprints/dist/utils"; +import { drstack } from './drstack'; export default class ResilienceBRAWSConstruct {