Skip to content

Commit 948bc27

Browse files
tbrandtbrandaws
andauthored
Modified to enable deployment of private network options with SageMaker Code Editor (#1269)
Co-authored-by: Taichiro Suzuki <taichirs@amazon.co.jp>
1 parent de9c137 commit 948bc27

File tree

4 files changed

+16
-8
lines changed

4 files changed

+16
-8
lines changed

packages/cdk/lib/closed-network-stack.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import {
1414

1515
export interface ClosedNetworkStackProps extends StackProps {
1616
readonly params: ProcessedStackInput;
17+
readonly isSageMakerStudio: boolean;
1718
}
1819

1920
export class ClosedNetworkStack extends Stack {
@@ -70,6 +71,7 @@ export class ClosedNetworkStack extends Stack {
7071
subnetIds: closedNetworkSubnetIds,
7172
hostedZone: closedVpc?.hostedZone,
7273
certificateArn: closedNetworkCertificateArn,
74+
isSageMakerStudio: props.isSageMakerStudio,
7375
});
7476

7577
const cognitoPrivateProxy = new CognitoPrivateProxy(

packages/cdk/lib/construct/closedNetwork/closed-web.ts

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,16 @@ import {
1616
OperatingSystemFamily,
1717
} from 'aws-cdk-lib/aws-ecs';
1818
import { ApplicationLoadBalancedFargateService } from 'aws-cdk-lib/aws-ecs-patterns';
19-
import { Platform } from 'aws-cdk-lib/aws-ecr-assets';
19+
import { Platform, NetworkMode } from 'aws-cdk-lib/aws-ecr-assets';
2020
import { ApplicationLoadBalancer } from 'aws-cdk-lib/aws-elasticloadbalancingv2';
2121

2222
export interface ClosedWebProps {
23-
vpc: IVpc;
24-
subnetIds?: string[] | null;
23+
readonly vpc: IVpc;
24+
readonly subnetIds?: string[] | null;
25+
readonly isSageMakerStudio: boolean;
2526
// For HTTPS listener
26-
hostedZone?: PrivateHostedZone;
27-
certificateArn?: string | null;
27+
readonly hostedZone?: PrivateHostedZone;
28+
readonly certificateArn?: string | null;
2829
}
2930

3031
export class ClosedWeb extends Construct {
@@ -77,6 +78,9 @@ export class ClosedWeb extends Construct {
7778
taskImageOptions: {
7879
image: ContainerImage.fromAsset('./fargate-s3-server', {
7980
platform: Platform.LINUX_AMD64,
81+
networkMode: props.isSageMakerStudio
82+
? NetworkMode.custom('sagemaker')
83+
: NetworkMode.DEFAULT,
8084
}),
8185
containerPort: 8080,
8286
environment: {

packages/cdk/lib/create-stacks.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,9 @@ export const createStacks = (app: cdk.App, params: ProcessedStackInput) => {
8686
inferenceProfileStacks
8787
);
8888

89+
// GenU Stack
90+
const isSageMakerStudio = 'SAGEMAKER_APP_TYPE_LOWERCASE' in process.env;
91+
8992
let closedNetworkStack: ClosedNetworkStack | undefined = undefined;
9093

9194
if (params.closedNetworkMode) {
@@ -98,6 +101,7 @@ export const createStacks = (app: cdk.App, params: ProcessedStackInput) => {
98101
region: params.region,
99102
},
100103
params,
104+
isSageMakerStudio,
101105
}
102106
);
103107
}
@@ -206,8 +210,6 @@ export const createStacks = (app: cdk.App, params: ProcessedStackInput) => {
206210
videoBucketRegionMap[region] = videoTmpBucketStack.bucketName;
207211
}
208212

209-
// GenU Stack
210-
const isSageMakerStudio = 'SAGEMAKER_APP_TYPE_LOWERCASE' in process.env;
211213
const generativeAiUseCasesStack = new GenerativeAiUseCasesStack(
212214
app,
213215
`GenerativeAiUseCasesStack${updatedParams.env}`,

packages/cdk/test/__snapshots__/generative-ai-use-cases.test.ts.snap

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1164,7 +1164,7 @@ exports[`GenerativeAiUseCases matches the snapshot (closed network mode) 1`] = `
11641164
],
11651165
"Essential": true,
11661166
"Image": {
1167-
"Fn::Sub": "123456890123.dkr.ecr.us-east-1.\${AWS::URLSuffix}/cdk-hnb659fds-container-assets-123456890123-us-east-1:7d1a9cbcd523fa1f30afeb1394c611b18778bbdc6343bc4d9ed3f9109ce669e9",
1167+
"Fn::Sub": "123456890123.dkr.ecr.us-east-1.\${AWS::URLSuffix}/cdk-hnb659fds-container-assets-123456890123-us-east-1:f42c9250931c270e4dbe045bdf1556d0f4363901fa75fc81605cf456a556646a",
11681168
},
11691169
"LogConfiguration": {
11701170
"LogDriver": "awslogs",

0 commit comments

Comments
 (0)