Skip to content

Commit

Permalink
update monitoring rds props
Browse files Browse the repository at this point in the history
  • Loading branch information
williamputraintan committed Jan 29, 2024
1 parent 04d7f93 commit 824b22d
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 5 deletions.
9 changes: 8 additions & 1 deletion config/constants.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { OrcaBusStatefulConfig } from '../lib/workload/orcabus-stateful-stack';
import { AuroraPostgresEngineVersion } from 'aws-cdk-lib/aws-rds';
import { OrcaBusStatelessConfig } from '../lib/workload/orcabus-stateless-stack';
import { aws_lambda } from 'aws-cdk-lib';
import { Duration, aws_lambda } from 'aws-cdk-lib';

const regName = 'OrcaBusSchemaRegistry';
const eventBusName = 'OrcaBusMain';
Expand All @@ -25,6 +25,9 @@ const orcaBusStatefulConfig = {
parameterGroupName: 'default.aurora-postgresql15',
username: 'admin',
dbPort: 5432,
monitoring: {
cloudwatchLogsExports: ['orcabus-postgresql'],
},
},
securityGroupProps: {
securityGroupName: lambdaSecurityGroupName,
Expand Down Expand Up @@ -86,6 +89,8 @@ export const getEnvironmentConfig = (
numberOfInstance: 1,
minACU: 0.5,
maxACU: 1,
enhancedMonitoringInterval: Duration.seconds(60),
enablePerformanceInsights: true,
},
securityGroupProps: {
...orcaBusStatefulConfig.securityGroupProps,
Expand Down Expand Up @@ -113,6 +118,8 @@ export const getEnvironmentConfig = (
numberOfInstance: 1,
minACU: 0.5,
maxACU: 1,
enhancedMonitoringInterval: Duration.seconds(60),
enablePerformanceInsights: true,
},
securityGroupProps: {
...orcaBusStatefulConfig.securityGroupProps,
Expand Down
36 changes: 32 additions & 4 deletions lib/workload/stateful/database/component.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,31 @@
import { Construct } from 'constructs';
import { RemovalPolicy } from 'aws-cdk-lib';
import { RemovalPolicy, Duration } from 'aws-cdk-lib';
import * as rds from 'aws-cdk-lib/aws-rds';
import * as ec2 from 'aws-cdk-lib/aws-ec2';

export interface DatabaseProps {
/**
* Props for enabling enhanced monitoring.
*/
type MonitoringProps = {
/**
* Add cloud watch exports.
*/
readonly cloudwatchLogsExports?: string[];
/**
* Enable performance insights.
*/
readonly enablePerformanceInsights?: boolean;
/**
* performance insights retention period
*/
readonly performanceInsightsRetention?: rds.PerformanceInsightRetention;
/**
* Enable enhanced monitoring by specifying the interval
*/
readonly enhancedMonitoringInterval?: Duration;
};

export type DatabaseProps = MonitoringProps & {
clusterIdentifier: string;
defaultDatabaseName: string;
parameterGroupName: string;
Expand All @@ -14,7 +36,7 @@ export interface DatabaseProps {
maxACU: number;
dbPort: number;
allowedInboundSG?: ec2.SecurityGroup;
}
};

export class DatabaseConstruct extends Construct {
readonly dbSecurityGroup: ec2.SecurityGroup;
Expand Down Expand Up @@ -62,7 +84,13 @@ export class DatabaseConstruct extends Construct {
vpcSubnets: {
subnetType: ec2.SubnetType.PRIVATE_ISOLATED,
},
writer: rds.ClusterInstance.serverlessV2('WriterClusterInstance', {}),

cloudwatchLogsExports: props.cloudwatchLogsExports,
monitoringInterval: props.enhancedMonitoringInterval,

writer: rds.ClusterInstance.serverlessV2('WriterClusterInstance', {
enablePerformanceInsights: props.enablePerformanceInsights,
}),
});
}
}

0 comments on commit 824b22d

Please sign in to comment.