[CloudFormon] 중첩된 스택 구조에서 하위 스택 이름을 가져오는 방법
3658 단어 AWStipCloudFormationtech
프로비저닝
상위 템플릿
- 하위 템플릿 1(ChildStack1)
- 하위 템플릿 2(ChildStack2)
하고 싶은 일
하위 템플릿 2의 매개 변수에서 하위 템플릿 1의 창고 이름을 사용하려면
설치 방법
1. 하위 템플릿 1의 Outputs 섹션에서 Ref 내장 함수로 출력한 내용을 부모 템플릿에서 하위 템플릿 2로 전달
설치 예: 함수 및 위조 매개 변수를 Ref로 포함하여 하위 템플릿 1의 스택 이름을 출력할 수 있습니다.
Outputs:
ChildStack1Name:
Value: !Ref AWS::StackName
2. 부모 템플릿에서 속성으로 하위 템플릿 2로 전송할 때 내장 함수 사용하기설치 예: 여러 내장 함수를 사용하여 하위 템플릿 1의 스택 이름을 가져올 수 있습니다.
ChildStack1Name:
Fn::Select:
- 1
- Fn::Split:
- /
- !Ref ChildStack1
저는 기본적으로 1의 방법으로 이루어지고 싶어요.단, 파라미터가 자신이 관리하지 않은 하위 템플릿의 창고 이름을 필요로 한다면
2의 방법도 실현할 수 있다
2 상세 정보
부모 템플릿에서 하위 템플릿의 창고 이름을 가져오려면
먼저 떠오르는 건 자택에 대한 태도!실패 혹은 실패!GetAtt 사용 방법
그러나AWS:CloudFormation:Stack에서는 하나도 안 좋아요!Ref만 대응
스택 ID로 내보내기
참조: https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/aws-properties-stack.html
따라서 다음 내장 함수를 사용하여 창고 이름을 가져옵니다.
・Ref
・Fn::Select
・Fn::Split
각 삽입 함수에 대한 간단한 설명
・Ref
- 지정된 매개변수 또는 리소스의 값을 반환합니다.
・Fn::Select
- 목록 객체에서 색인을 사용하여 해당 객체를 반환합니다.
・Fn::Split
- 객체를 선택할 수 있도록 문자열을 목록 형식으로 분할합니다.
참조: https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference.html
실장 설명
ChildStack1Name:
Fn::Select:
- 1
- Fn::Split:
- /
- !Ref ChildStack1
상기 코드의 처리를 순서대로 하나하나 본다(아래에서 본다)1.!Ref를 사용하여 하위 템플릿 1의 스택 ID 가져오기
2. Fn: Split, 1을 사용합니다.에서 가져온 스택 ID를 목록으로 분할합니다.
이때 첫 번째 매개 변수를 사용하여 구분자를 지정합니다. (이번에는 "/")
두 번째 매개변수로 구분된 문자열 지정하기
※ 스택 ID의 형식은 다음과 같습니다.
an:aws:cloudformation:
3. Fn: Select, 2를 사용합니다.에서 분할된 문자열 목록에서 스택 이름을 선택하고 스택 이름을 가져옵니다.
이때 첫 번째 매개 변수가 색인을 지정합니다. (이번에는 "1")
두 번째 매개변수에서 선택할 객체 목록을 지정합니다.
Reference
이 문제에 관하여([CloudFormon] 중첩된 스택 구조에서 하위 스택 이름을 가져오는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/ano/articles/1232901aa0e2db텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)