【AWS CloudFormation】 「복제 시간의 컨트롤 (RTC)」등을 포함한 S3 복제 설정의 템플릿의 작성 방법
10493 단어 CloudFormationAWS
전치
현장에서 AWS의 CloudFormation에 첫 도전을 하게 되었습니다.
"복제 시간 제어 (RTC)"등을 포함한,
S3 복제 설정 템플릿을 작성하는 방법에 걸린 적이 있었으므로 게시합니다.
내용
다음과 같은 템플릿 파일로 스택을 만들고 실행했습니다.
S3BucketOriginal:
Type: AWS::S3::Bucket
Properties:
BucketName: !Sub 'original-${AWS::AccountId}'
VersioningConfiguration:
Status: Enabled
ReplicationConfiguration:
Role: !Sub 'arn:aws:iam::${AWS::AccountId}:role/OriginBucketBackupRole'
Rules:
- Id: BackUpRule
Status: Enabled
DeleteMarkerReplication:
Status: Disabled
Destination:
Bucket: !Sub 'arn:aws:s3:::backup-${AWS::AccountId}'
EncryptionConfiguration:
ReplicaKmsKeyID: !Sub 'arn:aws:kms:${AWS::Region}:${AWS::AccountId}:alias/BackupKey'
Metrics:
Status: Enabled
EventThreshold:
Minutes: 15
ReplicationTime:
Status: Enabled
Time:
Minutes: 15
SourceSelectionCriteria:
SseKmsEncryptedObjects:
Status: Enabled
그러면 다음과 같은 오류가 발생했습니다.
DeleteMarkerReplication cannot be used for this version of Cross Region Replication configuration schema.
Please refer to S3 Developer Guide for more information
이 오류는 아래 CloudFormation 사용자 가이드 'ReplicationRule'의 주석과 같습니다.
앞의 오류 메시지에서 this version
는 S3의 복제 설정 버전이었습니다.
다음과 같이 Filter를 설정하지 않으면 S3의 복제 설정은 V1이 되어 버린다는 것이었습니다.
・・・
ReplicationConfiguration:
Role: !Sub 'arn:aws:iam::${AWS::AccountId}:role/OriginBucketBackupRole'
Rules:
- Id: BackUpRule
Status: Enabled
DeleteMarkerReplication:
Status: Disabled
Filter: # 追加
Prefix: "" # 追加
・・・
Filter를 설정하지 않으면 다음과 같이 Replication Time Control (S3 RTC) 설정도 오류가 발생합니다.
ReplicationTime cannot be used for this version of the replication configuration schema.
Please refer to S3 Developer Guide for more information
Filter 를 설정한 템플릿으로 스택을 실행하여 이번에...
라고 생각하면 이하와 같은 에러가 되어 버렸습니다.
Priority must be specified for this version of Cross Region Replication configuration schema.
Please refer to the S3 Developer Guide for more information
Priority(우선순위)는 CloudFormation 사용자 가이드에서 "필수: 아니오"입니다.
매니지먼트 콘솔로부터의 설정이라면, 자동으로 설정해 주는 것이군요・・・
전혀 의식한 적이 없었습니다 ...
그 밖에도, 복제 시간의 컨트롤(RTC)등의 설정은 매니지먼트 콘솔상이라고 체크 박스로 ON 하는 것입니다만,
CloudFormation 템플릿에는 시간 수를 입력해야 합니다.
이 근처, 매니지먼트 콘솔에서는 의식하지 않기 때문에 어렵다・・・
Metrics:
Status: Enabled
EventThreshold:
Minutes: 15
ReplicationTime:
Status: Enabled
Time:
Minutes: 15
결과
최종적으로는 템플릿 파일을 다음과 같이 하는 것으로, 복제 설정을 작성할 수 있었습니다.
(BucketName, ReplicaKmsKeyID 근처의 지정 방법은 적절히 바꾸십시오)
Resources:
S3BucketOriginal:
Type: AWS::S3::Bucket
Properties:
BucketName: !Sub 'original-${AWS::AccountId}'
VersioningConfiguration:
Status: Enabled
ReplicationConfiguration:
Role: !Sub 'arn:aws:iam::${AWS::AccountId}:role/OriginBucketBackupRole'
Rules:
- Id: BackUpRule
Status: Enabled
DeleteMarkerReplication:
Status: Disabled
Filter: #追加
Prefix: "" #追加
Priority: 0 #追加
Destination:
Bucket: !Sub 'arn:aws:s3:::backup-${AWS::AccountId}'
EncryptionConfiguration:
ReplicaKmsKeyID: !Sub 'arn:aws:kms:${AWS::Region}:${AWS::AccountId}:alias/BackupKey'
Metrics:
Status: Enabled
EventThreshold:
Minutes: 15
ReplicationTime:
Status: Enabled
Time:
Minutes: 15
SourceSelectionCriteria:
SseKmsEncryptedObjects:
Status: Enabled
Reference
이 문제에 관하여(【AWS CloudFormation】 「복제 시간의 컨트롤 (RTC)」등을 포함한 S3 복제 설정의 템플릿의 작성 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/shimamura_io/items/286f53bd5444bac1f917
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
다음과 같은 템플릿 파일로 스택을 만들고 실행했습니다.
S3BucketOriginal:
Type: AWS::S3::Bucket
Properties:
BucketName: !Sub 'original-${AWS::AccountId}'
VersioningConfiguration:
Status: Enabled
ReplicationConfiguration:
Role: !Sub 'arn:aws:iam::${AWS::AccountId}:role/OriginBucketBackupRole'
Rules:
- Id: BackUpRule
Status: Enabled
DeleteMarkerReplication:
Status: Disabled
Destination:
Bucket: !Sub 'arn:aws:s3:::backup-${AWS::AccountId}'
EncryptionConfiguration:
ReplicaKmsKeyID: !Sub 'arn:aws:kms:${AWS::Region}:${AWS::AccountId}:alias/BackupKey'
Metrics:
Status: Enabled
EventThreshold:
Minutes: 15
ReplicationTime:
Status: Enabled
Time:
Minutes: 15
SourceSelectionCriteria:
SseKmsEncryptedObjects:
Status: Enabled
그러면 다음과 같은 오류가 발생했습니다.
DeleteMarkerReplication cannot be used for this version of Cross Region Replication configuration schema.
Please refer to S3 Developer Guide for more information
이 오류는 아래 CloudFormation 사용자 가이드 'ReplicationRule'의 주석과 같습니다.
앞의 오류 메시지에서
this version
는 S3의 복제 설정 버전이었습니다.다음과 같이 Filter를 설정하지 않으면 S3의 복제 설정은 V1이 되어 버린다는 것이었습니다.
・・・
ReplicationConfiguration:
Role: !Sub 'arn:aws:iam::${AWS::AccountId}:role/OriginBucketBackupRole'
Rules:
- Id: BackUpRule
Status: Enabled
DeleteMarkerReplication:
Status: Disabled
Filter: # 追加
Prefix: "" # 追加
・・・
Filter를 설정하지 않으면 다음과 같이 Replication Time Control (S3 RTC) 설정도 오류가 발생합니다.
ReplicationTime cannot be used for this version of the replication configuration schema.
Please refer to S3 Developer Guide for more information
Filter 를 설정한 템플릿으로 스택을 실행하여 이번에...
라고 생각하면 이하와 같은 에러가 되어 버렸습니다.
Priority must be specified for this version of Cross Region Replication configuration schema.
Please refer to the S3 Developer Guide for more information
Priority(우선순위)는 CloudFormation 사용자 가이드에서 "필수: 아니오"입니다.
매니지먼트 콘솔로부터의 설정이라면, 자동으로 설정해 주는 것이군요・・・
전혀 의식한 적이 없었습니다 ...
그 밖에도, 복제 시간의 컨트롤(RTC)등의 설정은 매니지먼트 콘솔상이라고 체크 박스로 ON 하는 것입니다만,
CloudFormation 템플릿에는 시간 수를 입력해야 합니다.
이 근처, 매니지먼트 콘솔에서는 의식하지 않기 때문에 어렵다・・・
Metrics:
Status: Enabled
EventThreshold:
Minutes: 15
ReplicationTime:
Status: Enabled
Time:
Minutes: 15
결과
최종적으로는 템플릿 파일을 다음과 같이 하는 것으로, 복제 설정을 작성할 수 있었습니다.
(BucketName, ReplicaKmsKeyID 근처의 지정 방법은 적절히 바꾸십시오)
Resources:
S3BucketOriginal:
Type: AWS::S3::Bucket
Properties:
BucketName: !Sub 'original-${AWS::AccountId}'
VersioningConfiguration:
Status: Enabled
ReplicationConfiguration:
Role: !Sub 'arn:aws:iam::${AWS::AccountId}:role/OriginBucketBackupRole'
Rules:
- Id: BackUpRule
Status: Enabled
DeleteMarkerReplication:
Status: Disabled
Filter: #追加
Prefix: "" #追加
Priority: 0 #追加
Destination:
Bucket: !Sub 'arn:aws:s3:::backup-${AWS::AccountId}'
EncryptionConfiguration:
ReplicaKmsKeyID: !Sub 'arn:aws:kms:${AWS::Region}:${AWS::AccountId}:alias/BackupKey'
Metrics:
Status: Enabled
EventThreshold:
Minutes: 15
ReplicationTime:
Status: Enabled
Time:
Minutes: 15
SourceSelectionCriteria:
SseKmsEncryptedObjects:
Status: Enabled
Reference
이 문제에 관하여(【AWS CloudFormation】 「복제 시간의 컨트롤 (RTC)」등을 포함한 S3 복제 설정의 템플릿의 작성 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/shimamura_io/items/286f53bd5444bac1f917
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Resources:
S3BucketOriginal:
Type: AWS::S3::Bucket
Properties:
BucketName: !Sub 'original-${AWS::AccountId}'
VersioningConfiguration:
Status: Enabled
ReplicationConfiguration:
Role: !Sub 'arn:aws:iam::${AWS::AccountId}:role/OriginBucketBackupRole'
Rules:
- Id: BackUpRule
Status: Enabled
DeleteMarkerReplication:
Status: Disabled
Filter: #追加
Prefix: "" #追加
Priority: 0 #追加
Destination:
Bucket: !Sub 'arn:aws:s3:::backup-${AWS::AccountId}'
EncryptionConfiguration:
ReplicaKmsKeyID: !Sub 'arn:aws:kms:${AWS::Region}:${AWS::AccountId}:alias/BackupKey'
Metrics:
Status: Enabled
EventThreshold:
Minutes: 15
ReplicationTime:
Status: Enabled
Time:
Minutes: 15
SourceSelectionCriteria:
SseKmsEncryptedObjects:
Status: Enabled
Reference
이 문제에 관하여(【AWS CloudFormation】 「복제 시간의 컨트롤 (RTC)」등을 포함한 S3 복제 설정의 템플릿의 작성 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/shimamura_io/items/286f53bd5444bac1f917텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)