반응형
AWS Cloud Formation - 속성 변경 무시 - Terraform 등가에서 'ignore_changes'?
내가 만들었다고 가정하자
CognitoUserPoolIdentityProviderGoogle:
Type: AWS::Cognito::UserPoolIdentityProvider
Properties:
ProviderName: Google
AttributeMapping:
email: emailAddress
ProviderDetails:
client_id: xxxx
client_secret: yyyy
authorize_scopes: profile email openid phone
ProviderType: Google
UserPoolId:
Ref: CognitoUserPoolUserPool
나중에 누군가 및 에 수동으로 업데이트합니다. Cloud Formation을 다시 실행하면 수동 변경 내용을 덮어쓰고 값을 및 로 되돌립니다.
어떻게 하면 피할 수 있을까요? 예를 들어 리소스가 될 수 있습니다.
제가 찾고 있는 것은 기본적으로 테라폼의 기능입니다
CFN에는 "변화 무시"가 없다. CFN이 관리하는 모든 리소스를 제어할 수 없는 상태에서 수동으로 수정하는 것입니다. 수동 변경으로 인해 많은 문제가 발생할 수 있으며, 그 중 하나는 사용자가 설명하는 것입니다.
당신이 관찰하고 있는 것에 대한 기술적 용어는 a이다. 그것을 관리하는 몇 가지 방법이 있다. 그러나 업데이트하기 전에 스택에서 먼저 실행해야 합니다.
당신의 경우 드리프트가 그렇게 나쁘지 않기 때문에, 당신은 다음과 같다:
- 수동 변경 사항과 일치하도록 CFN 템플릿을 수동으로 업데이트하고 스택을 업데이트합니다
- 수동으로 리소스를 원래 상태로 수정한 다음 CFN을 통해 모든 업데이트를 적용합니다.
실제로 이 문제는 매우 자주 발생하는 문제입니다. 다음은 다른 예와 해결 방법입니다:
CloudFormation에 CloudFront 배포를 선언하고 첨부된 CNAMES/Cert를 앱으로 관리합니다(즉시 첨부).
따라서 이 '엔지니어링' 문제를 해결하기 위해 구현한 더 나은 자동 방식은 다음과 같습니다:
- 외부에서 변경되는 모든 값을 템플릿의 매개 변수로 선언합니다(위에서 설명한 경우의 CNAME 목록)
- 변경이 필요할 때마다 => 자동 배포 파이프라인을 트리거합니다
- 파이프라인은 먼저 현재 배포된 인스턴스에서 값을 검색합니다(앱에 의해 첨부된 CNAMES 값 목록)
- 그런 다음 이 목록을 매개 변수로 전달하는 클라우드 형성 템플릿 업데이트
반응형
'개발하자' 카테고리의 다른 글
어떻게 하면 쿠버네티스에서 자바 애플리케이션에 할당된 힙 공간의 양을 우아하고 안전하게 최대화할 수 있을까요? (0) | 2023.03.13 |
---|---|
flutter calculated double ~/ double but got int (0) | 2023.03.12 |
구글 콜랩 노트북 이름을 파이썬 변수에 할당할 수 있다. Jupyter에서는 javascript를 사용할 수 있지만 collab에서는 작동하지 않습니다 (0) | 2023.03.11 |
Python에서 중첩된 데이터 구조의 소수점 반올림 (0) | 2023.03.11 |
카운트가 있는 리소스에 대한 테라폼 출력 (0) | 2023.03.10 |