استفاده از سرور MySQL راه دور در شبکه خصوصی Hetzner Cloud به صورت ایمن

مقدمه

این آموزش نحوه استفاده از شبکه‌های ابری Hetzner برای دسترسی به پایگاه داده MySQL را توضیح می‌دهد که روی یک سرور ابری (سرور MySQL) از یک سرور ابری دوم (کلاینت MySQL) مدیریت می‌شود.

پیش نیازها
  • 1 سرور ابری Hetzner با MySQL قبلاً نصب شده است.

شما می توانید MySQL را به صورت دستی نصب کنید یا می توانید به سادگی برنامه “LAMP Stack” را هنگام ایجاد سرور انتخاب کنید.


مرحله 1 – یک شبکه خصوصی ایجاد کنید

شبکه خصوصی خود را تحت پروژه Hetzner Cloud خود در منطقه ای که می خواهید استفاده کنید ایجاد کنید.


به یاد داشته باشید که محدوده IP پیش فرض روی 10.0.0.0/16 تنظیم شده است.

مرحله 2 – سرور را به شبکه متصل کنید

اکنون می توانید سرور MySQL را به شبکه جدید متصل کنید. می توانید این کار را با استفاده از Cloud Console یا ابزار hcloud انجام دهید.

hcloud server attach-to-network <your-server-name> --network <your-network-name> --ip <pvt-ip>

قسمت آخر با --ip <pvt-ip&gt; اختیاری است. اگر IP خصوصی خاصی را مشخص نکنید، سیستم Hetzner Cloud به طور خودکار یک IP خصوصی رایگان را برای شما اختصاص می دهد.

مرحله 3 – پیکربندی MySQL را تغییر دهید

برای دسترسی به MySQL از دستگاه دیگری، باید تغییری در فایل /etc/mysql/mysql.conf.d/mysqld.cnf ایجاد کنید.

فایل mysqld.cnf را ویرایش کنید

برای باز کردن فایل پیکربندی MySQL از دستور زیر استفاده کنید:

nano /etc/mysql/mysql.conf.d/mysqld.cnf

پارامتر bind-address را از 127.0.0.1 به 0.0.0.0 تغییر دهید.

اگر MySQL را از طریق برنامه “LAMP Stack” نصب کرده اید، باید یک پورت MySQL (به طور پیش فرض 3306) را با استفاده از ابزار ufw باز کنید.

اگر MySQL را به صورت دستی نصب کرده اید، باید فایروال را با این دستور نصب کنید: apt-get install ufw

فایروال را ویرایش کنید

برای باز کردن پورت 3306 یک قانون به فایروال اضافه کنید

ufw allow from 10.1.0.0/16 to any port 3306

10.1.0.0/16 را با محدوده IP شبکه ای که در مرحله 1 ایجاد کردید جایگزین کنید.

اگر از SSH برای اتصال به سرور خود استفاده می کنید، باید قبل از فعال کردن فایروال، اتصالات SSH را نیز مجاز کنید.

ufw allow OpenSSH
ufw enable

مرحله 4 – یک کاربر MySQL جدید ایجاد کنید

MySQL CLI را به عنوان کاربر ریشه وارد کنید:

mysql -u root -p

یک کاربر MySQL جدید ایجاد کنید که می تواند توسط نمونه های غیر محلی استفاده شود.

CREATE USER '<user>'@'%' IDENTIFIED BY '<password>';
GRANT ALL PRIVILEGES ON *.* TO '<user>'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

همچنین فراموش نکنید که پس از دستکاری فایل mysqld.cnf، MySQL را مجددا راه اندازی کنید. برای خروج از MySQL CLI از CTRL+D استفاده کنید و دستور زیر را اجرا کنید:

service mysql restart

مرحله 5 – دسترسی MySQL را در شبکه خصوصی بررسی کنید

یک سرور جدید از ابتدا ایجاد کنید و آن را به همان شبکه خصوصی وصل کنید.

کلاینت MySQL را نصب کنید. برای مثال می توانید مشتری MariaDB داشته باشید.

apt update apt install mariadb-client -y

اکنون به IP خصوصی سرور اول نیاز دارید. در Cloud Console می توانید پروژه خود را انتخاب کرده و به لیست سرور بروید. از آنجا می توانید IP خصوصی این سرور را کپی کنید.

از این دستور برای اتصال به میزبان MySQL استفاده کنید:

mysql -h <mysql-host-private-ip> -u <user-created-above> -p

سپس فقط رمز عبور خود را که برای کاربر ایجاد شده است و voilà – شما وارد شده است، قرار دهید.

نتیجه

در اینجا شما فقط یک نمونه از نحوه دسترسی به پایگاه داده در شبکه خصوصی تحت هتزنر کلود را مشاهده کردید.

[تعداد: 0   میانگین: 0/5]
دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

شاید دوست داشته باشید