Які порти заблоковані?
Ми блокуємо кілька вихідних портів для безпеки мережі. Заблоковано за замовчуванням. Ви можете попросити видалити ці блокування, відкривши заявку в службу підтримки. TCP порт 2
Вступ
Для взаємодії з Vultr API можна використовувати офіційну бібліотеку Vultr Go . API Vultr дозволяє керувати ресурсами, пов’язаними з вашим обліковим записом, включаючи сервери, DNS, брандмауер, знімки, мережу тощо. Цей підручник познайомиться з використанням офіційного клієнта Go API, створивши просту програму для отримання інформації про ваші сервери.
Передумови
Цілі
Крок 1: Створення проекту
Спочатку ми почнемо зі створення нового модуля (проекту). Зазвичай ви використовуєте URL-адресу сховища для свого коду як назву модуля, але це виходить за рамки цього підручника. Наразі ми будемо використовувати serverinfo як назву модуля.
Щоб створити проект, виконайте такі команди:
# Create the folder in the current directory. mkdir serverinfo # Enter the new folder. cd serverinfo # Initialize the module. go mod init serverinfo
Крок 2: Завантаження бібліотеки
Далі ми завантажимо бібліотеку API з GitHub (сайт хостингу коду). Щоб завантажити бібліотеки, потрібно скористатися go get
командою. Це автоматично завантажить бібліотеку та її залежності під час додавання її до файлу go.mod . У тому самому терміналі, який ви відкривали раніше, введіть таку команду:
go get github.com/vultr/govultr
Крок 3. Отримання ключа API
Щоб використовувати клієнт API, вам знадобиться ваш ключ API. Ви можете отримати ключ API на вкладці API розділу Обліковий запис на інформаційній панелі . Вам також потрібно буде авторизувати свою IP-адресу для використання ключа API. Ви можете знайти свою IP-адресу, перейшовши на ifconfig.me . Зауважте, що ви шукаєте свій публічний IP, а не приватний. Ваш приватний IP – це те, що ви знайдете в налаштуваннях мережі на комп’ютері, і знаходиться в одному з наступних діапазонів CIDR: 10.0.0.0/8 , 172.16.0.0/12 або 192.168.0.0/16 .
Отримавши свою IP-адресу, додайте її в розділ « Контроль доступу» . У полі після / введіть 32
. /32
це значення маски мережі 255.255.255.255
. Це означає, що до діапазону входить тільки ваша IP-адреса.
Попередження. Захистіть свій ключ API так само, як і пароль. Ключ API має доступ до всього вашого облікового запису, включаючи виставлення рахунків, сервери та сховище.
Крок 4: Створення програмного файлу
Тепер ми починаємо працювати над програмою. Відкрийте папку, яку ми створили у вибраному редакторі, і створіть файл з іменем main.go
.
Усередині файлу введіть або скопіюйте та вставте наступний код:
package main import ( "context" "fmt" "os" "github.com/vultr/govultr" ) func main() { }
Повідомляє package main
Go, що ми створюємо команду, а не бібліотеку. Оператор імпорту оголошує залежності, які ми будемо використовувати. func main()
це функція, яка викликається, коли ми запускаємо нашу програму.
Крок 5: Ініціалізація клієнта API
Наступним кроком є ініціалізація клієнта API. Для цього нам потрібно скористатися функцією govultr.NewClient(http.Client, string) . Додайте такий код усередину функції main() :
client := govultr.NewClient(nil, "YOURAPIKEY")
Замініть YOURAPIKEY
ключ API, який ви отримали раніше.
Давайте розглянемо цей код трохи ближче. З лівого боку :=
ми маємо client
. Це ім'я змінної . Змінна зберігає значення. З правого боку у нас є виклик функції govultr.NewClient . Першим параметром є нуль, тому що нам не потрібно змінювати клієнта HTTP за замовчуванням. Другим параметром є ключ API, який ми використовуємо для автентифікації. :=
Оператор присвоює праву сторону на ліву сторону, в цьому випадку результат виклику функції до client
.
Крок 6: Використання API
Наша програма ще нічого не робить. Щоб зробити це корисним, ми збираємося отримати інформацію про наші сервери з Vultr. Ми будемо використовувати функцію govultr.Client.Server.List(context.Context) ([]govultr.Server, помилка) . Додайте наступний код в кінці функції main() :
servers, err := client.Server.List(context.Background()) if err != nil { fmt.Fprintf(os.Stderr, "Error: %v\n", err) os.Exit(1) }
У цьому коді ми викликаємо функцію API для отримання інформації про сервер. Поки що не турбуйтеся про значення контексту , оскільки це більш просунута тема. Наразі все, що нам потрібно знати, це те, що контекст контролює роботу клієнта API. context.Background() повертає порожній контекст . Після отримання інформації про сервер у дві змінні, servers і err , ми перевіряємо, чи не сталася помилка. Якщо так, ми повідомляємо користувачеві про помилку та виходимо з кодом 1 (помилка).
Крок 7: Показ інформації
Тепер, коли у нас є масив серверів у змінній servers ( []govultr.Server ), ми можемо відобразити його. Додайте наступний код в кінці функції main() :
fmt.Println("Servers:") for _, server := range servers { fmt.Printf(" %s (%s) - %s - $%s pending charges - %.2f/%s GB bandwidth\n", server.Label, server.MainIP, server.Location, server.PendingCharges, server.CurrentBandwidth, server.AllowedBandwidth, ) }
Спочатку ми друкуємо (відображаємо) заголовок, Servers:
. Потім ми перебираємо масив servers , ігноруючи індекс, призначаючи його до _
, і призначаючи поточний сервер змінній server . Усередині циклу ми відображаємо мітку сервера, IP-адресу, розташування, незавершені платежі, поточну пропускну здатність і дозволену пропускну здатність. Щоб зробити це ефективно, ми використовуємо рядки формату , рядок, який виглядає як " %s (%s) - %s - $%s pending charges - %.2f/%s GB bandwidth\n"
. Засіб %s
для заміни наступного рядка, а %.2f
засіб для друку наступного float (десяткового числа) округлено до 2 знаків після коми. Решта рядка форматування друкується буквально (як є).
Крок 8: Біг
На цьому етапі ваш код має виглядати так:
package main import ( "context" "fmt" "os" "github.com/vultr/govultr" ) func main() { client := govultr.NewClient(nil, "YOURAPIKEY") servers, err := client.Server.List(context.Background()) if err != nil { fmt.Fprintf(os.Stderr, "Error: %v\n", err) os.Exit(1) } fmt.Println("Servers:") for _, server := range servers { fmt.Printf(" %s (%s) - %s - $%s pending charges - %.2f/%s GB bandwidth\n", server.Label, server.MainIP, server.Location, server.PendingCharges, server.CurrentBandwidth, server.AllowedBandwidth, ) } }
Тепер ми можемо запустити код. Поверніться до терміналу, який ми відкрили раніше, і введіть команду go run
. Вихід буде нагадувати наступне:
Servers: server1 (198.51.100.4) - New Jersey - $3.70 pending charges - 17.64/1000 GB bandwidth server2 (198.51.100.9) - Toronto - $1.70 pending charges - 3.24/500 GB bandwidth
Якщо ви отримуєте повідомлення про помилку, переконайтеся, що ваш ключ API та IP-адреса правильні.
Висновок
На цьому етапі ви успішно вивчили основи використання офіційного клієнта API та написали програму, яка відображатиме інформацію про сервери у вашому обліковому записі.
Подальші кроки
Звідси ви можете зробити набагато більше. Наприклад, ви можете написати програму для надання нового сервера, коли у вас мало пам’яті. Ви можете написати програму для автоматичного оновлення вашого сервера, коли у вас мало пропускної спроможності або обсягу пам’яті. Ви навіть можете написати інструмент для автоматичного оновлення записів DNS на основі вашого поточного IP.
Щоб отримати додаткову інформацію про бібліотеку govultr, ви можете знайти документацію бібліотеки govultr на godoc .
govultr — це проект з відкритим кодом . Якщо ви знайдете якісь помилки в goultr, ви можете повідомити про них на GitHub . Ви також можете безпосередньо внести свій вклад в код, надіславши запит на витяг .
Ми блокуємо кілька вихідних портів для безпеки мережі. Заблоковано за замовчуванням. Ви можете попросити видалити ці блокування, відкривши заявку в службу підтримки. TCP порт 2
Технологія Vultrs Cloud Block Storage дозволяє підключити високопродуктивне масштабоване сховище до вашого примірника, що значно покращує управління простором
У цьому посібнику пояснюється, як змінити розмір жорсткого диска на Vultr VPS. Якщо ви нещодавно оновили свій план до плану з більшим диском, ви можете дотримуватися цього
Вступ Наразі Vultr не має системи, яка б дозволяла завантажувати та монтувати користувацькі ISO-файли на голий метал. Однак це вас не зупиняє
S3-сумісне* сховище об’єктів тепер доступне в хмарі Vultr. Наша технологія зберігання об’єктів доступна, масштабована та легко інтегрована у вас
Будь ласка, використовуйте наведений нижче шаблон, коли запитуєте авторизацію для оголошень BGP. ЛИСТ-АВТОРИЗАЦІЯ [ДАТА] Кому це може стосуватися, Thi
Vultr пропонує широкий вибір операційних систем на вибір. Однак іноді ви можете завантажити власну власну операційну систему ISO, наприклад Kal
Vultr представив підтримку кількох приватних мереж на початку 2018 року. Ця функція пропонується як доповнення до стандартної приватної мережі. Whe
Вступ Офіційну бібліотеку Vultr Go можна використовувати для взаємодії з API Vultr. API Vultr дозволяє керувати ресурсами, пов’язаними з вами
Vultr дозволяє об’єднати дві наші функції (плаваючі IP-адреси та BGP) для досягнення високої доступності. Налаштування Вам знадобляться два екземпляри в sam
Знімки — це ефективний спосіб зробити повну резервну копію вашого сервера. Ви не зможете відновити окремі файли, а відновити весь сервер. Ті
Vultr пропонує рішення брандмауера на базі Інтернету, яке можна ввімкнути для захисту одного або кількох екземплярів обчислень. Наявність набору правил брандмауера для ваших серверів i
Важливе повідомлення про безпеку: як ви, можливо, знаєте, Vultr використовує продукт Cloudflares CDN для підвищення швидкості нашого веб-сайту по всьому світу та захисту від
Двофакторна аутентифікація або 2FA — це техніка, яка додає рівень безпеки, вимагаючи додаткового кроку аутентифікації для входу. Для надійної безпеки
Тепер ми безкоштовно включаємо 10 Гбіт/с DDoS-захист від атак на всі екземпляри виділеної хмари Vultr (VDC) у Нью-Йорку/Нью-Джерсі. Як працює захист від DDoS?
Функція Vultrs BGP дозволяє вам використовувати власний IP-простір і використовувати його в будь-якому з наших місць. Початок роботи Щоб використовувати BGP, вам потрібно: Розгорнутий Vult
Примітка. Будь ласка, прочитайте цей документ повністю, перш ніж інсталювати модуль інформації модуля Vultr WHMCS Версія: 2.0.0 (оновлено) Дата випуску: 25 червня 2019 р.
Вашу корпоративну систему входу можна інтегрувати з системою облікових записів Vultrs за допомогою функції єдиного входу (SSO). SSO допомагає спростити керування паролями
У цьому посібнику пояснюється, як налаштувати додаткову адресу IPv4 на Vultr VPS. Ми припустимо наступне: Основна IP-адреса вашого VPS – 1.2.3.4.
Vultr пропонує автоматичне резервне копіювання як опцію для обчислювальних екземплярів. Резервні копії надзвичайно важливі для критично важливих систем і додатків системи резервного копіювання Vultr
Штучний інтелект не в майбутньому, він тут прямо в сьогоденні У цьому блозі Прочитайте, як програми штучного інтелекту вплинули на різні сектори.
Ви також стали жертвою DDOS-атак і спантеличені методами запобігання? Прочитайте цю статтю, щоб вирішити свої запитання.
Можливо, ви чули, що хакери заробляють багато грошей, але чи замислювалися ви коли-небудь, як вони заробляють такі гроші? давайте обговоримо.
Ви хочете побачити революційні винаходи Google і як ці винаходи змінили життя кожної людини сьогодні? Тоді читайте в блозі, щоб побачити винаходи Google.
Концепція самокерованих автомобілів, щоб вирушати в дороги за допомогою штучного інтелекту, є мрією, яку ми давно мріємо. Але, незважаючи на кілька обіцянок, їх ніде не видно. Прочитайте цей блог, щоб дізнатися більше…
Оскільки наука розвивається швидкими темпами, бере на себе багато наших зусиль, ризики піддати себе незрозумілій Сингулярності також зростає. Читайте, що може означати для нас сингулярність.
Методи зберігання даних можуть розвиватися з моменту народження Даних. Цей блог висвітлює еволюцію зберігання даних на основі інфографіки.
Прочитайте блог, щоб дізнатися про різні шари архітектури великих даних та їх функціональні можливості найпростішим способом.
У цьому цифровому світі пристрої розумного дому стали важливою частиною життя. Ось кілька дивовижних переваг пристроїв розумного дому щодо того, як вони роблять наше життя гідним життя та спрощують його.
Нещодавно Apple випустила додаткове оновлення macOS Catalina 10.15.4, щоб виправити проблеми, але схоже, що оновлення викликає більше проблем, що призводять до блокування комп’ютерів Mac. Прочитайте цю статтю, щоб дізнатися більше