Wie behebe ich den Fehler „One or more of your origins or origin groups do not exist“ in CloudFormation?
Wenn ich versuche, mit AWS CloudFormation eine AWS::CloudFront::Distribution-Ressource zu aktualisieren, erhalte ich die folgende Fehlermeldung: „One or more of your origins or origin groups do not exist.“
Lösung
Die TargetOriginId von CacheBehavior oder DefaultCacheBehavior muss mit einer ID aus der Eigenschaft Origin oder OriginGroups in der Ressource AWS::CloudFront::Distribution übereinstimmen. Wenn die IDs nicht übereinstimmen, erhalten Sie die Fehlermeldung origins or origin groups do not exist.
Dieser Fehler tritt auf, wenn Sie die TargetOriginId eines Ursprungs festlegen, der nicht existiert oder den Sie außerhalb von CloudFormation erstellt haben. Bei einem Aktualisierungsvorgang löscht CloudFormation alle Ursprünge und Ursprungsgruppen in der Distribution, die Sie außerhalb von CloudFormation erstellt haben. Wenn Sie den Ursprung oder die Ursprungsgruppe verwenden, wenn CloudFormation versucht, sie zu löschen, erhalten Sie eine Fehlermeldung.
Hinweis: Es hat sich bewährt, Stack-Ressourcen außerhalb von CloudFormation nicht zu ändern. Änderungen außerhalb von CloudFormation können zu einer Diskrepanz zwischen der Vorlage Ihres Stacks und dem aktuellen Status Ihrer Stack-Ressourcen führen.
Gehen Sie wie folgt vor, um dieses Problem zu beheben:
- Öffnen Sie die Ressource AWS::CloudFront::Distribution in der CloudFormation-Vorlage.
- Stellen Sie sicher, dass jede TargetOriginId mit der ID einer der Ursprünge oder Ursprungsgruppen übereinstimmt, die in den Eigenschaften Origins oder OriginGroups definiert sind. Wenn die ID nicht übereinstimmt, geben Sie die richtige Ursprungs-ID als Parameter für DefaultCacheBehavior oder CacheBehavior ein.
In den folgenden Beispiel-JSON- und YAML-Vorlagenfragmenten definiert und verwendet DefaultCacheBehavior eine CloudFront-Distribution mit einem einzigen Ursprung. Außerdem verwendet der Ursprung eine Ursprungszugriffsidentität (OAI) für die Authentifizierung, und der Ursprung ist Amazon Simple Storage Service (Amazon S3).
JSON-Beispiel:
YAML-Beispiel:{ "AWSTemplateFormatVersion": "2010-09-09T00:00:00.000Z", "Resources": { "cloudfrontdistribution": { "Type": "AWS::CloudFront::Distribution", "Properties": { "DistributionConfig": { "DefaultCacheBehavior": { "ViewerProtocolPolicy": "https-only", "DefaultTTL": 3600, "ForwardedValues": { "Cookies": { "Forward": "none" }, "QueryString": true }, "TargetOriginId": "my-s3-origin" }, "Enabled": true, "Origins": [ { "DomainName": "my-s3-bucket.s3.amazonaws.com", "Id": "my-s3-origin", "S3OriginConfig": { "OriginAccessIdentity": { "Fn::Sub": "origin-access-identity/cloudfront/${CloudFrontOriginAccessIdentity}" } }, "OriginPath": "/my-content" } ] } } }, "CloudFrontOriginAccessIdentity": { "Type": "AWS::CloudFront::CloudFrontOriginAccessIdentity", "Properties": { "CloudFrontOriginAccessIdentityConfig": { "Comment": { "Ref": "AWS::StackName" } } } } } }
Hinweis: Ersetzen Sie im vorausgehenden Beispiel my-s3-origin durch Ihre Ursprungs-ID, my-s3-bucket.s3.amazonaws.com durch Ihren Domainnamen und /my-content durch Ihren Ursprungspfad.AWSTemplateFormatVersion: 2010-09-09 Resources: cloudfrontdistribution: Type: AWS::CloudFront::Distribution Properties: DistributionConfig: DefaultCacheBehavior: ViewerProtocolPolicy: https-only DefaultTTL: 3600 ForwardedValues: Cookies: Forward: none QueryString: true TargetOriginId: my-s3-origin Enabled: true Origins: - DomainName: 'my-s3-bucket.s3.amazonaws.com' Id: my-s3-origin S3OriginConfig: OriginAccessIdentity: !Sub origin-access-identity/cloudfront/${CloudFrontOriginAccessIdentity} OriginPath: /my-content CloudFrontOriginAccessIdentity: Type: AWS::CloudFront::CloudFrontOriginAccessIdentity Properties: CloudFrontOriginAccessIdentityConfig: Comment: !Sub ${AWS::StackName}
- Testen Sie die CloudFront-Distribution, um sicherzustellen, dass der CloudFormation-Stack erstellt oder aktualisiert wurde.
Ähnliche Informationen
Verwendung verschiedener Ursprünge mit CloudFront-Distributionen
Relevanter Inhalt
- AWS OFFICIALAktualisiert vor 8 Monaten
- AWS OFFICIALAktualisiert vor 7 Monaten
- AWS OFFICIALAktualisiert vor 4 Jahren