こんにちは ひこにきです!
EC2で ElasticIP(パブリックIPv4) をインスタンスに関連付けて外部からアクセス可能になりますが、ターミナル上で ifconfig コマンドではローカルIPしか確認することができません
皆さんどのように確認していますか?
今まではAWSコンソールから確認していたのですが なんとなんと ec2-metadata コマンドがあるではありませんか!!
今回は ec2-metadata コマンドでについてを説明をしたいと思います
EC2 ターミナル上で public IP の確認方法(ec2-metadata)
まずはパブリックIPの確認ですね
# ec2-metadata -v
public-ipv4: 52.199.199.199
おぉ、ちょっと感動w
インスタンスタイプ(Instance Type) の確認方法(ec2-metadata)
今までは AWSコンソール確認や /proc/cpuinfo /proc/meminfo など確認してスペックからおおよその判断をしていました
# ec2-metadata -t
instance-type: t3.medium
アベイラビリティーゾーン(availability-zone) の確認方法
ネットワーク設定でアベイラビリティーゾーン毎にサブネット分けているのでサブネットのレンジを覚えていれば ifconfig で判断できますが
以下コマンドで一発で確認できますね
# ec2-metadata -z
placement: ap-northeast-1c
オプションなしで全項目を表示(ec2-metadata)
結構、多くのメタ情報を確認できますね
# ec2-metadata
ami-id: ami-0aa394xxxxxxxx
ami-launch-index: 0
ami-manifest-path: (unknown)
ancestor-ami-ids: not available
block-device-mapping:
ami: xvda
root: /dev/xvda
instance-id: i-0a90axxxxxxxx
instance-type: t3.medium
local-hostname: ip-10-0-0-100.ap-northeast-1.compute.internal
local-ipv4: 10.0.0.100
kernel-id: not available
placement: ap-northeast-1c
product-codes: not available
public-hostname: not available
public-ipv4: 52.199.199.199
public-keys:
keyname:xxxxxxKey
index:0
format:openssh-key
key:(begins from next line)
ssh-rsa AAAAB3NzaXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ramdisk-id: not available
reservation-id: r-060c4xxxxxxxxx
security-groups: sgXXXXXXXXXX
user-data: not available
ec2-metadata 各オプションの説明・ヘルプ(help)
# ec2-metadata --help
Usage: ec2-metadata <option>
Options:
--all Show all metadata information for this host (also default).
-a/--ami-id The AMI ID used to launch this instance
-l/--ami-launch-index The index of this instance in the reservation (per AMI).
-m/--ami-manifest-path The manifest path of the AMI with which the instance was launched.
-n/--ancestor-ami-ids The AMI IDs of any instances that were rebundled to create this AMI.
-b/--block-device-mapping Defines native device names to use when exposing virtual devices.
-i/--instance-id The ID of this instance
-t/--instance-type The type of instance to launch. For more information, see Instance Types.
-h/--local-hostname The local hostname of the instance.
-o/--local-ipv4 Public IP address if launched with direct addressing; private IP address if launched with public addressing.
-k/--kernel-id The ID of the kernel launched with this instance, if applicable.
-z/--availability-zone The availability zone in which the instance launched. Same as placement
-c/--product-codes Product codes associated with this instance.
-p/--public-hostname The public hostname of the instance.
-v/--public-ipv4 NATted public IP Address
-u/--public-keys Public keys. Only available if supplied at instance launch time
-r/--ramdisk-id The ID of the RAM disk launched with this instance, if applicable.
-e/--reservation-id ID of the reservation.
-s/--security-groups Names of the security groups the instance is launched in. Only available if supplied at instance launch time
-d/--user-data User-supplied data.Only available if supplied at instance launch time.
皆さん「ec2-metadata」を知ってましたでしょうか?便利ですね
恥ずかしながら EC2 結構長い間、運用していたのに知らなかったです。。(*^^*)