Как я знаю что Ubuntu AMI запускаться на EC2?

Когда я хочу запустить экземпляр Ubuntu на EC2, как я нахожу правильный? Существуют тысячи репутации, которая имеет "Ubuntu" на их имя. Я только интересуюсь выполнением Чиновника изображения Ubuntu. Как делают меня теперь, который AMI является правильным?

28
задан 18 July 2011 в 07:41

6 ответов

Успех Ubuntu как платформа и обязательство Ubuntu обновить AMI означает, что существуют буквально тысячи изображений на Amazon EC2 с "человечностью" на их имя. Это, объединенное с и отсутствие Ubuntu в меню "Quick Start" делает выбор правильного AMI нетривиальной задачей.

Некоторая общая информация о Ubuntu

Уже можно знать об этих объектах, но я хочу указать на них для тех, кто просто начинает с Ubuntu или EC2.

  • Ubuntu выпускает каждые 6 месяцев. Каждый выпуск имеет номер версии и кодовое название. Самая важная вещь отметить вот состоит в том, что каждые 2 года LTS (Долговременная поддержка) выпуск сделан. Если Вы хотите устойчивость и поддержку в течение 5 лет, выберите выпуск LTS. Если Вы хотите новейшие пакеты, выберите новый выпуск. См. статью в Википедии для получения дополнительной информации.
  • Во время этой записи в Amazon EC2 существует 5 "регионов". Каждый регион представляет географическое положение. Каждый регион имеет свои собственные идентификаторы AMI. В каждом регионе существует 2 архитектуры (x86_64, i386) и 2 "корневых хранилища" типы (EBS или экземпляр). Это означает, что для каждой сборки релизы Ubuntu, мы генерируем 20 ami идентификаторов.

Самый легкий: найдите AMI от своего веб-браузера

Можно выбрать интерфейс для того, чтобы выбрать изображения. Перейдите в также:

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

    У основания этой страницы можно выбрать регион, выпуск, дугу или корневое хранилище. Вам только показывают новые выпуски здесь. Когда Вы сделали свой выбор, можно скопировать и вставить ami число или просто нажать на него для движения права на страницу запуска консоли EC2 для того AMI.

или

  • https://cloud-images.ubuntu.com/server/releases/
    • Выберите Свой выпуск числом или кодовым названием
    • Выберите 'выпуск /': Мы имеем в наличии исторические сборки для отладки, но 'выпуск /' каталог всегда будет последним.
    • Выберите свой AMI из таблицы и щелчка, чтобы запуститься в консоли или скопировать и вставить командную строку.

Переройте консоль Amazon EC2

Консоль EC2 является графическим способом отсортировать AMI и выбрать тот для запуска. Для Запуска Чиновника Изображение Ubuntu здесь выполните шаги ниже.

  • Выберите регион, который Вы хотите в верхнем левом под Примером 'Навигации': "Нас Восток (Вирджиния)"
  • Нажмите "AMIs", не нажимают "Launch Instance" [см. примечание ниже]
  • для 'Просмотра' выберите "Все Изображения"
  • Ограничьте результаты изображениями Стабильной версии Ubuntu путем ввода ubuntu-images/

    Необходимо расшириться, поле 'AMI Name', максимально широкое (возможно, уменьшают другие).

  • Ограничьте результаты определенным выпуском путем добавления '.*'.

    Например: ubuntu-images/. *10.04

  • Ограничьте результаты данной дугой путем добавления '. *i386' или '. *amd64'

    Примечание: Если Вы хотите выполнить m1.small или c1.medium, Вам нужен 'i386'. Если Вы захотите выполнить t1.micro, то необходимо будет выбрать изображение 'ebs'.

  • Отсортируйте свои результаты по Названию AMI и сделайте выбор

    Путем сортировки по названию AMI можно более легко видеть новейший AMI для данного набора. Каждый AMI заканчивает числом в формате YYYYMMDD (год, месяц, день). Вы хотите новый.

  • Проверьте, что Владелец 099720109477!

    Любой пользователь может зарегистрировать AMI под любым именем. Ничто не препятствует тому, чтобы злонамеренный пользователь регистрировал AMI, который соответствовал бы поиску выше. Так, для сейфа необходимо проверить, что владелец ami '099720109477'.

  • Если "Владелец" не является столбцом для Вас, нажмите "Show/Hide" на верхнего правого и избранного "Владельца", чтобы быть показанными.
  • Нажмите на название AMI, затем Нажмите 'Launch'

Примечания

  • Доступ HTTPS: Из опций выше, прямо сейчас https://cloud-images.ubuntu.com/server/releases/является единственным, который обеспечивает данные по https. Это может быть важно для Вас, если Вы обеспокоены потенциальным "Человеком в средних" нападениях при нахождении идентификатора AMI. Я запросил Ahmed [kim0 в irc] поддерживать https доступ к https://cloud.ubuntu.com/ami.

  • Веб-Консольное диалоговое окно' Экземпляра Запуска ': Я не видел пути в 'диалоговом окне' Экземпляра Запуска для наблюдения идентификатора Владельца. Поскольку, если это, я предлагаю не использовать то диалоговое окно для нахождения "Сообщества AMI". Нет просто никакого способа, которым можно надежно знать, кто владелец изображения из консоли. Для опытных пользователей я буду вести блог когда-то скоро на способе найти AMI программно [Подсказка].

Источник

25
ответ дан 23 November 2019 в 00:57

Существует всесторонний список доступного Чиновника AMI на Облачном Портале Ubuntu. Вы находка дополнительные ресурсы относительно Официального EC2 AMI Canonical выпускаете в Справке Ubuntu: EC2 Запускает Руководство и необработанный каталог всех AMI, выпущенных Каноническим в Изображениях Ubuntu EC2

1
ответ дан 23 November 2019 в 00:57

с помощью рубина 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
4
ответ дан 23 November 2019 в 00:57

Новая и улучшенная версия.

# 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

В основном необработанные данные захватов использовали для ami человечности нахождение страницы и использования jq для парсинга строки, я хочу затем, чтобы grep вытащил значение. Намного быстрее, чем старая версия.


- исходная версия

Вот другой пример. Я просто записал это для выборки последнего испытанного идентификатора AMI. Это использует aws cli инструмент для запросов API, с помощью того, что вид имен в хронологическом порядке для получения последнего.

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 частях. Первая часть получает все AMI для надежного человека человечности, которые соответствуют различному критерию (ebs, x86_64, и шаблон имени). Это вытаскивает Имя и виды им. Имена отформатированы так, чтобы, сортируя их виды по дате так последний были новейшим. Это имя затем присвоено переменной 'имени'.

Второе использование части, которое называет для запроса идентификатора AMI на AMI с тем именем. Это анализирует просто идентификатор и присваивает его 'ami_id'.

11
ответ дан 23 November 2019 в 00:57

Я думал, что будет полезно продемонстрировать, как сделать это использование с Ansible при помощи ec2_ami_find модуля.

Во время записи (2017-06-07) в ap-southeast-2 регионе AWS предложит их Ubuntu изображения LTS при запуске экземпляра EC2 вручную с консоли:

  • Сервер Ubuntu 16.04 LTS (HVM), Тип Объема SSD - ami-96666ff5
  • Сервер Ubuntu 14.04 LTS (HVM), Тип Объема SSD - ami-807876e3

Это соответствует их рекомендациям использовать виртуализацию HVM, и EBS поддержал Объемы SSD.

Для лучшей производительности мы рекомендуем использовать текущие типы экземпляра поколения и AMI HVM, когда Вы запускаете свои экземпляры.

Для получения тех же AMI, которые рекомендуют AWS, можно использовать следующие задачи:

- 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"
}

При сравнении идентификаторов AMI, возвращенных сборником пьес, Вы видите, что AWS не рекомендуют последнее доступное изображение, а скорее второе или третье последнее. Я не знаю, какие критерии/эвристику они используют здесь.

1
ответ дан 23 November 2019 в 00:57

Можно использовать https://cloud-images.ubuntu.com/locator/ec2/, которые обеспечивают всестороннее сравнение на основе версии, выпускают дату и т.д.

Ищите версию, регион, который Вы хотите и вид на основе даты выпуска для получения последней версии.

2
ответ дан 23 November 2019 в 00:57

Другие вопросы по тегам:

Похожие вопросы: