Oracle cloud сбросить ос виртуальной машины
Сразу предупреждаю, что бесплатно выдаются машинки достаточно слабенькие (одноядерные, на каждой RAM 1Gb, суммарное дисковое пространство обоих машин до 100Gb, подключение к сети 480Mbit), но для экспериментов этого более чем достаточно. Впрочем на них вполне можно развернуть почтовый сервер для небольшой организации, собственную систему управления умным домом или какой-нибудь FreePBX.
Я не буду здесь полностью описывать процедуру регистрации в Oracle Cloud, она достаточно хорошо представлена на официальном сайте, ссылка есть в конце статьи. Просто скажу, что для этого вам понадобится действующий адрес электронной почты, действующий (российский) телефон с возможностью приема SMS и банковская карта, на которой имеется хотя бы 1EUR или соответствующий рублевой эквивалент. Электронная почта и телефон используются в процессе регистрации, на них отправляются коды, которые необходимо будет затем подтвердить. На последнем шаге привязывается банковская карта (я использовал цифровую дебетовую от банка ВТБ), на ней в процессе регистрации блокируется сумма порядка 1EUR для проверки валидности карты. В дальнейшем она возвращается и больше карта никак не используется, если только вы не захотите сделать апгрейд с Free Tier на какой-либо платный тариф. Замечу, что сразу после завершения регистрации вам предоставляется бонус в размере 250EUR на 30 дней. Т.е. в течении месяца вы можете абсолютно бесплатно попробовать и другие сервисы, которые не входят в программу Free Tier.
Описанную ниже последовательность действий можно сильно упростить, если впоследствии вы не планируете подключать облачную инфраструктуру к своей локальной или офисной сети штатными средствами. В этом случае можно не создавать виртуальную сеть вручную, а сразу перейти к созданию виртуальных машин. Однако если хотите разобраться во взаимосвязи всех облачных элементов, лучше делайте все пошагово, не используя возможностей wizard.
В Oracle Cloud облачная приватная сеть (VCN), имеющая подключение к Интернет, в общем случае выглядит следующим образом:
Service Gateway, так же как и NAT Gateway, нам пока не нужны. Мы хотим получить виртуальную машину, полностью доступную из внешнего мира. Правда (и, видимо, это особенность большинства сервис-провайдеров) внешний адрес IP будет назначен не непосредственно виртуальной машине, а посредством технологии NAT 1:1 (на рисунке выше она фактически реализуется в объекте Internet Gateway).
Итак начнем с создания собственной сети (VCN) в датацентре домашнего региона. Для этого в меню (левый верхний угол страницы) выбираем пункт Networking.
Выбираем в меню "Networking"=>"Virtual Cloud Networks" и нажимаем на кнопку "Create VCN". Придумываем и вводим в поле "Name" идентификатор нашей VCN, а в поле "CIDR Blocks" добавляем минимум одну сеть. Пусть это будет сеть 172.31.254.0/26, в адресном пространстве которой будут адреса создаваемых нами виртуальных машин и всякие служебные туннели для связи виртуальной сети с нашей локальной или офисной сетью. Галочку в пункте "USE DNS HOSTNAMES IN THIS VCN" оставляем отмеченной, чтобы впоследствии можно было бы привязать внутренний DNS к этой VCN.
После создания VCN система также создаст нам следующие объекты по умолчанию: CIDR Blocks (1 шт), Route Tables (1 шт), Security Lists (1 шт) и DHCP Options (1 шт).
Теперь мы должны будем создать внутри VCN подсеть IP-адресов. Для этого нажимаем кнопку "Create Subnet". В поле "Name" вводим имя подсети (сейчас создаем подсеть, в которой будут располагаться виртуальные машины, поэтому назовем ее "Virtual Machines"). Subnet type выбираем "Regional", в поле "CIDR Block" запишем значение 172.31.254.0/28 (хватит нам для начала 13 адресов на 2 бесплатные виртуальные машины?). В "SUBNET ACCESS" выбираем "PUBLIC SUBNET" (чтобы на виртуальные машины нам потом выделили внешние IP-адреса), остальные поля заполняем единственно доступными для выбора на данном этапе значениями.
После создания VCN мы можем создать в ней Internet Gateways. Здесь вообще все просто: в поле "Name" вводим имя создаваемого Internet Gateway и нажимаем кнопку "Create Internet Gateway"
Остался предпоследний шаг, который обеспечит нам возможность выходить из нашей VCN в сеть Интернет (а также входить из Интернета в нашу VCN, используя NAT 1:1). Сначала в меню идем по пунктам "Networking"=>"Virtual Cloud Networks", затем в списке выбираем созданную ранее VCN Zurich, внутри нее в блоке "Resources" выбираем "Route Tables", в появившемся списке выбираем таблицу "Default Route Table for VCN Zurich" (она была создана ранее автоматически), и нажимаем кнопку "Add Route Rule". В поле "Target type" выбираем "Internet Gateway", в поле "DESTINATION CIDR BLOCK" пишем маршрут по умолчанию 0.0.0.0/0, в поле "Target Internet Gateway" выбираем элемент, созданный нами на предыдущем шаге (впрочем он пока вообще будет единственным в списке выбора).
А теперь стоит разрешить ICMP Echo запросы из внешнего мира к нашей внутренней инфраструктуре (по умолчанию они запрещены). Для этого снова выбираем наш VCN Zurich, в его ресурсах выбираем Security Lists. Там будет единственный элемент, созданный автоматически при создании VCN.
Выбираем его в списке, нажимаем кнопку "Add Ingress Rules" и добавляем правило, разрешающее ICMP Echo Requests с любых адресов.
Отлично, мы создали себе сетевую инфраструктуру с требуемым диапазоном внутренних адресов и с подключением к сети Интернет. Теперь можно перейти непосредственно к созданию виртуальных машин.
В меню выбираем пункты "Compute"=>"Instances" и нажимаем кнопку "Create Instance". В поле "Name" указываем имя создаваемой машины, выбираем требуемую нам ОС, в Shape указываем тип VM.Standard.E2.1.Micro (это бесплатная виртуальная машина), в блоке "Configure networking " устанавливаем значение "Assign a public IPv4 address: Yes" (чтобы нашей виртуальной машине выделили внешний адрес в сети Интернет). Ну и убеждаемся, что сеть VCN и подсеть внутри нее выбраны правильно (т.е. те, которые мы создавали на предыдущих шагах). При необходимости можно загрузить уже существующий открытый ключ SSH или создать новый.
Возвращаемся в пункт "Instances" чтобы узнать внешний IP-адрес вновь созданной виртуальной машины.
Примечание: на картинке выше в списке отображаются две виртуальные машины: одна только что созданная и одна с именем "eu-zurich-1-ad-1.vedga.com". Эту машину я создавал ранее, а потом удалил. Но она все равно еще сутки будет отображаться в этом списке в состоянии "Terminated". Беспокоиться нечего: удаленные машины ресурсы не потребляют и не помешают вам создавать новые виртуальные машины (в пределах бесплатного лимита).
Для проверки делаем ping на внешний адрес, и если сеть на предыдущих шагах была настроена правильно, то мы получим ответ от нашей виртуальной машины. Теперь на нее можно зайти по SSH. Замечу, что при создании виртуальной машины из образа Ubuntu, первый вход надо делать не с именем root, а с именем ubuntu и заданным при создании машины SSH-ключом. Впрочем если попробуете зайти под root сразу он вас хотя и не пустит, но укажет, что надо сделать. Для перехода в режим root введите команду sudo /bin/bash, скопируйте содержимое /home/ubuntu/.ssh/* в /root/.ssh и поменяйте владельца файла /root/.ssh/authorized_keys на root:root. Теперь можно будет зайти на машину сразу под root-пользователем, используя ключ SSH.
Теперь у вас есть одна (или две) виртуальные машины, защищенные облачным firewall, и доступ к ним из внешнего мира. Кому-то этого будет достаточно, кто-то быстро поставит на них OpenVPN и свяжет их со своей сетью. А мы будем строить VPN штатными средствами Oracle Cloud (IPSec со статической или динамической BGP маршрутизацией и Mikrotik или Linux на другом конце туннеля), но это уже тема отдельной статьи. Итак, продолжение следует.
N.B. В комментариях пишут, что иногда Oracle удаляет созданные ресурсы без предупреждения. А также то, что через некоторое время с привязанной карты повторно списывается и возвращается 1EUR (подтверждаю, у меня тоже был запрос авторизации с немедленной отменой). Возможно эти вещи взаимосвязаны: пока есть живая карта, Free Tier будет работать. Если карта пропала, значит пропал и пользователь и ресурсы можно удалять. Но это только предположение.
You can stop and start an instance as needed to update software or resolve error conditions.
For steps to manage the lifecycle state of instances in an instance pool, see Stopping and Starting the Instances in an Instance Pool.
Hardware Reclamation for Stopped Bare Metal Instances
When a bare metal instance remains in the stopped state for longer than 48 hours, the instance is taken offline and the physical hardware is reclaimed. The next time that you restart the instance, it starts on different physical hardware. There are no changes to the block volumes, boot volumes, and instance metadata, including the ephemeral and public IP addresses.
This behavior applies to Linux instances that use the following shapes:
- BM.Standard1.36
- BM.Standard.B1.44
- BM.Standard2.52
- BM.Standard.E2.64
Required IAM Policy
To use Oracle Cloud Infrastructure , you must be granted security access in a policy by an administrator. This access is required whether you're using the Console or the REST API with an SDK, CLI, or other tool. If you get a message that you don’t have permission or are unauthorized, verify with your administrator what type of access you have and which compartment to work in.
For administrators: The policy in Let users launch compute instances includes the ability to stop or start an existing instance. If the specified group doesn't need to launch instances or attach volumes, you could simplify that policy to include only manage instance-family , and remove the statements involving volume-family and virtual-network-family .
If you're new to policies, see Getting Started with Policies and Common Policies. For reference material about writing policies for instances, cloud networks, or other Core Services API resources, see Details for the Core Services.
Requirements
To access the Oracle Cloud using the OCI CLI, you need a user which is able to use API keys. Navigate to the user settings of your user account to verify this.
Oracle Cloud user settings
The API key can be generated manually or automatically during the configuration. If an already existing API key is used, the private key file has to be uploaded to the server/client. For the case that a API key is generated, the generated public key file has to be uploaded to the Oracle Cloud.
Генерируем ключи доступа к API
После логина в веб-консоль кликаем иконку с профилем и затем User Settings
Далее идём по пути Resources -> API keys, жмём кнопку “Add API Key”
Копируем содержимое текстового поля, сохраняем в файле с именем config. Я поместил его в новую директорию /home/ubuntu/.oci вместе со скачанным приватным ключом *.pem
Configuration
To use the OCI CLI, you have to link it to your Oracle Cloud tenant. The following information are required:
Follow the instructions in the Oracle Cloud Infrastructure Documentation to gather all required information. Afterward, run the configuration wizard.
Заключение
Вот, как вы будете логиниться в экземпляр после его создания (обратите внимание на имя пользователя - opc)
Если же вы не назначили внешний (публичный) IP адрес, вы всё равно можете подключиться, используя его внутреннее доменное имя (internal FQDN) или частный (private) IP адрес (10.x.x.x) со страницы Instance Details, если экземпляр находится в той же сети VNIC, например,
The Oracle Cloud can be accessed with its web console or on the command-line using the OCI CLI. In this blog post, I will show the required steps to install it and to link it with your Oracle Cloud tenant.
Table of Contents
Есть дополнительная резервная копия
Оценить метод восстановления
Вам нужно решить, как вы собираетесь восстанавливать свою базу данных и какой метод восстановления вы будете использовать. Вы можете либо использовать Oracle Backup Manager (OBM) для восстановления базы данных до предыдущего состояния, либо вернуться к предыдущей базе данных или пользователю. Это будет долгий процесс, поскольку он потребует создания резервных копий всей имеющейся информации базы данных. Возможно, вам даже понадобится сохранить журнал восстановления базы данных, чтобы впоследствии получить эти данные.
Получаем параметры для запуска экземпляра
Нам нужно знать, который из доменов доступности (Availability Domain) бесплатен. Жмём меню Oracle Cloud -> Compute -> Instances
Жмём “Create Instance” и смотрим, где Availability Domain помечен как “Always Free Eligible”. В нашем случае видим, что это AD-2.
Почти каждая команда требует установленный параметр compartment-id. Давайте временно сохраним его в переменную окружения (замените на своё значение tenancy из config файла)
Наконец, соберём значения для запуска экземпляра:
Помните, нам нужен бесплатный (у меня это AD-2). Устанавливаем значение еще одной переменной окружения
Выберем тип (shape)
Нас интересует VM.Standard.A1.Flex:
Надеюсь, вы ранее уже создавали VM.Standard.E2.1.Micro (с процессором AMD) из консоли - два таких экземпляра являются бесплатными. Если нет, сделайте это прежде - нам нужны существующие VNC, subnet, route table, security list и т.д.
Обратите внимание на id
. и сохраните его в переменную
Смотрим список образов
Я предпочитаю иметь весь установленный софт для разработки сразу из коробки - мой выбор - это “Oracle Linux Cloud Developer”
Сохраняем image id
Также нам нужно создать несколько маленьких JSON файлов
shapeConfig.json (можете изменить значения количества процессоров или ОЗУ). Возможные значения 1/6, 2/12, 3/18 and 2/24 соответственно. Обратите внимание, что образ “Oracle Linux Cloud Developer” требует минимум 8ГБ ОЗУ (таким образом, валидное для него значение - это как минимум 1/8)
Чтобы иметь безопасный зашифрованный доступ к экземпляру, нужно иметь сгенерированную пару ключей ~/.ssh/id_rsa и ~/.ssh/id_rsa.pub. Имя файла второго из них (публичного) должно быть передано в команду ниже. В сети достаточно инструкций, чтобы выполнить их генерацию, здесь мы опустим эту часть.
Теперь вы можете настроить crontab для запуска этой команды, например, раз в минуту. Создайте .sh файл ("экспортируйте" переменные окружения до запуска) и убедитесь, что пользователь cron имеет доступ к приватному ключу. Опять же, здесь мы опустим эту часть.
Вывод команды (я тестировал с типом VM.Standard.E2.1.Micro, чтобы не уничтожать существующие экземпляры ARM)
Я полагаю, что достаточно безопасно оставить скрипт работать и проверять Cloud Console в браузере раз в несколько дней, поскольку когда экземпляр будет, наконец, создан, вы (API, CLI) не сможете создать их больше, чем разрешено, и станете получать в ответ что-то вроде
Во всяком случае, именно так и есть в моем случае.
Если же вы перешли на тариф с оплатой по мере использования (Pay as you go), вам следует решить, как остановить вызовы OCI CLI (API) в случае успеха – чтобы не "попасть" на определеную сумму. Например, вы могли бы.
. периодически проверять вывод этой команды, чтобы знать, в какой момент cron должен быть отключен. Это не относится напрямую к проблеме, которую мы здесь решаем.
Stopping or Restarting an Instance Using the Instance's OS
In addition to using the API and Console , you can stop and restart instances using the commands available in the operating system when you are signed in to the instance. Stopping an instance using the instance's OS does not stop billing for that instance. If you stop an instance this way, be sure to also stop it from the Console or API.
Linux / Unix
As installation directory I use $ORACLE_BASE/tools/oci-cli. But you can placed it wherever you want.
After resourcing the profile or re-login, check if you can execute the OCI CLI.
Installation
To install the OCI CLI, download the wrapper script install.sh for Linux/Unix or install.ps1 for Windows from the GitHub repository oracle / oci-cli and execute it on your server/client. The wrapper script will download the Python script install.py.
If Python is not installed on your system, the wrapper script will download and install it automatically.
During my tests, the build and make of Python failed. So I installed it manually before running the install script.
Заключение
Приведенные выше шаги восстановления должны помочь вам восстановить базу данных и вернуть ее в оперативный режим. Для получения дополнительной информации ознакомьтесь с онлайн-ресурсами для получения более полных инструкций и диаграмм по созданию резервных копий, архивированию и проектированию План аварийного восстановления .
Очень заманчивая конфигурация была недавно анонсирована в рамках доступа "Всегда бесплатно". К сожалению, "очень быстро разбирают", а именно - сложно запустить экземпляр, постоянно вылазит ошибка “Out of Capacity” (по состоянию на июль 2021 г.). Здесь мы решаем эту проблему, так как Oracle время от времени наращивает ёмкость.
Каждый арендатор получает бесплатно первые 3000 часов условных ЦП и 18 000 ГБ-часов в месяц для создания экземпляров Ampere A1 Compute с использованием конфигурации VM.Standard.A1.Flex (эквивалентно 4 условным ЦП и 24 ГБ памяти).
К слову, я также разместил ссылки на две эти статьи на Reddit, и кому-то использование CLI показалось сложным, им было намного проще с PHP вариантом.
Назначаем публичный IP адрес
Мы не делаем это нарочно во время запуска команды, поскольку существует ограничение на два "недолговечных" (ephemeral) бесплатных IP адреса. Когда вы преуспеете в создании экземрляра, открываем консоль в веб-браузере, идём по пути Instance Details -> Resources -> Attached VNICs, выбирая его имя
Затем, Resources -> IPv4 Addresses -> … -> Edit
Выбираем ephemeral и кликаем по кнопке "Update"
Windows
As installation directory I use D:\Oracle\Tools\oci-cli. But you can placed it wherever you want. Python is downloaded automatically in this example.
After restarting PowerShell, check if you can execute the OCI CLI.
Using the API
For information about using the API and signing requests, see REST APIs and Security Credentials. For information about SDKs, see Software Development Kits and Command Line Interface.
A аварийное восстановление в Oracle Cloud план должен быть реализован. Большинство планов аварийного восстановления подготовят вашу компанию к неожиданным проблемам или катастрофам. Они также могут обеспечить непрерывность вашей работы и в целом гарантировать безопасность. Он должен всесторонне учитывать вашу инфраструктуру и определять потенциальные уязвимости ваших активов.
Что вы будете делать, если произойдет сбой в Oracle Cloud? Вы должны бороться с этим лицом к лицу. Другого выбора нет. Чтобы помочь вам пережить это трудное время, вот несколько шагов, которые помогут вам как можно быстрее вернуться к работе:
Настраиваем CLI
Устанавливаем путь к файлу конфигурации
Если вы не добавили бинарник OCI CLI себе в PATH, выполните
(только замените путь на тот, куда утилита была установлена в самом начале).
Установите политику доступ к приватному ключу
Протестируем аутентификацию, выполнив следующую команду (значение user берём из текстового поля во время генерации)
Изучить и просмотреть
Вам также следует обратить внимание на то, как работает ваше Oracle Cloud в это время. Если он не отвечает или ваши пользователи не могут к нему подключиться, значит, он не работает с максимальной эффективностью. Это поможет вам найти причину и убедиться, что при следующем использовании Oracle Cloud та же проблема не появится.
Если у вас есть какие-либо приложения, работающие в облаке, их также нужно будет восстановить. Если вы не можете получить к ним доступ, возможно, сервер не работает в течение дня, и вам, возможно, придется подождать, пока он не будет запущен. Если у вас нет доступа к серверам приложений, восстановить их будет намного сложнее.
После того, как вы справились с аварией в Oracle, восстановление будет простым, поскольку все, что вам нужно сделать, это вернуться в Oracle Cloud и снова подключить его. Вам все равно придется восстанавливать данные из резервных копий, которые вы сделали, однако этот процесс будет медленнее, чем при восстановлении данных с помощью функции восстановления. Если вы не делали резервные копии до того, как произошла катастрофа, возможно, вам придется создать резервную копию данных вручную.
Не забывайте, что вы можете восстановить любые приложения, резервные копии которых не выполнялись ранее. Вы также можете восстановить эти файлы с помощью функции восстановления на сервере приложений. При восстановлении данных из резервной копии серверов приложений также важно создать журнал восстановления, чтобы избежать повторения тех же ошибок в будущем. После создания этого журнала вы можете управлять этой информацией, чтобы просмотреть подробные сведения о таких процессах.
Затем этот журнал можно использовать для определения причины аварии, и вы сможете восстановить данные из резервных копий в будущем. Это также поможет вам контролировать серверы приложений, чтобы убедиться, что вам больше не придется сталкиваться с подобными проблемами.
Resource Billing for Stopped Instances
For both VM and bare metal instances, billing depends on the shape that you use to create the instance:
- Standard shapes: Stopping an instance pauses billing. However, stopped instances continue to count toward your service limits.
- Dense I/O shapes: Billing continues for stopped instances because the NVMe storage resources are preserved. Related resources continue to count toward your service limits. To halt billing and remove related resources from your service limits, you must terminate the instance.
- GPU shapes: Billing continues for stopped instances because GPU resources are preserved. Related resources continue to count toward your service limits. To halt billing and remove related resources from your service limits, you must terminate the instance.
- HPC shapes: Billing continues for stopped instances because the NVMe storage resources are preserved. Related resources continue to count toward your service limits. To halt billing and remove related resources from your service limits, you must terminate the instance.
- Optimized shapes: For VM instances, stopping an instance pauses billing. However, stopped instances continue to count toward your service limits. For bare metal instances, billing continues for stopped instances because the NVMe storage resources are preserved. Related resources continue to count toward your service limits. To halt billing and remove related resources from your service limits, you must terminate the instance.
Stopping an instance using the instance's OS does not stop billing for that instance. If you stop an instance this way, be sure to also stop it from the Console or API.
For more information about Compute pricing, see Compute Pricing. For more information about how instances running Microsoft Windows Server are billed when they are stopped, see How am I charged for Windows Server on Oracle Cloud Infrastructure?.
Изолировать проблему
Как только произойдет сбой в облаке, вам необходимо немедленно принять меры. Первый шаг - выявить корень проблемы. Память сервера работает медленнее, чем обычно? Есть ли другие проблемы, которые могут повлиять на ваш сервер, например, уязвимость Active X? Выявление причины ваших проблем поможет вам избежать длительного срыва.
If вам нужно восстановить свое облако system, то вам нужно будет развернуть полноценный процесс восстановления. Это непросто, и во многих случаях потребуется полное резервное копирование вашей системы. Вам также может потребоваться восстановить некоторые потерянные данные, например электронные письма. Все это можете сделать вы. Просто следуйте обычным шагам восстановления, таким как дефрагментация диска и извлечение файлов.
Using the Console
- Open the navigation menu and click Compute . Under Compute , click Instances.
- Click the instance that you're interested in.
- Click Start.
- Open the navigation menu and click Compute . Under Compute , click Instances.
- Click the instance that you're interested in.
- Click Stop.
By default, the Console gracefully stops the instance by sending a shutdown command to the operating system. After waiting 15 minutes for the OS to shut down, the instance is powered off.
Note
If the applications that run on the instance take more than 15 minutes to shut down, they could be improperly stopped, resulting in data corruption. To avoid this, shut down the instance using the commands available in the OS before you stop the instance using the Console .
If you want to stop the instance immediately, without waiting for the OS to respond, select the Force stop the instance by immediately powering off check box.
- Open the navigation menu and click Compute . Under Compute , click Instances.
- Click the instance that you're interested in.
- Click Reboot.
By default, the Console gracefully restarts the instance by sending a shutdown command to the operating system. After waiting 15 minutes for the OS to shut down, the instance is powered off and then powered back on.
Note
If the applications that run on the instance take more than 15 minutes to shut down, they could be improperly stopped, resulting in data corruption. To avoid this, shut down the instance using the commands available in the OS before you restart the instance using the Console .
If you want to reboot the instance immediately, without waiting for the OS to respond, select the Force reboot the instance by immediately powering off, then powering back on check box.
If the instance uses a dense I/O shape, and you want to reboot migrate the instance during infrastructure maintenance, select the Delete the local NVMe-based SSD and reboot migrate to a healthy host check box. For more information about reboot migration and other maintenance options for dense I/O instances, see Infrastructure Maintenance.
Caution
The NVMe-based SSD is permanently deleted. We recommend that you create a backup of the SSD before proceeding.
Читайте также: