こんにちは、株式会社オプトプランニングです。
2024年8月21日付で、当社は協会けんぽ広島支部様より、
「ひろしま企業健康宣言 健康づくり優良事業所」に認定されました!
3年連続 5つ星です!!☆☆☆☆☆
令和3年度から健康経営に取組み、従業員のみなさんの健康づくりに積極的に取り組んでまいりました。
引き続き、これからも続けてまいります!
広島で(1)クラウドサービス(AWS・Azure・GCP)の提供、(2)Webシステム・スマホアプリ開発をおこなう、 オプトプランニングのブログです。
こんにちは、株式会社オプトプランニングです。
2024年8月21日付で、当社は協会けんぽ広島支部様より、
「ひろしま企業健康宣言 健康づくり優良事業所」に認定されました!
3年連続 5つ星です!!☆☆☆☆☆
令和3年度から健康経営に取組み、従業員のみなさんの健康づくりに積極的に取り組んでまいりました。
引き続き、これからも続けてまいります!
AWS CLIコマンドは色々な情報を取得できたり、設定できたります。--filterオプションと--queryオプションを同時に指定することで、特定した情報を取得できます。
EXCELの行と列を指定して、取り出したい項目を特定する事と同様の結果を得れます。
aws ec2 describe-instancesコマンドを実行すると、リージョンにあるすべてのインスタンス情報が出力されます。特定のインスタンスに絞りたい場合にfiltersオプションを使用し,かつ,特定の項目のみ出力したい場合は、queryオプションも同時に指定します。
https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html
にあるように、queryで出力したい項目を,きちんと書かないと機能しません。
The following describe-instances examples use the --query parameter to display only the instance and subnet IDs for all instances, in JSON format.
Exsample8 インスタンスタンスIDと,サブネットIdのみを出力
--query 'Reservations[*].Instances[*]{Instance:InstanceId,Subnet:SubnetId}'
Exsample10 インスタンスId,アベイラビリティゾーン,Name Tagの値
--query 'Reservations[*].Instances[*].{Instance:InstanceId,AZ:Placement.AvailabilityZone,Name:Tags[?Key==`Name`]|[0].Value}'
コマンド例 コマンド実行結果のjson形式を jqで成形します。
例1 インスタンスタイプ(t3a.micro)を抽出し,そのフィールドを出力
aws ec2 describe-instances \
--filters Name=instance-type,Values=t3a.micro \
--query 'Reservations[*].Instances[*].{Type:InstanceType}' | jq .
例2 インスタンスタイプ(t3a.micro)のみ抽出し,インスタンスタイプ,Name Tagを出力
aws ec2 describe-instances \
--filters Name=instance-type,Values=t3a.micro \
--query 'Reservations[*].Instances[*].{Type:InstanceType,Name:Tags[?Key==`Name`].Value}' | jq .
例3 インスタンスタイプ(t3a.micro 又は t3.micro)を抽出し,インスタンスタイプ,Name Tagを出力
aws ec2 describe-instances \
--filters Name=instance-type,Values=t3a.micro,t3.micro \
--query 'Reservations[*].Instances[*].{Type:InstanceType,Name:Tags[?Key==`Name`].Value}' | jq .
例4 インスタンスの状態(running 又は stopped)を抽出し,インスタンスタイプ,Name Tag,状態(State)を出力
aws ec2 describe-instances \
--filters Name=instance-state-name,Values=running,stopped \
--query 'Reservations[*].Instances[*].{Type:InstanceType,Name:Tags[?Key==`Name`].Value,State:State.Name}' | jq .
例5 インスタンスの状態(running 又は stopped)を抽出し,インスタンスタイプ,プラットフォームOS,Name Tag,状態(State)を出力
aws ec2 describe-instances \
--filters Name=instance-state-name,Values=running,stopped \
--query 'Reservations[*].Instances[*].{Type:InstanceType,OS:PlatformDetails,Name:Tags[?Key==`Name`].Value,State:State.Name}' | jq .
例6 インスタンスタイプ(t3.micro)で,かつ,インスタンスがstopedを抽出し,インスタンスタイプ,Name Tag,状態(State)を出力
aws ec2 describe-instances \
--filters Name=instance-type,Values=t3.micro \
Name=instance-state-name,Values=stopped \
--query 'Reservations[*].Instances[*].{Type:InstanceType,Name:Tags[?Key==`Name`
].Value,State:State.Name}' | jq .
例7 インスタンスタイプ(t3.micro)で,かつ,インスタンスがstopedを抽出し,インスタンスタイプ,プラットフォームOS,Name Tag,状態(State)を出力
aws ec2 describe-instances \
--filters Name=instance-type,Values=t3.micro \
Name=instance-state-name,Values=stopped \
--query 'Reservations[*].Instances[*].{Type:InstanceType,OS:PlatformDetails,Name:Tags[?Key==`Name`].Value,State:State.Name}' | jq .
例1 インスタンスタイプ(t3a.micro)のみ抽出し,インスタンスタイプのフィールドのみ出力の実行結果 一部のみ掲載
[
[
{
"Type": "t3a.micro"
}
],
[
{
"Type": "t3a.micro"
}
]
例2 インスタンスタイプ(t3a.micro)のみ抽出し,インスタンスタイプ,Name Tagを出力の実行結果 一部のみ掲載
[
[
{
"Type": "t3a.micro",
"Name": [
"Ama-linux2-kami"
]
}
],
[
{
"Type": "t3a.micro",
"Name": [
"Ama_linux2_Redmine_MySQL"
]
}
]
例3 インスタンスタイプ(t3a.micro 又は t3.micro)を抽出し,インスタンスタイプ,Name Tagを出力の実行結果 一部のみ掲載
[
{
"Type": "t3.micro",
"Name": [
"kamishita-docker-python"
]
}
],
[
{
"Type": "t3a.micro",
"Name": [
"Ama_linux2_Redmine_MySQL"
]
}
]
例4 インスタンスの状態(running 又は stopped)を抽出し,インスタンスタイプ,Name Tag,状態(State)を出力の実行結果 一部のみ掲載
[
{
"Type": "t3a.micro",
"Name": [
"Ama_linux2_Redmine_MySQL"
],
"State": "running"
}
],
[
{
"Type": "t3a.micro",
"Name": [
"kamishita_linux2023_private"
],
"State": "stopped"
}
]
例5 インスタンスの状態(running 又は stopped)を抽出し,インスタンスタイプ,プラットフォームOS,Name Tag,状態(State)を出力の実行結果 一部のみ掲載
{
"Type": "t3a.micro",
"OS": "Linux/UNIX",
"Name": [
"Ama_linux2_Redmine_MySQL"
],
"State": "running"
}
],
[
{
"Type": "t3a.micro",
"OS": "Linux/UNIX",
"Name": [
"debug-docker-kami"
],
"State": "stopped"
}
]
例6 インスタンスタイプ(t3.micro)で,かつ,インスタンスがstopedを抽出し,インスタンスタイプ,Name Tag,状態(State)を出力の実行結果
[
[
{
"Type": "t3.micro",
"Name": [
"kamishita-docker-python"
],
"State": "stopped"
}
],
[
{
"Type": "t3.micro",
"Name": [
"kamishita_Public_AMA2023"
],
"State": "stopped"
}
]
]
例7 インスタンスタイプ(t3.micro)で,かつ,インスタンスがstopedを抽出し,インスタンスタイプ,プラットフォームOS,Name Tag,状態(State)を出力の実行結果
[
[
{
"Type": "t3.micro",
"OS": "Linux/UNIX",
"Name": [
"kamishita-docker-python"
],
"State": "stopped"
}
],
[
{
"Type": "t3.micro",
"OS": "Linux/UNIX",
"Name": [
"kamishita_Public_AMA2023"
],
"State": "stopped"
}
]
]