Come posso risolvere l'errore "Una o più delle tue origini o gruppi di origine non esistono" in AWS CloudFormation?
Quando provo a creare o aggiornare uno stack AWS CloudFormation che contiene una distribuzione Amazon CloudFront, ricevo il seguente errore: "Una o più delle tue origini o gruppi di origine non esistono."
Breve descrizione
Questo errore si verifica quando la proprietà TargetOriginId di CacheBehavior o DefaultCacheBehavior non corrisponde a un ID di origine o a un gruppo di origine CloudFront. Questo ID è una stringa definita dall'utente che identifica in modo univoco un'origine o un gruppo di origine. Devi definire il gruppo di origine nel modello e gestire le tue risorse tramite CloudFormation.
Suggerimento: è consigliabile evitare di apportare modifiche alle risorse dello stack esterne a CloudFormation. Ciò può creare una mancata corrispondenza tra il modello dello stack e lo stato attuale delle risorse dello stack. Quando aggiorni o elimini lo stack, la mancata corrispondenza può causare errori.
Risoluzione
1. Verifica che TargetOriginId corrisponda all'ID di una delle origini o dei gruppi di origine definiti. Immetti l'ID di origine corretto come parametro per DefaultCacheBehavior o CacheBehavior.
Nel seguente esempio di frammenti del modello JSON e YAML, DefaultCacheBehavior definisce e utilizza una distribuzione CloudFront con un'unica origine. Inoltre, l'origine utilizza un'identità di accesso all'origine (OAI) per l'autenticazione. Negli esempi, l'ID di origine è impostato su my-s3-origin.
JSON:
{ "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" } } } } } }
Nota: sostituisci my-s3-origin con il tuo ID di origine, my-s3-bucket.s3.amazonaws.com con il tuo nome di dominio e /my-content con il tuo percorso di origine.
YAML:
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}
2. Prova la tua distribuzione CloudFront per verificare che lo stack CloudFormation sia stato creato o aggiornato.
Informazioni correlate
Utilizzo di origini diverse con le distribuzioni CloudFront
Contenuto pertinente
- AWS UFFICIALEAggiornata 2 anni fa
- AWS UFFICIALEAggiornata 2 anni fa