2017-10-20 27 views
0

Mon script Powershell utilise Get-EC2Tag pour identifier le tag d'instance. Tout fonctionne bien, si j'en ai un EIP attaché sur mon instance. Si je détaché EIP alors le Get-EC2Tag écrit l'erreur:AWS Get-EC2Tag ne va pas sans EIP joint

Get-EC2Tag : A WebException with status ConnectFailure was thrown 

Pour des raisons de sécurité, je ne veux pas avoir attaché le EIP sur toutes mes instances en VPC. Y at-il un moyen de faire Get-EC2Tag au travail sans joint EIP?

Voici mon script PowerShell:

$GetInstanceId = (wget http://169.254.169.254/latest/meta-data/instance-id).Content 
$myTag = (Get-EC2Tag | where {$_.Key -eq "myTag" -and $_.ResourceId -eq "$GetInstanceId"}).Value 
+1

Montrez votre code (masquer la clé d'accès) s'il vous plaît. – mootmoot

+0

est mon code Yesterday: 'Set-AWSCredentials -touch xxx xxx -SecretKey $ GetInstanceId = (wget http://169.254.169.254/latest/meta-data/instance-id).Content $ myTag = (Obtenir -EC2Tag | où {$ _. Key -eq "monTag" -et $ _. ResourceId -eq "$ GetInstanceId"}). Value' –

+0

@GoranJamicic vous avez besoin de sous-réseaux privés et d'une passerelle NAT. –

Répondre

0

Get-EC2Tag se connecte au point final AWS (selon la région que vous utilisez) pour obtenir l'étiquette. Regardez List of EC2 endpoints

Pour vous connecter au point de terminaison, vous devez vous connecter à Internet. Lorsque vous avez une adresse IP publique/élastique attachée à une instance, vous avez un moyen d'accéder à Internet. Une fois que vous avez détaché un EIP, il n'y a pas de route vers Internet et le script n'a aucun moyen de se connecter au point de terminaison AWS.

Vous pouvez interroger le serveur de métadonnées interne pour interroger de nombreux attributs d'instance, mais les balises ne sont pas prises en charge actuellement.

+0

Merci pour votre réponse. Je vais essayer de trouver une autre solution pour mon problème. –