查了網路上的文章
其實不是很詳盡
所以自己來寫一份了 orz
PART I – 安裝 Azure Cli
這部份可以參考官網文章
基本上就是跑下面指令就可以了
sudo npm install azure-cli -g
裝完可以打 azure 指令測試看看
shtzeng@jump [~] [08:36:22] $ azure [8/8]
info: _ _____ _ ___ ___
info: /_\ |_ / | | | _ \ __|
info: _ ___/ _ \__/ /| |_| | / _|___ _ _
info: (___ /_/ \_\/___|\___/|_|_\___| _____)
info: (_______ _ _) _ ______ _)_ _
info: (______________ _ ) (___ _ _)
info:
info: Microsoft Azure: Microsoft's Cloud Platform
info:
info: Tool version 0.10.5
help:
help: Display help for a given command
help: help [options] [command]
help:
help: Log in to an Azure subscription using Active Directory or a Microsoft account identity.
help: login [options]
help:
help: Log out from Azure subscription using Active Directory. Currently, the user can log out only via Microsoft organizational account
help: logout [options] [username]
help:
help: Open the portal in a browser
help: portal [options]
help:
help: Manages the data collection preference.
help: telemetry [options]
help:
help: Commands:
help: account Commands to manage your account information and publish settings
help: acs Commands to manage your container service.
help: ad Commands to display Active Directory objects
help: appserviceplan Commands to manage your Azure appserviceplans
help: availset Commands to manage your availability sets.
help: batch Commands to manage your Batch objects
help: cdn Commands to manage Azure Content Delivery Network (CDN)
help: config Commands to manage your local settings
help: datalake Commands to manage your Data Lake objects
help: feature Commands to manage your features
help: group Commands to manage your resource groups
help: hdinsight Commands to manage HDInsight clusters and jobs
help: insights Commands related to monitoring Insights (events, alert rules, autoscale settings, metrics)
help: iothub Commands to manage your Azure IoT hubs
help: keyvault Commands to manage key vault instances in the Azure Key Vault service
help: lab Commands to manage your DevTest Labs
help: location Commands to get the available locations
help: network Commands to manage network resources
help: policy Commands to manage your policies on ARM Resources.
help: powerbi Commands to manage your Azure Power BI Embedded Workspace Collections
help: provider Commands to manage resource provider registrations
help: quotas Command to view your aggregated Azure quotas
help: rediscache Commands to manage your Azure Redis Cache(s)
help: resource Commands to manage your resources
help: role Commands to manage role definitions
help: servermanagement Commands to manage Azure Server Managment resources
help: servicefabric Commands to manage your Azure Service Fabric
help: storage Commands to manage your Storage objects
help: tag Commands to manage your resource manager tags
help: usage Command to view your aggregated Azure usage data
help: vm Commands to manage your virtual machines
help: vmss Commands to manage your virtual machine scale sets.
help: vmssvm Commands to manage your virtual machine scale set vm.
help: webapp Commands to manage your Azure webapps
help:
help: Options:
help: -h, --help output usage information
help: -v, --version output the application version
help:
help: Current Mode: arm (Azure Resource Management)
shtzeng@jump [~] [08:36:26] $
建議啟用 TAB 自動完成
azure --completion >> ~/azure.completion.sh
echo 'source ~/azure.completion.sh' >> ~/.bash_profile
PART II – 登入 Azure
這部份可以參考官網文章
透過輸入 azure login 會得到一組 token,再到 http://aka.ms/devicelogin 輸入 token 後再輸入帳號密碼,然後跳到一頁說明可以關掉這頁面時,azure cli 工具應該就顯示登入成功了。
shtzeng@jump [~] [02:59:02] $ azure login
info: Executing command login
|info: To sign in, use a web browser to open the page https://aka.ms/devicelogin. Enter the code XXXX to authenticate.
-info: Added subscription AAAA
info: Added subscription BBBB
info: Setting subscription "AAAA" as default
+
info: login command OK
shtzeng@jump [~] [03:19:07] $
這邊可以看到我有兩個 subscription,然後預設是 AAAA。
這時候下 azure vm list 會發現空無一物,因為選錯 subscription 了,要自己切換 subscription。
shtzeng@jump [~] [03:31:04] $ azure vm list
info: Executing command vm list
+ Getting virtual machines
info: No VMs found
info: vm list command OK
shtzeng@jump [~] [03:31:45] $ azure account list
info: Executing command account list
data: Name Id Current State
data: --------------------------- ------------------------------------ ------- -------
data: AAAA xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx true Enabled
data: BBBB yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy false Enabled
info: account list command OK
shtzeng@jump [~] [03:42:07] $ azure account set "BBBB"
info: Executing command account set
info: Setting subscription to "BBBB" with id "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy".
info: Changes saved
info: account set command OK
shtzeng@jump [~] [03:42:36] $
如此一來就可以查到東西了
shtzeng@jump [~] [03:42:45] $ azure vm list [236/826]
info: Executing command vm list
+ Getting virtual machines
data: ResourceGroupName Name ProvisioningState PowerState Location Size
data: ----------------- -------------------------------- ----------------- ---------- ---------- -----------
data: VA nat-virginia Succeeded VM running eastus2 Standard_A1
data: NL nat-netherlands Succeeded VM running westeurope Standard_A1
info: vm list command OK
shtzeng@jump [~] [03:43:35]
PART III – 設定 reverse DNS
這邊就是其他文章沒寫清楚的地方了
可以參考官網文章
我這邊已經有了 Public IP 了,想為它設定反查,首先要查出來該 IP 的名稱
shtzeng@jump [~] [03:49:35] $ azure network public-ip list HK
info: Executing command network public-ip list
+ Getting the public ip addresses
data: Name Location Resource group Provisioning state Allocation method IP version IP Address Idle timeout, minutes FQDN
data: -------------------------------- -------- -------------- ------------------ ----------------- ---------- -------------- --------------------- -----------------------------------------
data: ip-vm-1 eastasia HK Succeeded Static IPv4 257.257.257.257 4
info: network public-ip list command OK
shtzeng@jump [~] [03:49:41] $
有了名稱才可以下指令
shtzeng@jump [~] [04:05:56] $ azure network public-ip set -n ip-vm-1 -g HK -f vm-1.xxx.yyy.zzz
info: Executing command network public-ip set
+ Looking up the public ip "ip-vm-1"
+ Updating public ip address "ip-vm-1"
data: Id : /subscriptions/yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy/resourceGroups/HK/providers/Microsoft.Network/publicIPAddresses/ip-vm-1
data: Name : ip-vm-1
data: Type : Microsoft.Network/publicIPAddresses
data: Location : eastasia
data: Provisioning state : Succeeded
data: Allocation method : Static
data: IP version : IPv4
data: Idle timeout in minutes : 4
data: IP Address : 257.257.257.257
data: IP configuration id : /subscriptions/yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy/resourceGroups/HK/providers/Microsoft.Network/networkInterfaces/ip-vm-1234/ipConfigurations/ipconfig1
data: Domain name label : ip-vm-1
data: FQDN : ip-vm-1.eastasia.cloudapp.azure.com
info: network public-ip set command OK
shtzeng@jump [~] [04:06:49] $
這樣就完成 reverse DNS 設定了
以下是說明
-n 這裡指定哪個 IP 做設定,就是 azure network public-ip list HK 列出來的 Name 部分
-g 指定 resource group,我們是縮寫 HK 代表香港機器們
-f 是指設定這個 IP 的反解為何,這裡設定成 vm-1.xxx.yyy.zzz