Cloudformation 조건에 의미 부여
5430 단어 quicktipscloudformationaws
CreateProdResources
인 예제가 있습니다. 일부 마이그레이션을 수행하는 동안 이러한 조건이 아무 의미가 없다는 것을 깨달았고, 그래서 의미 있는 이름을 갖도록 내 조건의 이름을 변경했습니다.환경
지금까지 본 일반적인 조건 목록은 다음과 같습니다.
Conditions:
IsTesting: !Equals [ !Ref Environment, "testing" ]
IsProductionOrAcceptance: !Or [ !Equals [ !Ref Environment, "production" ], !Equals [ !Ref Environment, "acceptance" ]]
IsProduction: !Equals [ !Ref Environment, "production" ]
이러한 조건은 일반적으로 다음과 같이 사용됩니다.
Resources:
RdsClusterNew:
Type: "AWS::RDS::DBCluster"
Condition: IsTesting
Properties:
# ...
DBClusterParameterGroupName: !If [ IsTesting, !Ref "RdsClusterParameterGroupWithPerformanceInsights", !Ref "RdsClusterParameterGroup" ]
# ...
이것은 임의의 리소스이며 이 예를 보면 이해가 됩니다. 테스트 스택에서만 이 데이터베이스 클러스터를 만들고 테스트 스택에서만 데이터베이스에 대한 성능 통찰력을 활성화하려고 합니다. 그러나 기능에 단일 리소스가 있는 경우는 거의 없습니다. RDS 클러스터를 생성할 때 클러스터, 파라미터 그룹, 인스턴스, 인스턴스 파라미터 그룹 및 기타 리소스가 필요할 수 있습니다. 다른 환경에서 RDS를 활성화하는 것은 여러 줄을 변경하는 것을 의미합니다. 이렇게 하면 조건을 너무 많이 또는 너무 적게 변경할 위험이 높아집니다.
의미있는 조건
이를 피하는 한 가지 방법은 조건에 의미 있는 이름을 지정하는 것입니다. 예를 들면 다음과 같습니다.
Conditions:
CreateNewRdsCluster: !Equals [ !Ref Environment, "testing" ]
EnablePerformanceInsights: !Equals [ !Ref Environment, "testing" ]
Resources:
RdsClusterNew:
Type: "AWS::RDS::DBCluster"
Condition: CreateNewRdsCluster
Properties:
# ...
DBClusterParameterGroupName: !If [ EnablePerformanceInsights, !Ref "RdsClusterParameterGroupWithPerformanceInsights", !Ref "RdsClusterParameterGroup" ]
# ...
이제 승인 환경에서 새 RDS 클러스터를 만드는 것도 한 줄 변경입니다. 조건만 변경하면 됩니다. 성능 개선 도우미를 활성화하는 경우에도 마찬가지입니다.
tl/dr;
이름 지정은 어렵고 코드의 메서드 및 변수와 마찬가지로 Cloudformation으로 작업할 때 의미 있고 설명적인 이름이 도움이 됩니다. 리소스 정의를 읽고 이해하기 쉽게 만들 뿐만 아니라 리소스를 한 줄로 변경하기 때문에 리소스를 보다 쉽게 활성화 또는 비활성화할 수 있습니다.
Reference
이 문제에 관하여(Cloudformation 조건에 의미 부여), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/timoschinkel/make-your-cloudformation-conditions-mean-something-2f69텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)