HCP Packer 아티팩트 폐기 및 복원
HCP Packer 아티팩트 폐기 및 복원
이 주제는 더 이상 소비자에게 제공하고 싶지 않은 아티팩트 버전을 폐기하는 방법을 설명해요. 또한 폐기된 버전을 복원하는 방법도 설명해요.
직접 해보기: 아티팩트와 하위 아티팩트 폐기하기 튜토리얼을 완료해 폐기가 어떻게 동작하는지 배워 보세요.
출처: 문서
본문
소개
아티팩트가 구식이 되거나 보안 위험이 되면, 구식이거나 안전하지 않은 버전을 폐기해 소비자가 이를 사용해 아티팩트를 빌드하지 못하게 할 수 있어요. HCP Packer는 HCP Packer UI에서 버전을 폐기된 것으로 표시해요. Packer는 폐기된 버전을 참조하는 템플릿에서 아티팩트를 빌드할 수 없어요.
워크플로우
아티팩트를 즉시 폐기하거나, HCP Packer Standard 에디션을 사용 중이라면 나중에 폐기되도록 예약할 수 있어요. 보안 취약점이 있는 아티팩트는 즉시 폐기할 것을 권장해요.
폐기된 아티팩트 버전을 참조하는 Terraform 구성은 여전히 메타데이터를 가져오지만, HCP Packer는 버전이 폐기된 시점의 타임스탬프로 설정된 revoke_at 속성을 추가해요. Terraform 소비자는 이 속성을 사용해 버전을 검증할 수 있어요. 자세한 내용은 아티팩트 메타데이터 참조를 참고해 주세요. HCP Terraform 아티팩트 검증 run task도 구성을 스캔하고 폐기된 버전을 참조하는 계획된 리소스를 표시해요. 자세한 내용은 빌드 검증을 참고해 주세요.
계보(Ancestry)
HCP Packer는 아티팩트가 서로 어떻게 관련되어 있는지 자동으로 추적하여, 아티팩트에서 모든 하위 아티팩트까지 변경과 취약점을 추적해요. 자세한 내용은 계보를 참고해 주세요.
아티팩트 버전을 폐기할 때 HCP Packer에서 모든 다운스트림 하위 아티팩트를 자동으로 폐기하도록 선택할 수 있어요. 이렇게 하면 소비자가 구식 아티팩트를 사용하는 것을 방지하는 데 도움이 돼요. 아티팩트가 폐기되면 HCP Packer UI는 자식 버전이 부모에서 상속할 수 있는 폐기 상태에 대한 정보(폐기된 조상에 대한 링크 포함)를 표시해요.
부모의 예약 폐기로 인해 폐기 예정인 자식을 더 빠른 폐기 날짜로 예약하거나 즉시 폐기할 수도 있어요. 자식 버전은 부모가 둘 이상일 수 있다는 점에 유의해 주세요. HCP Packer가 폐기 우선순위를 결정하는 방법은 우선순위를 참고해 주세요.
우선순위
자식 아티팩트 버전을 명시적으로 폐기하거나, 부모를 폐기해 자식이 폐기를 상속받도록 할 수 있어요. 아티팩트 버전은 여러 부모를 가질 수 있어요. 결과적으로 자식은 여러 폐기를 상속할 수 있어요. 여러 폐기가 적용될 때 HCP Packer는 다음 규칙을 사용해 폐기 우선순위를 결정해요:
- 명시적 폐기: 버전을 명시적으로 폐기하는 것(즉시 또는 예약)은 모든 상속된 폐기보다 우선해요. 버전이 여러 번 폐기되면 가장 빠른 날짜가 우선해요.
- 가장 빠른 폐기: 자식이 여러 폐기를 상속하면 가장 빠른 폐기 날짜가 우선해요. 예를 들어 조상 A를 오후 5시에 폐기로 예약한 다음 조상 B를 같은 날 오후 4시에 폐기로 예약하면, HCP Packer는 자식 버전을 오후 4시에 폐기해요.
요구사항
폐기를 예약하려면 Standard 에디션이 필요해요. 레지스트리 등급을 보고 변경하는 방법은 레지스트리 관리를 참고해 주세요.
아티팩트 버전 폐기하기
- 사이드바에서 Versions를 클릭해 버킷 내 모든 버전 목록을 확인해요.
- 폐기하려는 버전의 줄임표 메뉴를 열고 Revoke Version을 선택해요.
- (선택 사항) Reason 필드에 버전을 폐기하는 이유를 입력해요. HCP Packer는 버전이 폐기된 후 버전 세부 정보 페이지에 이 메시지를 보여 줘요.
- 폐기를 예약할 수 있는 등급을 사용 중이라면 When 드롭다운 메뉴에서 Revoke immediately를 선택해요.
- Revoke descendants? 드롭다운 메뉴에서 Yes, revoke all descendants 또는 No, only revoke version을 선택해요. 자세한 내용은 계보를 참고해 주세요.
- 이 버전이 사용자 생성 채널에 할당되어 있다면, Rollback channels 드롭다운 메뉴에서 Yes, rollback channel을 선택해 각 채널에 마지막 유효하고 폐기되지 않은 버전을 다시 할당해요. 그렇지 않으면 진행 전에 모든 사용자 생성 채널에서 버전을 수동으로 할당 해제해야 해요.
- Revoke를 클릭해요.
언제든지 버전을 복원할 수 있어요.
아티팩트 버전 폐기 예약하기
아티팩트에 TTL(Time to Live)을 설정해 소비자가 구식 아티팩트를 사용하지 못하게 할 수 있어요. HCP Packer Standard 에디션이 필요해요. 자세한 내용은 요구사항을 참고해 주세요.
- 사이드바에서 Versions를 클릭해 버킷 내 모든 버전 목록을 확인해요.
- 폐기하려는 버전의 줄임표 메뉴를 열고 Revoke Version을 선택해요.
- (선택 사항) Reason 필드에 버전을 폐기하는 이유를 입력해요. HCP Packer는 버전이 폐기된 후 버전 세부 정보 페이지에 이 메시지를 보여 줘요.
- When 드롭다운에서 Revoke at a future date를 선택하고 날짜와 시간을 지정해요. 소비자는 지정된 날짜와 시간까지 이 버전의 메타데이터를 사용할 수 있어요.
- 모든 하위 버전에 대한 폐기를 예약할지 여부를 선택해요. 자세한 내용은 계보를 참고해 주세요.
- 이 버전이 사용자 생성 채널에 할당되어 있다면, Rollback channel 드롭다운 메뉴에서 Yes, rollback channel을 선택해 HCP Packer가 버전을 폐기할 때 각 채널에 마지막 유효하고 폐기되지 않은 버전을 다시 할당해요. 예약된 폐기 시점에 채널에 유효한 버전이 할당되어 있으면 롤백은 발생하지 않아요.
- Revoke를 클릭해요.
HCP Packer UI는 버전 세부 화면에서 버전이 폐기 예정임을 표시하고 연결된 채널에 태그를 추가해요. 소비자는 HCP Packer가 버전을 폐기하도록 예약된 지정 날짜와 시간까지 버전을 계속 사용할 수 있어요.
폐기가 발생하기 전에 언제든지 폐기 작업을 취소할 수 있어요. 자세한 내용은 예약된 폐기 취소를 참고해 주세요.
지정된 날짜와 시간에 HCP Packer는 폐기된 버전을 가리키는 채널을 UI에서 Revoked 태그로 표시해요. 소비자에게 알리고 모든 관련 채널에서 폐기된 버전을 제거할 것을 권장해요.
버전 복원하기
폐기된 버전은 레지스트리에서 수동으로 삭제할 때까지 HCP Packer에 남아 있어요. 소비자가 메타데이터를 사용할 수 있도록 복원할 수 있어요.
- 버전의 세부 정보 페이지로 이동해 Restore version을 클릭해요.
- 안내가 표시되면 Restore version을 클릭해 버전을 복원할 것임을 확인해요.
복원된 버전의 메타데이터는 즉시 소비자가 사용할 수 있어요. HCP Packer는 UI에서 Revoked 태그를 제거해요. HCP Packer는 아티팩트를 채널에 자동으로 다시 추가하지 않아요. 따라서 이전에 연결된 채널에 아티팩트를 수동으로 다시 추가해야 해요.
조상 버전이 폐기된 경우 버전을 복원할 수 없어요. 폐기된 조상을 복원하면 모든 하위 아티팩트가 자동으로 복원돼요. 자세한 내용은 계보를 참고해 주세요.
예약된 폐기 취소하기
지정된 날짜 이전에 언제든지 예약된 폐기를 취소할 수 있어요.
- 버전의 세부 정보 페이지로 이동해 Cancel scheduled revoke를 클릭해요.
- 안내가 표시되면 Cancel scheduled revoke를 클릭해 버전이 폐기되지 않도록 할 것임을 확인해요.
HCP Packer UI는 UI에서 Scheduled for revoke 상태를 제거해요.
조상 버전이 폐기 예정인 경우 자식 버전의 폐기를 취소할 수 없어요. 조상에 대한 예약된 폐기를 취소하면 모든 하위 아티팩트에 대한 폐기가 자동으로 취소돼요. 자세한 내용은 계보를 참고해 주세요.