2017-12-30 42 views
0

여러 환경을 지원하는 CloudFormation 템플릿을 작성하려고합니다. 각 env는로드 밸런서 리스너에 첨부해야하는 2 개 또는 3 개의 인증서를 가질 수 있습니다.AWS :: ElasticLoadBalancingV2 :: Listener AWS :: ElasticLoadBalancingV2 :: Listener 임의의 인증서 목록

그러나 Cloudform은 인증서 목록 (doc)의 간단한 목록을 허용하지 않으므로 매개 변수를 사용하여 개체 목록을 전달하는 방법을 파악하는 데 어려움을 겪고 있습니다.

  1. 각 매개 변수가 에게
  2. "목록"
  3. Cloudformation은 "foreach는"이되지 않습니다, 그것은 "무엇인가"목록해야 허용 유형을 만들되지
  4. 유형이 있어야합니다 : 것 같다 즉석에서 각 인증서의 "인증서 개체"입니다.

나는이 예제 템플릿 (link)을 가로 질러왔다, 그러나 여기에서 문제는이 명시 적으로 인증서를 사용하여 해결 - 나는

이 타이밍에서, 내가 필요한 인증서의 임의의 목록을 동적으로 입력 할 수 있어야합니다 이 (의사) 같은 것을 주입 할 수 있도록 :

Arn1, Arn2, Arn_n은 "목록 형"매개 변수에서 오는

Certificates: - Certificate: Arn1 - Certificate: Arn2 - Certificate: Arn_n

.

그래서 내가 궁금한 점은 : "foreach"또는 매개 변수 목록의 항목 당 하나의 "개체"또는 "풍부한"매개 변수 개체를 전달하는 데 도움이되는 다른 내용이 있습니까?

답변

1

CloudFormation을 사용하면 CommaDelimitedList을 매개 변수 유형으로 사용할 수 있습니다. 그러면 쉼표로 구분의 형식에서 공급할 수

arn1, arn2을

arn3리스트는 임의적이다. 그런 다음 청취자의 Certificates 속성에 직접 제공 할 수 있습니다.

"Certificates" : { "Ref" : "MyListParam" } 
+0

감사합니다. 제한 사항이 무엇인지 좀 더 명확하게하기 위해 제 질문을 업데이트했습니다. – Trondh

+0

문제가 있습니다. 따라서이 솔루션은 직접 작동하지 않습니다. CloudFormation에는 'foreach'유형의 구조가 없습니다. 조건부로 원하는 것을 할 수 있습니다. –

+0

감사합니다. 우리는 Anabilities를 사용하여 구름 형성을 적용했기 때문에 대신 Jinja2 마법을 사용했습니다. 제한이 생길 때 이런 식으로 구현 된 것은 놀랍습니다. – Trondh