Cloud offline


В связи с текущими событиями (война на Украине) многие компании отключают пользователей из России, в том числе и облачные. На мой взгляд, этот шаг аналогичен национализации в экономике. Компании выстраивали бизнес с учетом облачных технологий, а им все отключили, ведь ценность облака не сколько в данных, но и в инфраструктуре и автоматизации управления мощностями.

После, такого уже не хочется полагаться на публичные облака, а использовать корпоративные, так как сама идея облака очень привлекательна, но риски огромны, по сути можно за один день стать банкротом, только потому, что ты гражданин страны которая не нравиться США.

Oracle Cloud Free Tier


Компания Oracle предлагает облачный сервис бесплатно на неограниченное количество времени. Ниже описание того как я тестировал эту возможность.

Я не буду в подробностях описывать как регистрироваться, скажу, что достаточно перейти по ссылке https://oracle.com/free и вам понадобится карта для проверки вашего возраста (спишут 1EU и тут же вернут).

Вы получаете два компьютера AMD с одним гигом памяти на борту и еще несколько «плюшек» в виде Object Storage и Autonomous Data Warehouse.

Идея простая, поднять на VM сервис HTTP + PHP и подключится на запись и чтение к Autonomous Data Warehouse.

Погуглив была найдена инструкция по установки PHP с поддержкой OCI8, сразу оговорюсь, я использовал настройки по умолчанию от Oracle в надежде, что все пройдет гладко, так как я использую только родное, но был удивлен когда все пошло не так.

Установить HTTPD оказалось очень просто, потом установил PHP он стал по умолчанию 7.4 что дало о себе знать в дальнейшем.

sudo yum install -y oracle-release-el7 oracle-php-release-el7
sudo yum install -y php php-devel php-xml dtrace-utils
wget http://pear.php.net/go-pear.phar
sudo php go-pear.phar
sudo yum -y install oracle-instantclient19.13-basic oracle-instantclient19.13-devel
sudo PHP_DTRACE=yes pecl install oci8-2.2.0
sudo sh -c "echo extension=oci8.so > /etc/php.d/20-oci8.ini"
sudo sh -c "echo oci8.events = On >> /etc/php.d/20-oci8.ini"
sudo systemctl enable --now httpd.service
sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --reload
sudo setsebool -P httpd_can_network_connect on
sudo systemctl restart httpd

И еще один момент, после того как вы создали виртуальную машину, будет создана и подсеть, так вот надо открыть порт 80 для адреса 0.0.0.0/0 для того, чтобы подключиться к httpd серверу.

Так как к базе данных надо подключаться через wallet файл, чтобы закачать его в виртуальную машину мы активируем Object Storage (создаем bucket) и загружаем туда наш wallet от Autonomous Data Warehouse, а затем командой sudo wget закачиваем его /usr/lib/oracle/19.13/client64/lib/network/admin и запаковываем его unzip *.zip

Последним шагом является проверка: /var/www/html создаем info.php с командой phpinfo(); результатом будет конфигурация сервера и наличие в этой конфигурации отдельной секции OCI8

Следующим этапом проверяем подключение к БД, для этого скачиваем пример example.php (его можно скачать здесь) меняем в нем пароль и название имя базы данных (смотри в файле wallet файл tnsnames.ora). Я разместил этот файл в Object Storage, а потом скачал через wget.

Запускаем наш проверочный код http://<ваш IP виртуальной машины>/Example.php и должна появится табличка, а если подключится к нашей облачной базе данных то увидим там новую таблицу MYCLOUDTBL.

Итак, я получил навык работы с облачными сервисами, попрактиковался в администрировании Linux и убедился, что пока бесплатных пользователей не очень любят, на мой взгляд компания Oracle могла предусмотреть скрипты для организации подключения из виртуальных машин к базам данных их же собственного облака.