2017-10-20 57 views
0

我的Powershell腳本使用Get-EC2Tag來標識實例標記。如果我的實例上附有一個EIP,則一切正常。如果我脫離EIP那麼Get-EC2Tag寫入錯誤:AWS Get-EC2Tag不附加EIP

Get-EC2Tag : A WebException with status ConnectFailure was thrown 

出於安全原因,我不希望有附着在VPC我所有的情況下,EIP。有什麼辦法可以使Get-EC2Tag無需連接EIP

這裏是我的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

請顯示您的密碼(屏蔽訪問密鑰)。 – mootmoot

+0

海爾是我的代碼:'設置AWSCredentials -AccessKey XXX -SecretKey XXX $ GetInstanceId =(wget的http://169.254.169.254/latest/meta-data/instance-id).Content $ myTag =(獲取-EC2Tag |其中{$ _。Key -eq「myTag」 - 和$ _。ResourceId -eq「$ GetInstanceId」})。值' –

+0

@GoranJamicic您需要專用子網和NAT網關。 –

回答

0

Get-EC2Tag連接到AWS端點(取決於你所使用的區域),以獲得標籤。看看List of EC2 endpoints

要連接到端點,您需要連接到互聯網。當你擁有一個連接到實例的公共IP /彈性IP時,你就可以訪問互聯網。一旦分離EIP,就沒有路由到Internet,並且腳本無法連接到AWS端點。

您可以查詢內部元數據服務器以查詢許多實例屬性,但標籤當前不受支持。

+0

謝謝你的回答。我將嘗試爲我的問題尋找其他解決方案。 –