ECSタスクがそれ(タスク)がデプロイされている場所のec2メタデータを取得する方法はありますか?

グルービー初心者

ECSタスクがデプロイされた場所のEC2メタデータをフェッチできるようにする方法はありますか?

ec2インスタンスメタデータのAWSドキュメントから、ec2インスタンス自体の内部にいるときにEC2インスタンスメタデータを取得できます。私はinstance-idフェッチすることにもっと興味があり、コマンドで達成できます

curl http://169.254.169.254/latest/meta-data/instance-id

これは、ec2インスタンスに直接移動してクエリ/コマンドを実行する場合にのみ実現されますが、EC2インスタンスで実行されているECSタスクからec2メタデータをフェッチする場合、これはどのように可能ですか?タスクメタデータのAWSドキュメントに基づいて、ECSタスク自体の詳細をフェッチすることはできましたが、タスクが実行されているec2メタデータをフェッチすることはできませんでした。

これは可能ですか?

セットアップ:

  • ec2インスタンスはecsクラスターにあります
  • ecsタスクは、クラスター内の任意のec2インスタンスにランダムにデプロイされます
イムラン

IPを使用するメタデータエンドポイント169.254.169.254は、EC2の詳細のみを取得することを目的としています

どこ169.254.170.2ECSタスクのメタデータを取得するためのものです。

タスク内でEC2メタデータエンドポイントを呼び出してEC2の詳細を取得できるはずです。

以下のサンプルセットアップでは、ECSクラスターの1つのEC2インスタンス部分があり、1つのnginxタスクが実行されています。

タスクにSSHで接続しましたが(docker exec -it ab8 /bin/sh)、nginxEC2メタデータエンドポイントに正しく到達でき、EC2 instanceId(i-0086xxxxxxxxxxxを取得しました

これで、タスクのランタイム(java、nodejs、pythonなど)に応じて、タスク内でEC2メタデータ呼び出しを行うことができるはずです。

[root@ip-172-31-91-251 ec2-user]# docker ps
CONTAINER ID        IMAGE                             COMMAND             CREATED             STATUS              PORTS                NAMES
ab825479c673        ewoutp/docker-nginx-curl:latest   "nginx"             11 minutes ago      Up 11 minutes       0.0.0.0:80->80/tcp   ecs-nginx-17-nginx-c6d8ba82f0afc3f96b00
c99dede7f091        amazon/amazon-ecs-agent:latest    "/agent"            11 days ago         Up 11 days                               ecs-agent

[root@ip-172-31-91-251 ec2-user]# docker exec -it ab8 /bin/sh

# curl http://169.254.169.254/latest/meta-data/instance-id -v
* Hostname was NOT found in DNS cache
*   Trying 169.254.169.254...
* Connected to 169.254.169.254 (169.254.169.254) port 80 (#0)
> GET /latest/meta-data/instance-id HTTP/1.1
> User-Agent: curl/7.37.1
> Host: 169.254.169.254
> Accept: */*
> 
* HTTP 1.0, assume close after body
< HTTP/1.0 200 OK
< Content-Type: text/plain
< Accept-Ranges: bytes
< ETag: "916097910"
< Last-Modified: Tue, 30 Apr 2019 01:59:51 GMT
< Content-Length: 19
< Connection: close
< Date: Tue, 30 Apr 2019 02:07:38 GMT
< Server: EC2ws
< 
* Closing connection 0
i-0086xxxxxxxxxxx 

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

BeanstalkデプロイメントまたはECSタスクで使用されていないときにEC2インスタンスの停止/開始をスケジュールしますか?

分類Dev

スクリプトタグが呼び出されている場所を取得する方法はありますか?

分類Dev

AWS:EC2インスタンスが古いインスタンスタイプで実行されているかどうかを確認するためのカスタムルールはありますか?

分類Dev

ecsインスタンスのメタデータを取得する方法はありますか?

分類Dev

Elastic Beanstalkは、EC2インスタンスが起動されるたびにすべてのデプロイコマンドを実行しますか?

分類Dev

Terraform:リクエストされたインスタンスタイプがサポートされているゾーンでのみAWS EC2インスタンスをリクエストするにはどうすればよいですか?

分類Dev

インターリーブされていないインデックスでクエリを強制する場合、データの局所性にメリットはありますか?

分類Dev

OpenMPは、スタック変数またはデータ変数が共有されている場合、それらをヒープに移動しますか?

分類Dev

AWS-ECS-更新されたDockerイメージを既存のECS(1 EC2)インスタンスに再デプロイするにはどうすればよいですか?

分類Dev

AWS EC2 ECS-1つのインスタンスにいくつのタスクを配置する必要がありますか?

分類Dev

警告を発するGoogleクロージャーコンパイラ:互換性のないタイプ。パラメータに共通のタイプがある場合でも、それを修正する方法はありますか?

分類Dev

MYSQLは、タイムスタンプデータが取得されない場所を選択します

分類Dev

コレクション内のどのモデルインスタンスが変更されているかを確認する方法はありますか?

分類Dev

AWS SDK for Node.jsを使用して、EC2インスタンスがECSクラスターに追加されるのを待つ方法は?

分類Dev

データベースでステータスがアクティブであり、ドロップダウンリストに表示されるはずのデータを取得しようとしています

分類Dev

変数がリストであり、このリスト内のデータ型がすべて整数であることを確認する方法は、そうでない場合はそれに応じて例外をスローしますか?

分類Dev

ac#変数が格納されている場所、スタックまたはヒープを示す方法

分類Dev

要素またはその兄弟のいずれかをクリックして要素を縮小する方法-バニラjs(スタイリング効果またはアコーディオンに役立つ場合があります)

分類Dev

H2データベースエラー:データベースは既に使用されている可能性があります:「別のプロセスによってロックされています」

分類Dev

タスクがデリゲートで作成されたコンテキストからデータを取得する方法はありますか?

分類Dev

候補がないプロセスのすべてのタスクを取得する方法はありますか?

分類Dev

ソリューションファイル内のプロジェクトにMsBuildプロパティが設定されている場合、カスタムコンパイルエラーをスローする方法はありますか?

分類Dev

インデックス値が別のdfのインデックスに近い場合、dfからデータを抽出する方法はありますか?

分類Dev

データがelasticsearchにインデックス付けされている場合、元のデータを削除するのは良いですか?

分類Dev

データベースに2つ以上のパイプがある場合、それらすべてに同じnotification_channelがありますか?

分類Dev

インデックスと長さは、文字列内の場所を参照する必要があります。パラメータ名の長さ

分類Dev

C#のインデックスと長さは、文字列内の場所を参照する必要があります。パラメータ名:長さ

分類Dev

軸のタイトルがクリップされている場合、ggplotでどのパラメータを調整する必要がありますか?

分類Dev

オプションとして、データが入力されたメニューの選択から、データベースから次のメニューを選択します。データが見つからない場合に「データがありません」を表示する方法

Related 関連記事

  1. 1

    BeanstalkデプロイメントまたはECSタスクで使用されていないときにEC2インスタンスの停止/開始をスケジュールしますか?

  2. 2

    スクリプトタグが呼び出されている場所を取得する方法はありますか?

  3. 3

    AWS:EC2インスタンスが古いインスタンスタイプで実行されているかどうかを確認するためのカスタムルールはありますか?

  4. 4

    ecsインスタンスのメタデータを取得する方法はありますか?

  5. 5

    Elastic Beanstalkは、EC2インスタンスが起動されるたびにすべてのデプロイコマンドを実行しますか?

  6. 6

    Terraform:リクエストされたインスタンスタイプがサポートされているゾーンでのみAWS EC2インスタンスをリクエストするにはどうすればよいですか?

  7. 7

    インターリーブされていないインデックスでクエリを強制する場合、データの局所性にメリットはありますか?

  8. 8

    OpenMPは、スタック変数またはデータ変数が共有されている場合、それらをヒープに移動しますか?

  9. 9

    AWS-ECS-更新されたDockerイメージを既存のECS(1 EC2)インスタンスに再デプロイするにはどうすればよいですか?

  10. 10

    AWS EC2 ECS-1つのインスタンスにいくつのタスクを配置する必要がありますか?

  11. 11

    警告を発するGoogleクロージャーコンパイラ:互換性のないタイプ。パラメータに共通のタイプがある場合でも、それを修正する方法はありますか?

  12. 12

    MYSQLは、タイムスタンプデータが取得されない場所を選択します

  13. 13

    コレクション内のどのモデルインスタンスが変更されているかを確認する方法はありますか?

  14. 14

    AWS SDK for Node.jsを使用して、EC2インスタンスがECSクラスターに追加されるのを待つ方法は?

  15. 15

    データベースでステータスがアクティブであり、ドロップダウンリストに表示されるはずのデータを取得しようとしています

  16. 16

    変数がリストであり、このリスト内のデータ型がすべて整数であることを確認する方法は、そうでない場合はそれに応じて例外をスローしますか?

  17. 17

    ac#変数が格納されている場所、スタックまたはヒープを示す方法

  18. 18

    要素またはその兄弟のいずれかをクリックして要素を縮小する方法-バニラjs(スタイリング効果またはアコーディオンに役立つ場合があります)

  19. 19

    H2データベースエラー:データベースは既に使用されている可能性があります:「別のプロセスによってロックされています」

  20. 20

    タスクがデリゲートで作成されたコンテキストからデータを取得する方法はありますか?

  21. 21

    候補がないプロセスのすべてのタスクを取得する方法はありますか?

  22. 22

    ソリューションファイル内のプロジェクトにMsBuildプロパティが設定されている場合、カスタムコンパイルエラーをスローする方法はありますか?

  23. 23

    インデックス値が別のdfのインデックスに近い場合、dfからデータを抽出する方法はありますか?

  24. 24

    データがelasticsearchにインデックス付けされている場合、元のデータを削除するのは良いですか?

  25. 25

    データベースに2つ以上のパイプがある場合、それらすべてに同じnotification_channelがありますか?

  26. 26

    インデックスと長さは、文字列内の場所を参照する必要があります。パラメータ名の長さ

  27. 27

    C#のインデックスと長さは、文字列内の場所を参照する必要があります。パラメータ名:長さ

  28. 28

    軸のタイトルがクリップされている場合、ggplotでどのパラメータを調整する必要がありますか?

  29. 29

    オプションとして、データが入力されたメニューの選択から、データベースから次のメニューを選択します。データが見つからない場合に「データがありません」を表示する方法

ホットタグ

アーカイブ