কোনও উদাহরণের সার্বজনীন ডিএনএস ঠিকানা পাওয়ার কোনও উপায় আছে কি?


18

আমার একটি প্রকল্প রয়েছে যাতে প্রতিবার ইসি 2 উদাহরণটি বর্তমান দৃষ্টির পাবলিক ডিএনএস ঠিকানা দিয়ে বুট করার পরে কনফিগারেশন ফাইলগুলি আপডেট করতে হবে update আমি এর জন্য পার্ল বা শেড ব্যবহার করব, সুতরাং এটি আসলেই প্রশ্ন নয়, তবে আসল প্রশ্নটি হ'ল: এমন কোনও উপায় আছে যা আমি উদাহরণের পাবলিক ডিএনএস ঠিকানা নির্ধারণ করতে পারি? এমন কোন ইসি 2 এপিআই রয়েছে যা আমি এটি নির্ধারণ করার জন্য উদাহরণ থেকে অ্যাক্সেস করতে পারি?

উত্তর:


27

এখানে. উদাহরণের অভ্যন্তর থেকে, আপনি চালাতে পারেন:

curl http://169.254.169.254/latest/meta-data/public-ipv4

সর্বজনীন ডিএনএসের হোস্টনামটি পেতে, আপনি এটিতে পরিবর্তন করতে পারেন:

curl http://169.254.169.254/latest/meta-data/public-hostname

উদাহরণস্বরূপ আপনি ব্যক্তিগত আইপিও পেতে পারেন:

curl http://169.254.169.254/latest/meta-data/local-ipv4

পার্শ্ব নোট হিসাবে, আপনি এটি http://ip4.me এর মতো ইন্টারনেটে কোনও অ -ডাব্লুএস সাইটের বিরুদ্ধে ডাবল-চেক করতে পারেন

#!/bin/bash

pubip=$( curl http://ip4.me 2>/dev/null | sed -e 's#<[^>]*>##g' | grep '^[0-9]' )

echo $pubip

এটি সাধারণত কোনও নেটেড সিস্টেমের "পাবলিক আইপি" পরীক্ষা করতে, বা আপনার সর্বজনীন প্রক্সি আইপি, ইত্যাদি খুঁজে পেতে কাজ করবে

এবং এখানে যে ধরনের তথ্য আপনি আমাজনের API থেকে পেতে পারেন উপর পড়তে একটি ভাল লিংক দেওয়া হল: http://www.ducea.com/2009/06/01/howto-update-dns-hostnames-automatically-for-your- আমাজন-EC2-দৃষ্টান্ত /


1
PUBLIC_HOSTNAME="$(curl http://169.254.169.254/latest/meta-data/public-hostname 2>/dev/null)":) আপনি স্যার, ধাতু।
নাফটুলি কে

সাহায্য করতে পেরে আনন্দিত :)
টিম কেনেডি

2

আমি পাবলিক আইপি এবং ডিএনএস পুনরুদ্ধার করতে আমার .bashrc এর ভিতরে এই ফাংশনটি সংজ্ঞায়িত করেছি:

export PUBLIC_DNS=`curl http://169.254.169.254/latest/meta-data/public-hostname 2>/dev/null`
export PUBLIC_IP=`curl http://169.254.169.254/latest/meta-data/public-ipv4 2>/dev/null`

function get-pub() {
  if [ $# -ne 1 ]; then
    echo "Invalid number of arguments"
    return 1
  else
    case $1 in
      dns)
        echo $PUBLIC_DNS
        ;;
      ip)
        echo $PUBLIC_IP
        ;;
      *)
        echo $"Usage: get-pub {dns|ip}"
        return 2
    esac;
  fi
  return 0
}

1

আপনি AWS CLI ( aws configure) ইনস্টল ও কনফিগার করতে পারেন এবং নিম্নলিখিত কমান্ডটি ব্যবহার করতে পারেন:

aws ec2 describe-instances --instance-id i-0xyz --query 'Reservations[].Instances[].PublicDnsName' --output text
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.