Last active
May 10, 2021 16:02
-
-
Save seanjensengrey/1ab4f6edb375ee7a698ef2968a97aa0c to your computer and use it in GitHub Desktop.
Revisions
-
seanjensengrey revised this gist
May 10, 2021 . 1 changed file with 26 additions and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -5,6 +5,32 @@ Both AWS and GCP, probably Azure as well, offer the ability to query instance le Both cloud use the same IP address (`169.254.169.254`) internally to handle the request. tl;dr, do a get request against the metadata url and look at the response headers. ``` curl -vv 169.254.169.254 * Expire in 0 ms for 6 (transfer 0x5557b4810fb0) * Trying 169.254.169.254... * TCP_NODELAY set * Expire in 200 ms for 4 (transfer 0x5557b4810fb0) * Connected to 169.254.169.254 (169.254.169.254) port 80 (#0) > GET / HTTP/1.1 > Host: 169.254.169.254 > User-Agent: curl/7.64.0 > Accept: */* > * HTTP 1.0, assume close after body < HTTP/1.0 200 OK < Server: BaseHTTP/0.3 Python/2.7.13 < Date: Mon, 10 May 2021 16:01:58 GMT < Content-Type: application/text < Metadata-Flavor: Google < 0.1/ computeMetadata/ * Closing connection 0 ``` ``` $ dig metadata.google.internal -
seanjensengrey revised this gist
May 10, 2021 . 1 changed file with 27 additions and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -3,6 +3,31 @@ Both AWS and GCP, probably Azure as well, offer the ability to query instance level metadata from within the guest (and container) Both cloud use the same IP address (`169.254.169.254`) internally to handle the request. ``` $ dig metadata.google.internal ; <<>> DiG 9.11.5-P4-5.1+deb10u5-Debian <<>> metadata.google.internal ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 39546 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 512 ;; QUESTION SECTION: ;metadata.google.internal. IN A ;; ANSWER SECTION: metadata.google.internal. 3600 IN A 169.254.169.254 ;; Query time: 0 msec ;; SERVER: 169.254.169.254#53(169.254.169.254) ;; WHEN: Mon May 10 15:59:56 UTC 2021 ;; MSG SIZE rcvd: 69 ``` # GCP https://cloud.google.com/compute/docs/storing-retrieving-metadata#querying @@ -48,6 +73,8 @@ zone on AWS, https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-retrieval.html Below is an example of querying the *AWS Url* on GCP. The ``` root@5f9f3662a783:/# curl -vv http://169.254.169.254/latest/meta-data/ * Trying 169.254.169.254:80... -
seanjensengrey renamed this gist
May 10, 2021 . 1 changed file with 0 additions and 0 deletions.There are no files selected for viewing
File renamed without changes. -
seanjensengrey created this gist
May 10, 2021 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,81 @@ # Instance level metadata urls Both AWS and GCP, probably Azure as well, offer the ability to query instance level metadata from within the guest (and container) # GCP https://cloud.google.com/compute/docs/storing-retrieving-metadata#querying `curl "http://metadata.google.internal/computeMetadata/v1/instance"` ``` root@5f9f3662a783:/# curl -vv "http://metadata.google.internal/computeMetadata/v1/instance" * Trying 169.254.169.254:80... * TCP_NODELAY set * Connected to metadata.google.internal (169.254.169.254) port 80 (#0) > GET /computeMetadata/v1/instance HTTP/1.1 > Host: metadata.google.internal > User-Agent: curl/7.68.0 > Accept: */* > * Mark bundle as not supporting multiuse * HTTP 1.0, assume close after body < HTTP/1.0 200 OK < Server: BaseHTTP/0.3 Python/2.7.13 < Date: Mon, 10 May 2021 15:55:56 GMT < Content-Type: application/text < Metadata-Flavor: Google < attributes/ cpu-platform description disks/ guest-attributes/ hostname id image legacy-endpoint-access/ licenses/machine-typemaintenance-eventnamenetwork-interfaces/preemptedremaining-cpu-timescheduling/ service-accounts/ tags virtual-clock/ zone * Closing connection 0 ``` # AWS on AWS, https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-retrieval.html ``` root@5f9f3662a783:/# curl -vv http://169.254.169.254/latest/meta-data/ * Trying 169.254.169.254:80... * TCP_NODELAY set * Connected to 169.254.169.254 (169.254.169.254) port 80 (#0) > GET /latest/meta-data/ HTTP/1.1 > Host: 169.254.169.254 > User-Agent: curl/7.68.0 > Accept: */* > * Mark bundle as not supporting multiuse * HTTP 1.0, assume close after body < HTTP/1.0 404 Not Found < Server: BaseHTTP/0.3 Python/2.7.13 < Date: Mon, 10 May 2021 15:53:25 GMT < Content-Type: text/html; charset=UTF-8 < Metadata-Flavor: Google < <!DOCTYPE html> <html lang=en> <meta charset=utf-8> <meta name=viewport content="initial-scale=1, minimum-scale=1, width=device-width"> <title>Error 404 (Not Found)!!1</title> <style> *{margin:0;padding:0}html,code{font:15px/22px arial,sans-serif}html{background:#fff;color:#222;padding:15px}body{margin:7% auto 0;max-width:390px;min-height:180px;padding:30px 0 15px}* > body{background:url(//www.google.com/images/errors/robot.png) 100% 5px no-repeat;padding-right:205px}p{margin:11px 0 22px;overflow:hidden}ins{color:#777;text-decoration:none}a img{border:0}@media screen and (max-width:772px){body{background:none;margin-top:0;max-width:none;padding-right:0}}#logo{background:url(//www.google.com/images/branding/googlelogo/1x/googlelogo_color_150x54dp.png) no-repeat;margin-left:-5px}@media only screen and (min-resolution:192dpi){#logo{background:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) no-repeat 0% 0%/100% 100%;-moz-border-image:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) 0}}@media only screen and (-webkit-min-device-pixel-ratio:2){#logo{background:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) no-repeat;-webkit-background-size:100% 100%}}#logo{display:inline-block;height:54px;width:150px} </style> <a href=//www.google.com/><span id=logo aria-label=Google></span></a> <p><b>404.</b> <ins>That’s an error.</ins> <p>The requested URL <code>/latest/meta-data/</code> was not found on this server. <ins>That’s all we know.</ins> * Closing connection 0 ```