2回答
- 新しい順
- 投票が多い順
- コメントが多い順
1
以下のドキュメントに記載されているリソースタイプであれば取得可能だと思います。
https://docs.aws.amazon.com/config/latest/developerguide/resource-config-reference.html#supported-resources
「AWS::EC2::Instance」の中で取得できないEC2の情報が複数あるということでしょうか?
1
AWS EC2 NetworkInterfaceを記録するように設定すると以下のように出力されるようになります。
aws configservice batch-get-resource-config --resource-keys '[ { "resourceType" : "AWS::EC2::NetworkInterface" , "resourceId": "eni-yyyyyyyyyyyyy" } ]'
{
"baseConfigurationItems": [
{
"version": "1.3",
"accountId": "111111111111",
"configurationItemCaptureTime": "2023-12-22T07:21:54.239000+00:00",
"configurationItemStatus": "OK",
"configurationStateId": "11111111111",
"arn": "arn:aws:ec2:ap-northeast-1:111111111111:network-interface/eni-yyyyyyyyyyyyy",
"resourceType": "AWS::EC2::NetworkInterface",
"resourceId": "eni-yyyyyyyyyyyyy",
"awsRegion": "ap-northeast-1",
"availabilityZone": "ap-northeast-1c",
"configuration": "{\"association\":null,\"attachment\":{\"attachTime\":\"2023-11-15T14:16:06.000Z\",\"attachmentId\":\"eni-attach-yyyyyyyyyyyyy\",\"deleteOnTermination\":true,\"deviceIndex\":0,\"networkCardIndex\":0,\"instanceId\":\"i-yyyyyyyyyyyyy\",\"instanceOwnerId\":\"111111111111\",\"status\":\"attached\",\"enaSrdSpecification\":null},\"availabilityZone\":\"ap-northeast-1c\",\"connectionTrackingConfiguration\":null,\"description\":\"\",\"groups\":[{\"groupName\":\"web-server\",\"groupId\":\"sg-yyyyyyyyyyyyy\"}],\"interfaceType\":\"interface\",\"ipv6Addresses\":[],\"macAddress\":\"0a:b6:e1:11:11:11\",\"networkInterfaceId\":\"eni-yyyyyyyyyyyyy\",\"outpostArn\":null,\"ownerId\":\"111111111111\",\"privateDnsName\":\"ip-172-31-1-71.ap-northeast-1.compute.internal\",\"privateIpAddress\":\"172.31.1.71\",\"privateIpAddresses\":[{\"association\":null,\"primary\":true,\"privateDnsName\":\"ip-172-31-1-71.ap-northeast-1.compute.internal\",\"privateIpAddress\":\"172.31.1.71\"}],\"ipv4Prefixes\":null,\"ipv6Prefixes\":null,\"requesterId\":null,\"requesterManaged\":false,\"sourceDestCheck\":true,\"status\":\"in-use\",\"subnetId\":\"subnet-yyyyyyyyyyyyy\",\"tagSet\":[],\"vpcId\":\"vpc-yyyyyyyyyyyyy\",\"denyAllIgwTraffic\":null,\"ipv6Native\":null,\"ipv6Address\":null}",
"supplementaryConfiguration": {}
}
],
"unprocessedResourceKeys": []
}
関連するコンテンツ
- 質問済み 12日前
- AWS公式更新しました 2ヶ月前
- AWS公式更新しました 1年前
- AWS公式更新しました 8ヶ月前
回答ありがとうございます。
AWS::EC2::Instaceは、全て情報が取れています。 nullが返ってくるのは、AWS::EC2::ClientVpnEndpoint や AWS::EC2::NetworkInterfaceなどです(他多数)。
いずれもリソースとして存在しており(resource idは取得できる)、configuration 項目だけがnull値で返ってきます。
ENIを確認するためのコマンドを私も実行して「configuration」がnullになることを確認しました。 マネジメントコンソールからも確認してみましたが、「configuration」が元々nullになっているのでもしかしたら取得できない可能性が高いです。
回答ありがとうございます。
確かにAWS::EC2::NetworkInterfaceについては、batch-get-resource-configコマンド実行時のリソースid (eni-12xxxx)指定で configuration: null 以外の情報は取れても、コンソール上で該当リソースidがヒットしないものがありました。 存在しないので、設定情報が返ってこないというのは納得できます。
しかし、コンソール上で存在を確認したリソース (eni-34xxxx)に対して、configuration: nullで返ってくる理由が分からないです。 コンソール上で確認すると、該当リソースにはmacアドレスやIPアドレス、セキュリティグループなど色々な設定がされているため、 これらの情報がconfiguration 項目に入ってくるのが期待値です。
取得されない理由が分かりました。 AWS Configの設定からNetworkInterfaceのリソースを記録するようにしてみてください。 そうするとconfigurationにIPアドレスなどの情報が含まれるようになりました。
回答ありがとうございます。
お教えいただいた設定(AWS Config→設定→記録するリソースタイプ: AWS::EC2::NetworkInterfaceを追加)をすることで、期待通りの値が取得できました。 設定情報を取得できていない他のリソースタイプについても、ここに追加することで設定値が取得できそうです。
この度は、迅速な対応ありがとうございました。