awscliでvpcの情報を取得するスクリプト
課題:エクエルマクロで変換して、パラメータシートに書き込むところまだ
IPv6対応もまだ
次には、サブネットやEc2なども作っていきます。
#!/bin/bash
### IPv6非対応 ###
### 暗号化空白時対応まだ ##
CIDRS=$(aws ec2 describe-vpcs | jq -r .[][].CidrBlock)
for cidr in $(echo $CIDRS)
do
#echo $cidr
OWNERID=$(aws ec2 describe-vpcs --filter "Name=cidr-block,Values=$cidr" | jq -r .[][].OwnerId)
INSTANCETENANCY=$(aws ec2 describe-vpcs --filter "Name=cidr-block,Values=$cidr" | jq -r .[][].InstanceTenancy)
DHCPOPTIONSID=$(aws ec2 describe-vpcs --filter "Name=cidr-block,Values=$cidr" | jq -r .[][].DhcpOptionsId)
STATE=$(aws ec2 describe-vpcs --filter "Name=cidr-block,Values=$cidr"| jq -r .[][].State)
VPCID=$(aws ec2 describe-vpcs --filter "Name=cidr-block,Values=$cidr" | jq -r .[][].VpcId)
INTERNETGATEWAYBLOCKMODE=$(aws ec2 describe-vpcs --filter "Name=cidr-block,Values=$cidr" | jq -r .[][].BlockPublicAccessStates.InternetGatewayBlockMode)
ENABLEDNSHOATNAMES=$(aws ec2 describe-vpc-attribute --vpc-id $VPCID --attribute enableDnsHostnames | jq -r .EnableDnsHostnames.Value)
ENABLEDNSSUPPORT=$(aws ec2 describe-vpc-attribute --vpc-id $VPCID --attribute enableDnsSupport | jq -r .EnableDnsSupport.Value)
INSTANCETENANCY=$(aws ec2 describe-vpcs --filter "Name=cidr-block,Values=$cidr" | jq -r .[][].InstanceTenancy)
NETWORKACLID=$(aws ec2 describe-network-acls --filters "Name=vpc-id,Values=$VPCID" | jq -r .[][].NetworkAclId)
ROUTETABLEID=$(aws ec2 describe-route-tables --filters "Name=vpc-id,Values=$VPCID" | jq -r .[][].Associations[].RouteTableId)
ISDEFAULT=$(aws ec2 describe-vpcs --filter "Name=cidr-block,Values=$cidr" | jq -r .[][].IsDefault)
VPCENCRYPTIONCONTROLS=$(aws ec2 describe-vpc-encryption-controls | jq -r .VpcEncryptionControls | grep -v "\[\]")
ENABLENENETWORKADDRESSUSAGEMETRICS=$(aws ec2 describe-vpc-attribute --vpc-id $VPCID --attribute enableNetworkAddressUsageMetrics | jq -r .EnableNetworkAddressUsageMetrics.Value)
echo "VPCID:$VPCID"
echo "STATE:$STATE"
echo "InternetGatewayBlockMode:$INTERNETGATEWAYBLOCKMODE"
echo "ENABLEDNSHOATNAMES:$ENABLEDNSHOATNAMES"
echo "ENABLEDNSSUPPORT:$ENABLEDNSSUPPORT"
echo "INSTANCETENANCY:$INSTANCETENANCY"
echo "DHCPOPTIONSID:$DHCPOPTIONSID"
echo "ROUTETABLEID:$ROUTETABLEID"
echo "NETWORKACLID:$NETWORKACLID"
echo "ISDEFAULT:$ISDEFAULT"
echo "ENABLENENETWORKADDRESSUSAGEMETRICS:$ENABLENENETWORKADDRESSUSAGEMETRICS"
echo "OWNERID:$OWNERID"
echo "VPCENCRYPTIONCONTROLS:$VPCENCRYPTIONCONTROLS"
done
ipv6設定すると
以下のような項目ができます。
"Ipv6CidrBlockAssociationSet": [
{
"AssociationId": "vpc-cidr-assoc-xxxxxxxxa",
"Ipv6CidrBlock": "24xx:xx14:xxa6:xx00::/xx",
"Ipv6CidrBlockState": {
"State": "associated"
},
"NetworkBorderGroup": "ap-northeast-1",
"Ipv6Pool": "Amazon",
"Ipv6AddressAttribute": "public",
"IpSource": "amazon"
}
],