Skip to content

Commit f6fdbce

Browse files
authored
Merge branch 'main' into adot-go-update
2 parents 92fcac1 + b78f489 commit f6fdbce

File tree

2 files changed

+57
-1
lines changed

2 files changed

+57
-1
lines changed

PetAdoptions/cdk/pet_stack/lib/services.ts

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -513,6 +513,53 @@ export class Services extends Stack {
513513
serviceAccountRoleArn: cwserviceaccount.roleArn,
514514
});
515515

516+
// IAM Role for Network Flow Monitor
517+
const networkFlowMonitorRole = new iam.CfnRole(this, 'NetworkFlowMonitorRole', {
518+
roleName: 'network-flow-monitor-demo-role',
519+
assumeRolePolicyDocument: {
520+
Version: '2012-10-17',
521+
Statement: [
522+
{
523+
Effect: 'Allow',
524+
Principal: {
525+
Service: 'pods.eks.amazonaws.com',
526+
},
527+
Action: [
528+
'sts:AssumeRole',
529+
'sts:TagSession',
530+
],
531+
},
532+
],
533+
},
534+
managedPolicyArns: [
535+
'arn:aws:iam::aws:policy/CloudWatchNetworkFlowMonitorAgentPublishPolicy',
536+
],
537+
});
538+
539+
// Amazon EKS Pod Identity Agent Addon for Network Flow Monitor
540+
const podIdentityAgentAddon = new eks.CfnAddon(this, 'PodIdentityAgentAddon', {
541+
addonName: 'eks-pod-identity-agent',
542+
addonVersion: 'v1.3.4-eksbuild.1',
543+
clusterName: cluster.clusterName,
544+
resolveConflicts: 'OVERWRITE',
545+
preserveOnDelete: false,
546+
});
547+
548+
// Amazon EKS AWS Network Flow Monitor Agent add-on
549+
const networkFlowMonitoringAgentAddon = new eks.CfnAddon(this, 'NetworkFlowMonitoringAgentAddon', {
550+
addonName: 'aws-network-flow-monitoring-agent',
551+
addonVersion: 'v1.0.1-eksbuild.2',
552+
clusterName: cluster.clusterName,
553+
resolveConflicts: 'OVERWRITE',
554+
preserveOnDelete: false,
555+
podIdentityAssociations: [
556+
{
557+
roleArn: networkFlowMonitorRole.attrArn,
558+
serviceAccount: 'aws-network-flow-monitor-agent-service-account',
559+
},
560+
],
561+
});
562+
516563
const customWidgetResourceControllerPolicy = new iam.PolicyStatement({
517564
effect: iam.Effect.ALLOW,
518565
actions: [
@@ -606,6 +653,7 @@ export class Services extends Stack {
606653

607654
this.createOuputs(new Map(Object.entries({
608655
'CWServiceAccountArn': cwserviceaccount.roleArn,
656+
'NetworkFlowMonitorServiceAccountArn': networkFlowMonitorRole.attrArn,
609657
'XRayServiceAccountArn': xrayserviceaccount.roleArn,
610658
'OIDCProviderUrl': cluster.clusterOpenIdConnectIssuerUrl,
611659
'OIDCProviderArn': cluster.openIdConnectProvider.openIdConnectProviderArn,

PetAdoptions/cdk/pet_stack/resources/destroy_stack.sh

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,14 @@ fi
1313
DDB_CONTRIB=$(aws ssm get-parameter --name '/petstore/dynamodbtablename' | jq .Parameter.Value -r)
1414
aws dynamodb update-contributor-insights --table-name $DDB_CONTRIB --contributor-insights-action DISABLE
1515

16+
# Delete Network Flow Monitor
17+
if aws networkflowmonitor get-monitor --monitor-name network-flow-monitor-demo >/dev/null 2>&1; then
18+
echo "Deleting network flow monitor..."
19+
aws networkflowmonitor delete-monitor --monitor-name network-flow-monitor-demo
20+
else
21+
echo "Network flow monitor not found, skipping delete."
22+
fi
23+
1624
echo STARTING SERVICES CLEANUP
1725
echo -----------------------------
1826

@@ -46,4 +54,4 @@ aws cloudformation wait stack-delete-complete --stack-name $STACK_NAME_CODEPIPEL
4654

4755
echo CDK BOOTSTRAP WAS NOT DELETED
4856

49-
echo ----- ✅ DONE --------
57+
echo ----- ✅ DONE --------

0 commit comments

Comments
 (0)