मुझे कैसे पता चलेगा कि ईसी 2 को ईसी 2 में लॉन्च करने के लिए उबंटू एएमआई क्या है?


29

जब मैं ईसी 2 पर उबंटू का एक उदाहरण लॉन्च करना चाहता हूं, तो मुझे सही कैसे मिलेगा? कर रहे हैं हजारों उनके नाम में "Ubuntu" है कि सार्वजनिक छवियों की। मुझे केवल आधिकारिक उबंटू चित्र चलाने में दिलचस्पी है। अब मैं किस एएमआई को सही मानूं?


यह भी देखें unix.stackexchange.com/questions/24402/…
cwd

जवाबों:


26

एक मंच के रूप में उबंटू की सफलता और एएमआई को ताज़ा करने के लिए उबंटू की प्रतिबद्धता का मतलब है कि अमेज़ॅन ईसी 2 पर उनके नाम के साथ "उबंटू" के साथ शाब्दिक हजारों छवियां हैं। "क्विक स्टार्ट" मेनू पर उबंटू की कमी के साथ संयुक्त, सही एएमआई को एक गैर-तुच्छ कार्य का चयन करता है।

कुछ सामान्य उबंटू जानकारी

आप पहले से ही इन वस्तुओं के बारे में जानते होंगे, लेकिन मैं उन्हें उन लोगों के लिए इंगित करना चाहता हूं जो अभी उबंटू या ईसी 2 से शुरू कर रहे हैं।

  • उबंटू हर 6 महीने में रिलीज़ होता है। प्रत्येक रिलीज़ में एक संस्करण संख्या और एक कोडनाम होता है। यहां ध्यान देने वाली सबसे महत्वपूर्ण बात यह है कि हर 2 साल में LTS (लॉन्ग टर्म सपोर्ट) जारी किया जाता है। यदि आप 5 साल के लिए स्थिरता और समर्थन चाहते हैं, तो एलटीएस रिलीज का चयन करें। यदि आप नवीनतम पैकेज चाहते हैं, तो सबसे हालिया रिलीज़ चुनें। अधिक जानकारी के लिए विकिपीडिया प्रविष्टि देखें।
  • इस लेखन के समय, अमेज़न ईसी 2 में 5 "क्षेत्र" हैं। प्रत्येक क्षेत्र एक भौगोलिक स्थिति का प्रतिनिधित्व करता है। प्रत्येक क्षेत्र की अपनी एएमआई आईडी है। प्रत्येक क्षेत्र के अंदर 2 आर्किटेक्चर (x86_64, i386) और 2 "रूट स्टोर" प्रकार (ईबीएस या उदाहरण) हैं। इसका मतलब है कि प्रत्येक बिल्ड उबंटू रिलीज़ के लिए, हम 20 अमी आईडी बनाते हैं।

सबसे आसान: अपने वेब ब्राउज़र से एएमआई खोजें

आप छवियों का चयन करने के लिए अपना इंटरफ़ेस चुन सकते हैं। या तो जाओ:

  • http://cloud.ubuntu.com/ami

    इस पृष्ठ के निचले भाग में, आप क्षेत्र, रिलीज़, आर्च या रूट-स्टोर का चयन कर सकते हैं। आपको केवल यहां सबसे हालिया रिलीज़ दिखाया गया है। जब आपने अपना चयन कर लिया है, तो आप एएमआई नंबर को कॉपी और पेस्ट कर सकते हैं, या उस एएमआई के लिए EC2 कंसोल लॉन्च पेज पर दाईं ओर जाने के लिए उस पर क्लिक कर सकते हैं।

या

  • https://cloud-images.ubuntu.com/server/releases/
    • संख्या या कोड-नाम से अपनी रिहाई का चयन करें
    • 'रिलीज़ /' का चयन करें: हम डिबगिंग के लिए चारों ओर ऐतिहासिक निर्माण करते हैं, लेकिन 'रिलीज़ /' निर्देशिका हमेशा नवीनतम रहेगी।
    • तालिका से अपना एएमआई चुनें और कंसोल में लॉन्च करने के लिए क्लिक करें और कमांड लाइन को कॉपी और पेस्ट करें।

अमेज़न EC2 कंसोल के माध्यम से खोजें

EC2 कंसोल एएमआई के माध्यम से सॉर्ट करने और लॉन्च करने के लिए एक का चयन करने के लिए एक ग्राफिकल तरीका है। यहां एक आधिकारिक उबंटू छवि लॉन्च करने के लिए, नीचे दिए गए चरणों का पालन करें।

  • उस क्षेत्र का चयन करें जिसे आप 'नेविगेशन' उदाहरण के तहत ऊपर बाईं ओर चाहते हैं: "Us East (Virginia)"
  • "एएमआई" पर क्लिक करें "लॉन्च इंस्टेंस" पर क्लिक करें [नीचे नोट देखें]
  • 'देखने' के लिए, "सभी छवियां" चुनें
  • Ubuntu-images / टाइप करके उबंटू स्थिर रिलीज़ छवियों के परिणामों को सीमित करें

    आपको 'एएमआई नाम' फ़ील्ड को जितना संभव हो उतना विस्तृत करना चाहिए (शायद दूसरों को सिकोड़ें)।

  • परिणामों को एक विशेष रिलीज़ पर सीमित करके '*।'

    उदाहरण के लिए: ubuntu-images /.* 10.04

  • परिणामों को दिए गए आर्च को ''। * I386 'या' *। Amd64 'द्वारा सीमित करें।

    नोट : यदि आप m1.small या c1.medium चलाना चाहते हैं, तो आपको 'i386' चाहिए। यदि आप t1.micro चलाना चाहते हैं, तो आपको एक 'ebs' छवि का चयन करना होगा।

  • AMI नाम से अपना परिणाम क्रमबद्ध करें और चयन करें

    एएमआई नाम से छाँटकर, आप किसी दिए गए सेट के लिए नवीनतम एएमआई को आसानी से देख सकते हैं। प्रत्येक एएमआई प्रारूप YYYYMMDD (वर्ष, माह, दिन) में एक संख्या के साथ समाप्त होता है। आप सबसे हाल का चाहते हैं।

  • स्वामी सत्यापित करें 099720109477 है!

    कोई भी उपयोगकर्ता किसी भी नाम के तहत एएमआई दर्ज कर सकता है। कोई भी दुर्भावनापूर्ण उपयोगकर्ता को एएमआई दर्ज करने से रोकता है जो ऊपर की खोज से मेल खाता हो। इसलिए, सुरक्षित होने के लिए, आपको यह सत्यापित करने की आवश्यकता है कि अमी का मालिक ' 099720109477 ' है।

  • यदि "स्वामी" आपके लिए कोई कॉलम नहीं है, तो शीर्ष दाईं ओर "दिखाएँ / छुपाएं" पर क्लिक करें और दिखाए जाने के लिए "स्वामी" चुनें।
  • AMI नाम पर क्लिक करें, फिर 'लॉन्च' पर क्लिक करें

टिप्पणियाँ

  • HTTPS Access : ऊपर दिए गए विकल्पों में से, अभी https://cloud-images.ubuntu.com/server/releases/ केवल एक है जो https पर डेटा प्रदान करता है। यह आपके लिए महत्वपूर्ण हो सकता है यदि आप एएमआई आईडी ढूंढते समय संभावित "मैन इन द मिडल" हमलों के बारे में चिंतित हैं। मैंने https://cloud.ubuntu.com/ami को https एक्सेस का समर्थन करने के लिए अहमद [im0 को irc में] का अनुरोध किया है ।

  • वेब कंसोल 'लॉन्च इंस्टेंस' संवाद : मैंने ओनर आईडी को देखने के लिए 'लॉन्च इंस्टेंस' संवाद में कोई रास्ता नहीं देखा। क्योंकि अगर ऐसा है, तो मैं सुझाव देता हूं कि "कम्युनिटी एएमआई" खोजने के लिए उस डायलॉग का उपयोग न करें। कोई तरीका नहीं है कि आप मज़बूती से जान सकें कि छवि का स्वामी कंसोल के भीतर से कौन है। उन्नत उपयोगकर्ताओं के लिए, मैं एएमआई को प्रोग्रामेटिकली [हिंट] खोजने के तरीके पर जल्द ही कुछ समय के लिए ब्लॉग करूंगा।

स्रोत


क्या आप कृपया hvm-instanceऔर के बीच अंतर सटीक कर सकते हैं hvm-ssd? मुझे डर है "उदाहरण" का अर्थ है "असाधारण", लेकिन मुझे यकीन नहीं है, और इसके बारे में जानकारी नहीं मिल सकती है। इसके अलावा, यह नोट करने के लिए उपयोगी हो सकता है कि https://cloud-images.ubuntu.com/locator/फ़िल्टर की पेशकश करें ... पृष्ठ के नीचे
Balmipour

11

नया और बेहतर संस्करण।

# needed as json list returned by ubuntu site is mal-formed
remove_last_comma() { sed '
        $x;$G;/\(.*\),/!H;//!{$!d
    };  $!x;$s//\1/;s/^\n//'
}

curl -s "https://cloud-images.ubuntu.com/locator/ec2/releasesTable" \
    | remove_last_comma \
    | jq -c '.aaData[] | select(contains(["16.04", "us-west-2", "hvm:ebs"]))' \
    | grep -o 'ami-[a-z0-9]\+' | head -1

मूल रूप से ubuntu के अमी खोज पृष्ठ के लिए उपयोग किए गए कच्चे डेटा को पकड़ता है, और जब मैं चाहता हूं कि पंक्ति को बाहर निकालने के लिए jq का उपयोग करता है तो मूल्य निकालने के लिए एक grep। पुराने संस्करण की तुलना में बहुत तेज।


-- मूल संस्करण

यहाँ एक और उदाहरण है। मैंने यह सिर्फ नवीनतम भरोसेमंद एएमआई आईडी लाने के लिए लिखा है। यह एपीआई को क्वेरी करने के लिए aws cli टूल का उपयोग करता है, इस तथ्य का उपयोग करके कि नाम नवीनतम प्राप्त करने के लिए क्रम में क्रमबद्ध होते हैं।

name=$(\
    aws --region us-west-2 ec2 describe-images --owners 099720109477 \
        --filters Name=root-device-type,Values=ebs \
            Name=architecture,Values=x86_64 \
            Name=name,Values='*hvm-ssd/ubuntu-trusty-14.04*' \
    | awk -F ': ' '/"Name"/ { print $2 | "sort" }' \
    | tr -d '",' | tail -1)

ami_id=$(\
    aws --region us-west-2 ec2 describe-images --owners 099720109477 \
        --filters Name=name,Values="$name" \
    | awk -F ': ' '/"ImageId"/ { print $2 }' | tr -d '",')

यह 2 भागों में काम करता है। पहला भाग ubuntu ट्रस्टी के लिए सभी एएमआई प्राप्त करता है जो विभिन्न मानदंडों (ईबीएस, x86_64, और नाम पैटर्न) को पूरा करते हैं। यह इसके द्वारा नाम और प्रकार को खींचता है। नामों को स्वरूपित किया जाता है ताकि उन्हें क्रमबद्ध रूप से क्रमबद्ध किया जा सके ताकि अंतिम सबसे नया हो। यह नाम तब 'नाम' चर को सौंपा गया है।

दूसरा हिस्सा उस नाम का उपयोग करता है जो उस नाम के साथ एएमआई के लिए एएमआई आईडी का अनुरोध करता है। यह केवल आईडी को पार्स करता है और इसे 'ami_id' को असाइन करता है।


क्या आप कृपया बता सकते हैं कि यह क्या करता है?
कज़ वोल्फ

जवाब में स्पष्टीकरण जोड़ा।
जॉन एकेनबेरी

4
यह कुछ इसी तरह पूरा करना चाहिए, लेकिन JMESPath क्वेरी अभिव्यक्ति का उपयोग करना:aws --region us-west-2 ec2 describe-images --owners 099720109477 --filters Name=root-device-type,Values=ebs Name=architecture,Values=x86_64 Name=name,Values='*hvm-ssd/ubuntu-trusty-14.04*' --query 'sort_by(Images, &Name)[-1].ImageId'
dnlbrky

4

रूबी aws-sdk का उपयोग करके, आप इस तरह नवीनतम Ubuntu AMI की खोज कर सकते हैं

    ec2 = AWS::EC2.new

    root_device_type = "ebs"
    ami_owner = '099720109477'
    ami_name = "*ubuntu/images/#{root_device_type}/ubuntu-precise-12.04*"  # hardcoded to ubuntu 12.04. You can apply your own criteria here.

    AWS.memoize do
      linux_ami = ec2.images.with_owner(ami_owner).
        filter("root-device-type", root_device_type).
        filter("architecture", "x86_64").        # use 'i386' for 32 bit and 'x86_64' for 64 bit
        filter("name", ami_name)
        # this only makes one request due to memoization
      begin
        return linux_ami.to_a.sort_by(&:name).last
      rescue
        abort red "Error discovering latest AMI. Terminating."
      end
    end

2

आप https://cloud-images.ubuntu.com/locator/ec2/ का उपयोग कर सकते हैं, जो संस्करण, रिलीज़ रिलीज़ आदि के आधार पर एक व्यापक तुलना प्रदान करते हैं।

संस्करण के लिए खोजें, आप जिस क्षेत्र को चाहते हैं और नवीनतम संस्करण प्राप्त करने के लिए रिलीज़ की तारीख के आधार पर छाँटें।


1

उबंटू क्लाउड पोर्टल पर उपलब्ध आधिकारिक एएमआई की एक व्यापक सूची है । आप उबंटू सहायता में कैननिकल के आधिकारिक EC2 AMI रिलीज़ के बारे में अतिरिक्त संसाधन पाते हैं : EC2 ने गाइड शुरू किया और उबंटू के EC2 छवियों में Canonical द्वारा जारी सभी AMI की एक कच्ची निर्देशिका


1

मुझे लगा कि यह प्रदर्शित करने के लिए उपयोगी होगा कि यह कैसे एक्सेलेबल के साथ ec2_ami_find मॉड्यूल का उपयोग करके किया जाए

Ap-southeast-2 क्षेत्र में लेखन (2017-06-07) के समय AWS इन Ubuntu LTS छवियों का सुझाव देगा यदि आप कंसोल से मैन्युअल रूप से EC2 उदाहरण शुरू करते हैं:

  • उबंटू सर्वर 16.04 एलटीएस (एचवीएम), एसएसडी वॉल्यूम प्रकार - अमी -96666ff5
  • उबंटू सर्वर 14.04 एलटीएस (एचवीएम), एसएसडी वॉल्यूम प्रकार - अमी -887876e3

यह एचवीएम वर्चुअलाइजेशन और ईबीएस समर्थित एसएसडी वॉल्यूम का उपयोग करने के लिए उनकी सिफारिशों के अनुरूप है ।

सर्वश्रेष्ठ प्रदर्शन के लिए, हम अनुशंसा करते हैं कि जब आप अपने इंस्टेंस लॉन्च करें तो आप वर्तमान पीढ़ी के प्रकारों और एचवीएम एएमआई का उपयोग करें।

समान एएमआई प्राप्त करने के लिए जो एडब्ल्यूएस की सिफारिश करते हैं, आप निम्नलिखित कार्यों का उपयोग कर सकते हैं:

- name: Find the most recent xenial AMI
  ec2_ami_find:
    aws_access_key: "{{ vault_aws_access_key }}"
    aws_secret_key: "{{ vault_aws_secret_key }}"
    region: "{{ config_region }}"
    name: "ubuntu/images/hvm-ssd/ubuntu-xenial-16.04-amd64-server-*"
    owner: 099720109477 # canonical ownerid
    virtualization_type: hvm
    sort: name
    sort_order: descending
    sort_end: 2
  register: ami_find_xenial

- name: Newest Xenial AMI
  debug:
    msg: "{{ ami_find_xenial.results[0].ami_id }}"

- name: AWS recommend Xenial AMI
  debug:
    msg: "{{ ami_find_xenial.results[1].ami_id }}"

- name: Find the most recent trusty AMI
  ec2_ami_find:
    aws_access_key: "{{ vault_aws_access_key }}"
    aws_secret_key: "{{ vault_aws_secret_key }}"
    region: "{{ config_region }}"
    name: "ubuntu/images/hvm-ssd/ubuntu-trusty-14.04-amd64-server-*"
    owner: 099720109477 # canonical ownerid
    virtualization_type: hvm
    architecture: x86_64
    sort: name
    sort_order: descending
    sort_end: 3
  register: ami_find_trusty

- name: Newest Trusty AMI
  debug:
    msg: "{{ ami_find_trusty.results[0].ami_id }}"

- name: AWS recommend Trusty AMI
  debug:
    msg: "{{ ami_find_trusty.results[2].ami_id }}"

जो निम्न आउटपुट देता है:

TASK [Load secrets from Vault] *****************************************************************************************************************************************************************************
ok: [localhost]

TASK [Find the most recent xenial AMI] *********************************************************************************************************************************************************************
ok: [localhost]

TASK [Newest Xenial AMI] ***********************************************************************************************************************************************************************************
ok: [localhost] => {
    "changed": false, 
    "msg": "ami-1e01147d"
}

TASK [AWS recommended Xenial AMI] **************************************************************************************************************************************************************************
ok: [localhost] => {
    "changed": false, 
    "msg": "ami-96666ff5"
}

TASK [Find the most recent trusty AMI] *********************************************************************************************************************************************************************
ok: [localhost]

TASK [Newest Trusty AMI] ***********************************************************************************************************************************************************************************
ok: [localhost] => {
    "changed": false, 
    "msg": "ami-993e2bfa"
}

TASK [AWS recommended Trusty AMI] **************************************************************************************************************************************************************************
ok: [localhost] => {
    "changed": false, 
    "msg": "ami-807876e3"
}

यदि आप प्लेबुक द्वारा लौटी एएमआई आईडी की तुलना करते हैं तो आप देख सकते हैं कि एडब्ल्यूएस नवीनतम उपलब्ध छवि की सिफारिश नहीं करता है, बल्कि दूसरा या तीसरा नवीनतम है। मुझे नहीं पता कि वे यहाँ क्या मापदंड / अनुमान लगा रहे हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.