iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more
Fn::GetStackOutput permet à une pile CloudFormation de lire un output d’une autre pile sans créer d’export explicite. Pour franchir une frontière de compte, indiquez dans RoleArn un rôle du compte source que le rôle d’exécution de la pile consommatrice peut assumer. Pour une source dans une autre région, ajoutez Region. Cette référence est faible : CloudFormation récupère la valeur à la création ou à la mise à jour du consommateur, mais ne le met pas à jour automatiquement quand la source change.
Syntaxe de Fn::GetStackOutput
La fonction exige le nom de la pile source et la clé de l’output à lire. Region et RoleArn sont facultatifs : par défaut, la région est celle de la pile consommatrice, et le rôle d’exécution actuel est utilisé lorsqu’il n’y a pas de frontière de compte.
Fn::GetStackOutput:
StackName: ProducerStack
OutputName: VpcId
Region: us-west-2
RoleArn: arn:aws:iam::111111111111:role/GetStackOutputRole
StackName: nom de la pile productrice.OutputName: clé logique de l’output dans le modèle de la pile productrice.Region: région exacte de la pile source si elle diffère de celle du consommateur.RoleArn: ARN du rôle situé dans le compte propriétaire de la pile source, nécessaire pour une référence intercompte.
La forme courte !GetStackOutput est possible si ses paramètres n’emploient pas d’autres fonctions courtes. Si un paramètre contient par exemple !Ref ou !Sub, utilisez la forme complète Fn::GetStackOutput avec la représentation correspondante : YAML ne permet pas d’imbriquer plusieurs tags de forme courte.
PC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchRéférence AWS CloudFormation : Fn::GetStackOutput
#1 Best Overall
Configurer l’accès intercompte
Une référence intercompte repose sur deux contrôles IAM distincts dans le compte source. Le rôle spécifié par RoleArn doit pouvoir appeler cloudformation:DescribeStacks, et sa stratégie de confiance doit autoriser le rôle d’exécution de la pile consommatrice à l’assumer. La permission DescribeStacks seule ne suffit donc pas. AWS recommande de limiter autant que possible la ressource autorisée à l’ARN de la pile nécessaire.
- Dans le compte source, créez ou choisissez un rôle IAM dont la stratégie d’autorisation accorde
cloudformation:DescribeStackssur la pile visée. - Dans la stratégie de confiance de ce rôle, autorisez le rôle d’exécution de la pile consommatrice à effectuer
sts:AssumeRole. - Dans le modèle consommateur, renseignez le nom de la pile, la clé d’output et l’ARN du rôle source dans
RoleArn. - Si la pile source est dans une autre région, indiquez aussi cette région dans
Region.
La référence peut franchir à la fois une frontière de compte et une frontière de région en combinant RoleArn et Region. La documentation AWS décrit les paramètres et l’accès requis.
Rank #2
Choisir entre Fn::GetStackOutput et Fn::ImportValue
| Critère | Export et Fn::ImportValue |
Fn::GetStackOutput |
|---|---|---|
| Dans le même compte et la même région | Oui | Oui |
| Entre comptes | Non | Oui |
| Entre régions | Non | Oui |
| Export explicite nécessaire | Oui | Non |
| Force de la référence | Forte | Faible |
| Protection contre la modification ou la suppression de l’output source tant qu’il est utilisé | Oui | Non |
| Résolution de la valeur | Par l’import de la valeur exportée | À la création ou à la mise à jour du consommateur |
Choisissez Fn::ImportValue lorsque les piles sont dans le même compte et la même région et que la protection de la dépendance est prioritaire : un import actif empêche la modification ou la suppression de l’output exporté. Choisissez Fn::GetStackOutput pour franchir des frontières de compte ou de région, ou éviter de gérer des exports, en acceptant de prendre en charge vous-même la stabilité et le cycle de mise à jour de la dépendance. AWS indique également que les piles imbriquées peuvent convenir au partage de composants entre piles gérées ensemble.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Documentation AWS sur les exports et les valeurs importées
Rank #3
Où la fonction peut être utilisée
La référence CloudFormation décrit l’utilisation de la fonction comme valeur directe d’une propriété de ressource, ainsi que dans Fn::Join, Fn::If et Fn::Select. Les valeurs employées pour construire ses paramètres ne doivent pas dépendre d’une ressource.
La documentation signale des emplacements non pris en charge qui peuvent produire InternalFailure :
Rank #4
- dans une valeur de la carte de variables de
Fn::Sub; - dans
Fn::Base64; - comme valeur directe dans la section
Outputs; - dans
Fn::Equalsde la sectionConditions; - dans
Fn::ImportValue.
Ces règles peuvent évoluer. Vérifiez la référence CloudFormation actuelle si vous concevez un modèle ou rencontrez une erreur de placement.
Comprendre la référence faible et maîtriser les changements
AWS décrit explicitement Fn::GetStackOutput comme une référence faible. CloudFormation résout la valeur lorsque la pile consommatrice est créée ou mise à jour. Si l’output source change ensuite, le consommateur ne reçoit pas de notification et ne se met pas à jour automatiquement. Si la pile ou l’output source est supprimé, cette référence ne fournit pas la protection qu’apporte un import actif.
Best Value
- Protégez la pile source et ses outputs contre les modifications accidentelles.
- Quand une valeur source change et que le consommateur doit l’utiliser, planifiez une mise à jour de la pile consommatrice.
Dépanner les échecs de résolution
CloudFormation vérifie la référence pendant une opération de création ou de mise à jour de la pile consommatrice. Vérifiez les causes selon le type d’échec :
- Accès refusé : vérifiez séparément que le rôle consommateur peut assumer le rôle source et que ce dernier autorise
cloudformation:DescribeStacks. - Pile ou output introuvable : contrôlez le nom de pile, la clé d’output et la région renseignée.
- Erreur liée à la région : une région invalide ou non activée pour le compte propriétaire de la pile peut faire échouer l’opération.
InternalFailure: vérifiez si la fonction est employée dans un emplacement non pris en charge, notamment ceux listés ci-dessus.
Pour certaines références entre us-east-1 et des régions opt-in, AWS recommande de mettre à jour la compatibilité du jeton avec le point de terminaison STS global. Si l’erreur concerne cette combinaison, consultez la recommandation dans la documentation de la fonction.
Utiliser Fn::GetStackOutput avec AWS CDK
La documentation CloudFormation indique que le CDK expose cette fonction sous la forme Fn.getStackOutput(). Pour des références entre piles CDK traversant des comptes ou des régions, cette prise en charge peut éviter des ressources personnalisées fondées sur les paramètres Systems Manager et l’ancien mécanisme crossRegionReferences. La syntaxe et les détails d’intégration dépendent de la version du CDK : consultez la référence API correspondant à la version installée avant d’adapter un exemple.
Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Fix the driver behind crashes, sound loss and screen glitches3Clear out junk files and repair common Windows errorsRéférence CloudFormation de Fn::GetStackOutput, y compris le support CDK mentionné par AWS
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

