Это потому, что каждому экземпляру может быть назначено несколько групп безопасности, поэтому SecurityGroups
- это массив. вы можете получить доступ к первому элементу в массиве, если вместо этого:
SecurityGroups.GroupName
ты сделаешь:
SecurityGroups[0].GroupName
но это покажет вам только первую группу безопасности в списке. Если вы хотите увидеть весь список, вам придется изменить свой запрос на что-то вроде:
aws ec2 describe-instances --region "us-west-2" --query 'Reservations[*].Instances[*].[InstanceId,SecurityGroups[].GroupName |[*]]' --output text