0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

結論

DisableIMDSv1とは?の問いに対しての結論として

「IMDSv1を無効にするかどうか」

という設定ですが自分もIMDS自体意識したことがなかったので調べてみました。

IMDS(インスタンスメタデータサービス)

インスタンスメタデータサービスとはEC2の情報をとってこれるコマンドです。
ec2を立ち上げてSSHやInstance Connectでログインします。
IMDSv1は2024年7月現在無効化されているのでIMDSv2でテストしてみます。
ログインしたEC2で以下のコマンドを実行します。

IMDSv2

$ curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/
ami-id
ami-launch-index
ami-manifest-path
block-device-mapping/
events/
hostname
identity-credentials/
instance-action
instance-id
instance-life-cycle
instance-type
local-hostname
local-ipv4
mac
managed-ssh-keys/
metrics/
network/
placement/
profile
public-hostname
public-ipv4
reservation-id
security-groups
services/

EC2の様々な情報が取れていることが確認できました。
さらにプライベートIPv4アドレスを取得してみましょう。

$ curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/local-ipv4
172.31.x.xx

取得できました。
ちなみにコンソールから設定すればver1でも検証は可能です。

IMDSv1有効.jpg

IMDSv1有効2.jpg

特別な理由がない限りver2を使いましょう。
ver1はSSRF攻撃などのリスクがあるとのことです。

ver1ではcurlコマンドのオプションなしでも取得できます。

ver1

$ curl http://169.254.169.254/latest/meta-data
ami-id
ami-launch-index
ami-manifest-path
block-device-mapping/
events/
hostname
identity-credentials/
instance-action
instance-id
instance-life-cycle
instance-type
local-hostname
local-ipv4
mac
managed-ssh-keys/
metrics/
network/
placement/
profile
public-hostname
public-ipv4
reservation-id
security-groups
services/

このような形でEC2インスタンスの様々なデータを取得できるのがIMDS(インスタンスメタデータサービス)なんですね。
何か動的にインスタンスを操作したい場合などには使えるかもしれません。

169.254.169.254とは

169.254.169.254をはじめとする169.254.0.0/16ネットワーク内のアドレスがこのIMDS用にAWSが確保しているアドレスとのことでした。

DisableIMDSv1の使い方

DisableIMDSv1というプロパティはBeanstalkのebextensionsで設定できる項目になります。
具体的には以下のようにautoscalingに設定し、管理下のEC2のIMDSをv2にするというものになります。

disableIMDS.yaml
#拡張子は見やすくするためにyamlで指定していますが実際はconfigです。
option_settings:
  aws:autoscaling:launchconfiguration:
    DisableIMDSv1: true

LaunchTemplateへの切り替え

IMDSv1を調べるきっかけになったのがLaunchTemplateへの移行でした。

LaunchTemplateをBeanstalkで使用する際にDisableIMDSv1の設定は2024年7月現在では必須でした。

参考

とてもわかりやすかったです
ありがとうございました!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?