다른 스택의 리소스를 CDK로 참조하려는 경우
다른 스택의 리소스를 참조하려면 CDK를 사용하십시오.
그럴 때가 많죠.절차를 복습해 봅시다.
이 글에는 공유하고 싶은 자원의 창고
MainStack
, 공유하고 싶은 자원의 창고SubStack
가 있다.공유할 자원 내보내기
우선 자원을 공유하고 싶은 창고에서 자원을 내보냅니다.
main-stack.ts
import { Stack, StackProps } from "aws-cdk-lib";
import { Vpc, SubnetType } from "aws-cdk-lib/aws-ec2";
import { Construct } from "constructs";
export class MainStack extends Stack {
public readonly vpc: Vpc; // ✅ 別スタックで読み込めるようにする
constructor(scope: Construct, id: string, props?: StackProps) {
super(scope, id, props);
const vpc = new Vpc(this, "vpc", {
cidr: "10.0.0.0/16",
maxAzs: 2,
subnetConfiguration: [
{
name: "Public",
cidrMask: 24,
subnetType: SubnetType.PUBLIC,
},
],
});
this.vpc = vpc; // ✅ リソースを出力する
}
}
상술한 평론 부분이 있는 곳에서 자원을 공유하다.먼저 출력을 하고 공유하는 설정을 하면 다른 창고에서
MainStack
의 자원을 참조할 수 있다.App 콘크리트로 견적
그리고 bin 아래 앱 구조를 만든 파일에서
SubStack
의 자원을 MainStack
에 전달한다.sample.ts
import * as cdk from "aws-cdk-lib";
import { MainStack } from "../lib/main-stack";
import { SubStack } from "../lib/sub-stack";
const app = new cdk.App();
const mainStack = new MainStack(app, "MainStack", {});
new SubStack(app, "SubStack", {
vpc: mainStack.vpc, ✅ // ここでリソースを渡す
});
아까처럼 주석을 달다.공유 자원의 창고를 변수화하고 상기 설명을 통해 파라미터를 설정하십시오.
다른 스택의 리소스 참조
마지막으로 다른 창고의 자원을 참고하세요.
sub-stack.ts
import { Stack, StackProps } from "aws-cdk-lib";
import { SecurityGroup, Vpc } from "aws-cdk-lib/aws-ec2";
import { Construct } from "constructs";
// ✅ 別スタックからのリソースを扱えるように interface を作成
interface SubStackProps extends StackProps {
vpc: Vpc;
}
export class SubStack extends Stack {
// ✅ Props は事前に定義した SubStackProps を使う
constructor(scope: Construct, id: string, props: SubStackProps) {
super(scope, id, props);
new SecurityGroup(this, "test-sg", {
vpc: props.vpc, // ✅ MainStack のリソースを使用
});
}
}
인터페이스를 만들고 이 창고의 Princes를 준비합니다.MainStack
에서 공유된 자원을 사용할 때props.vpc
등 설명에서 사용할 수 있다.총결산
복습 정도의 기사입니다.참고가 됐으면 좋겠어요.
최고 CDK🚀
끝맺다
Reference
이 문제에 관하여(다른 스택의 리소스를 CDK로 참조하려는 경우), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/5hintaro/articles/e8a20c171bf8fd텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)