4

Windows PowerShell スクリプトで aws ec2 ユーザーデータを使用しています。インスタンスのブートストラップが必要です。私の考えは:

  • EC2 インスタンスのタグが追加されます。キー名は「Version」、値は「1.0.0.158-branchname」です。

ユーザーデータでバージョンタグの値を取得しようとしました。aws http api を確認しました。タグを返すことはできません。簡単なpowershellスクリプトを書きました:

$instanceId = (New-Object System.Net.WebClient).DownloadString("http://169.254.169.254/latest/meta-data/instance-id")
aws ec2 describe-tags --filters $filter --query 'Tags[*]'

aws http api でインスタンス ID を取得できます。AWS ec2 ユーザーデータが「aws.exe」を起動できないため、インスタンス タグを取得できません。

このスクリプトは正しいです。インスタンスが開始される前に手動で実行されます。

注: 「aws」は「aws.exe」です ( https://aws.amazon.com/cli/ )

4

2 に答える 2

11

私はそれを解決します、私の問題は aws cli を使用しています。私はpowershell apiを使用して修正します。

$instanceId = (New-Object System.Net.WebClient).DownloadString("http://169.254.169.254/latest/meta-data/instance-id")
$versionTag =  Get-EC2Tag | ` Where-Object {$_.ResourceId -eq $instanceId -and $_.Key -eq 'Version'}
于 2014-05-09T09:11:46.300 に答える