Премиальное программное обеспечение и практические уроки
Учебное пособие по бесплатному использованию VPS на Amazon Lightsail на три месяца
Световой парус Это простой в использованииВиртуальный частный сервер(VPS), который обеспечивает простое управление облачными ресурсами, такими как контейнеры, по предсказуемо низкой цене. Создайте веб-сайт или приложение всего за несколько кликов. Автоматически настраивайте сетевые среды, доступ и безопасность. Быстро создавайте собственные веб-сайты и используйте предварительно настроенные приложения, такие как WordPress, Magento, Prestashop и Джумла, вы можете создать и персонализировать свой блог, интернет-магазин или личный веб-сайт всего за несколько щелчков мыши.
Попробуйте Lightsail бесплатно в течение 3 месяцев в течение ограниченного времени.Амазонка Lightsail 可为客户延长其免费套餐以包含免费使用精选捆绑包三个月的特权。
Amazon Lightsail。它是迄今为止开始使用 АВС Самый простой способ запустить приложения на собственном виртуальном сервере за считанные минуты. Сегодня мы добавляем возможность развертывания контейнерных рабочих нагрузок на Amazon Lightsail. Теперь вы можете развернуть образы контейнеров в облаке с той же простотой и пакетными ценами, которые Amazon Lightsail предлагает для ваших виртуальных серверов.
Попробуйте Lightsail бесплатно
Прежде чем попробовать Lightsail бесплатно, вам необходимо создать учётную запись Amazon Cloud. Перейдите по ссылке ниже, чтобы подать заявку на создание учётной записи Amazon Cloud.
Бесплатная пробная версия Lightsail
Конкретные шаги по подаче заявления см. здесь:Процесс подачи заявки на бесплатный аккаунт Amazon Cloud Server
Amazon Lightsail Это простой в использовании облачный сервис, предоставляющий всё необходимое для развертывания приложения или веб-сайта по экономичному и понятному ежемесячному тарифу. Он идеально подходит для развертывания простых рабочих нагрузок, веб-сайтов или начала работы с AWS. Типичный Световой парус Нашими клиентами являются разработчики, малый бизнес и стартапы, желающие быстро начать работу с облаком и AWS. Вы всегда сможете использовать более широкий спектр сервисов AWS позже, по мере того, как будете лучше знакомиться с облаком AWS.
Световой парус На заднем плане Amazon Elastic Compute Cloud (EC2)、Служба реляционных баз данных Amazon (RDS)、Балансировщик нагрузки приложений и другие сервисы AWS. Он обеспечивает тот уровень безопасности, надежности и масштабируемости, который вы ожидаете от AWS.
- Развернуть в Световой парус Когда тыШесть операционных систем(4 Линукс Выпускать,FreeBSD или Окна), семь приложений (например, WordPress、Друпал、Джумла、Плеск…) и семь типов стеков (например, Node.js、Лампа、GitLab、Джанго…). Но Докер А как насчет контейнера?
- Впредь,Amazon Lightsail Предоставляет разработчикам простой способ развертывания контейнеров в облаке. Вам нужно только предоставить Докер изображение, и мы автоматически контейнеризуем его для вас.Amazon Lightsail Он предоставляет вам конечную точку HTTPS, которая может обслуживать приложения, работающие в облачных контейнерах. Он автоматически настраивает балансировку нагрузки. ТЛС конечных точек и обрабатывает TLS-сертификаты. Он автоматически заменяет неотвечающие контейнеры и назначает DNS имя, поддерживать старую версию до тех пор, пока новая версия не заработает без сбоев и не будет готова к выходу в сеть и т. д.
Давайте сделаем это, поместив простое Питон Давайте посмотрим, как это работает, развернув веб-приложение в виде контейнера. Предположим, что вы установили Интерфейс командной строки AWS (CLI) и Докер. Python не требуется, он будет установлен только в контейнере.
Я впервые использовал Простая прикладная структура FlaskСоздайте REST API на Python. Подойдут любые языки программирования и фреймворки, которые могут работать внутри контейнера. Я выбрал Python и Flask за их простоту и лаконичность.
Вы можете безопасно скопировать/вставить следующие команды:
Затем я создаю Dockerfile, содержащий шаги и информацию, необходимые для создания образа контейнера:
# создать Dockerfile echo ' FROM python:3 ADD helloworld.py / RUN pip install flask RUN pip install flask_restful EXPOSE 8080 CMD [ "python", "./helloworld.py"] ' > Dockerfile
Теперь я могу построить свой контейнер:
docker build -t lightsail-hello-world
Команда сборки выводит много строк по мере построения контейнера, в конечном итоге завершаясь следующим сообщением (фактический идентификатор будет другим):
Успешно построен 7848e055edff Успешно помечен как lightsail-hello-world:latest
Я протестировал это, запустив контейнер на своем ноутбуке:
docker run -it --rm -p 8080:8080 lightsail-hello-world
и подключите свой браузер к локальный хост:8080
Когда я удовлетворен результатом, я перемещаю контейнер в Докер Центр.
docker tag lightsail-hello-world sebsto/lightsail-hello-world docker login docker push sebsto/lightsail-hello-world
Теперь я уже Докер-хаб Теперь, когда контейнер готов, давайте его создадим. Световой парус Контейнерные перевозки.
Я указал в своем браузере Amazon Lightsail консольЯ вижу, что контейнерные сервисы развернуты, и могу ими управлять. Чтобы создать новый сервис, я нажимаю Создать контейнерный сервис(Создать контейнерный сервис):
Консоль контейнера Lightsail
На следующем экране я выбираю размер контейнера, исходя из мощности виртуального ЦП и объёма памяти, доступных моему приложению. Для обеспечения высокой доступности или масштабируемости я также выбираю количество экземпляров контейнера, которые будут работать параллельно. Я могу изменить количество экземпляров контейнера или их возможности (виртуальный ЦП и оперативную память) в любое время без прерывания работы сервиса. Оба параметра влияют на ежемесячную стоимость, взимаемую AWS. Стоимость отображается на экране и динамически корректируется, как показано на видео ниже.
Чуть дальше по экрану я решил пока пропустить развертывание. Я назвал службу "Привет, мирЯ нажимаю Создать контейнерный сервис(Создать контейнерный сервис).
После создания сервиса я нажимаю Создайте свое первое развертываниеНажмите «Создать моё первое развертывание», чтобы создать развертывание. Развертывание — это определённая комбинация образа контейнера и его версии, которую я хочу развернуть в только что созданном сервисе.
Я выбрал имя для своего изображения, а затем использовал формат пользователь/ :ярлык
Укажите адрес образа. Здесь также можно указать переменные окружения, сопоставление портов или команды запуска.
Мой контейнер предоставляет сетевые службы на порту TCP 8080, поэтому я добавил этот порт в конфигурацию развертывания.Открытые портыНастройте порты и протоколы, открытые для других систем в сети контейнеров. Другие контейнеры или виртуальные машины могут открывать порты только в том случае, если они явно настроены в консоли илипубличный
В моем Dockerfile
Ни один из этих портов не имеет доступа к публичному Интернету.
Но в этом примере я также хочу, чтобы Lightsail направлял трафик из общедоступного интернета в этот контейнер. Поэтому я буду использовать этот контейнер в качестве Привет, мир Добавлена конечная точка для сервиса. Конечная точка автоматически настроена для TLS; устанавливать и управлять сертификатами не требуется.
Я могу добавить до 10 контейнеров к одному развертыванию. Когда я буду готов, я нажимаю Сохранить и развернуть(Сохранить и развернуть).
Через некоторое время мое развертывание станет активным, и я смогу протестировать конечную точку.
DNS-адрес конечной точки находится в правом верхнем углу консоли. При необходимости я могу настроить собственное DNS-имя домена.
Я открываю еще одну вкладку в своем браузере и указываю в ней URL-адрес конечной точки https:
Когда мне нужно развернуть новую версию, я снова использую консоль для изменения развёртывания. Я избавил вас от подробностей изменения кода приложения, сборки и отправки контейнера новой версии.
sebsto/lightsail-hello-world:v2
Доступна вторая версия образа контейнера. Возвращаюсь к Amazon Lightsail Консоль, нажмите Развертывания(Развернуть), затем нажмите Измените свои развертывания(Изменить развертывание). Я ввожу полное имя новой версии образа контейнера, включая тег, и нажимаю Сохранить и развернуть(Сохранить и развернуть).
Через некоторое время новая версия будет развернута и автоматически активирована.
Я открываю новую вкладку в браузере и указываю на Amazon Lightsail URI конечной точки отображается в правом верхнем углу консоли. Я заметил, что версия JSON отличается. Теперь она имеет значение
2
изВерсия
свойство.
Когда у меня возникают проблемы с развертыванием, Amazon Lightsail Последнее развёртывание автоматически сохраняется активным, чтобы избежать перебоев в работе. Я также могу вручную активировать предыдущую версию развёртывания, чтобы отменить любые нежелательные изменения.
Я только что приехал из Докер-хаб Я развернул свой первый образ контейнера. Я также могу использовать Интерфейс командной строки AWS (CLI) Управлять моими сервисами и развертывать локальные образы контейнеров с моего ноутбука. Чтобы загрузить образы контейнеров непосредственно с моего ноутбука на мой сервер, Amazon Lightsail Контейнерные перевозки, я долженУстановить Плагин контроллера LightSail. (TL;DR) завиток
、ср
и chmod
Все они подходят для вашего использования здесь, я также поддерживаю DockerFile для использования CLI внутри контейнера).
Чтобы создать, перечислить или удалить службу контейнера, я ввожу:
aws lightsail создать-контейнер-сервис --имя-сервиса myservice --power nano --scale 1 aws lightsail получить-контейнер-сервисы { "containerServices": [{ "containerServiceName": "myservice", "arn": "arn:aws:lightsail:us-west-2:012345678901:ContainerService/1b50c121-eac7-4ee2-9078-425b0665b3d7", "createdAt": "2020-07-31T09:36:48.226999998Z", "location": { "availabilityZone": "all", "regionName": "us-west-2" }, "resourceType": "ContainerService", "power": "nano", "powerId": "", "state": "READY", "scale": 1, "privateDomainName": "", "isDisabled": false, "roleArn": "" }] } aws lightsail delete-container-service --service myservice
Я также могу развертывать образы контейнеров непосредственно со своего ноутбука с помощью CLI.Установить lightsailctl
.
# Сборка новой версии моего образа (v3) docker build -t sebsto/lightsail-hello-world:v3 . # Отправка нового образа. aws lightsail push-container-image --service-name hello-world --label hello-world --image sebsto/lightsail-hello-world:v3
Через некоторое время я вижу следующий вывод:
Зарегистрировано изображение "sebsto/lightsail-hello-world:v3". При развёртывании используйте для этого изображения обозначение ":hello-world.hello-world.1".
Я создал один lc.json
Файл для сохранения данных конфигурации развертывания. Он соответствует параметрам, которые я вижу в консоли. Я сообщил о предыдущей команде.изображение
Имя, указанное в атрибуте:
{ "serviceName": "hello-world", "containers": { "hello-world": { "image": ":hello-world.hello-world.1", "ports": { "8080": "HTTP" } } }, "publicEndpoint": { "containerName": "hello-world", "containerPort": 8080 } }
Наконец, я создаю новую версию сервиса с помощью следующей команды:
aws lightsail create-container-service-deployment --cli-input-json file://lc.json
Я могу запросить статус развертывания с помощью следующей команды:
aws lightsail get-container-services ... "nextDeployment": { "version": 4, "state": "ACTIVATING", "containers": { "hello-world": { "image": ":hello-world.hello-world.1", "command": [], "environment": {}, "ports": { "8080": "HTTP" } } }, ...
Через некоторое время статус меняется на АКТИВНЫЙ
(Активно), я могу протестировать свою конечную точку.
curl https://hello-world.nxxxxxxxxxxx.lightsail.ec2.aws.dev/ {"message": "Привет, мир API Flask!", "version": 3}
Если вы планируете позже развернуть контейнер на Amazon ECS или Amazon Elastic Kubernetes Service, никаких изменений не требуется. Вы можете извлечь образы контейнеров из репозитория так же, как при использовании Amazon Lightsail Такой же.
Вы можете предоставить Amazon Lightsail Разверните свой контейнер во всех регионах AWS в Световой парус На сегодняшний день,Восток США (Огайо)、Восток США (Северная Вирджиния)、Запад США (Орегон)、Азиатско-Тихоокеанский регион (Мумбаи)、Азиатско-Тихоокеанский регион (Сеул)、Азиатско-Тихоокеанский регион (Сингапур)、Азиатско-Тихоокеанский регион (Сидней)、Азиатско-Тихоокеанский регион (Токио)、Канада (Центральная)、Европа (Франкфурт)、Европа (Ирландия)、Европа (Лондон)иЕвропа (Париж)Региональная доступность.
Как обычно, используйте Amazon Lightsail час,ЦеныЛегко понять и предсказуемо.Amazon Lightsail Контейнеры имеют фиксированную цену за контейнер в месяц, которая зависит от размера контейнера (используемой комбинации виртуального ЦП и памяти). Вы платите пропорциональную плату, рассчитанную в зависимости от времени работы сервиса. Ежемесячная цена — это максимальная цена, которую вы бы взимали при круглосуточной работе сервиса. Цены одинаковы для всех регионов AWS. Цены варьируются от 7 долларов США в месяц за Nano-контейнер (512 МБ памяти и 0,25 ядра виртуального ЦП) до 160 долларов США в месяц за контейнер X-Large (8 ГБ памяти и 4 ядра виртуального ЦП). Эта цена включает в себя не только сам контейнер, но и балансировщик нагрузки, DNS и расширенный уровень передачи данных. Подробная информация и цены для других регионов AWS доступны на сайте Страница цен на Lightsailначальство.
Аккаунт Amazon, отAmazon Lightsail предлагает трёхмесячный бесплатный пробный период с даты подачи заявки. Поторопитесь с регистрацией.Бесплатная пробная версия LightsailБар,Мне не терпится узнать, что ты будешь делать в Amazon Lightsail Какие решения создаются и развертываются на контейнерах!
Исходный текст ссылки: ЩелкнитездесьПосмотреть исходный текст