Azure Cli Create New VM

Azure

Create an New VM with Azure CLI

# Replace these if needed
RESOURCE_GROUP="InfraSec"
LOCATION="uaenorth"
VM_NAME="opencti-vm"
ADMIN_USER="secadmin"
SSH_KEY="ssh-rsa XXXXXXXXXX"
VNET_NAME="opencti-vnet"
SUBNET_NAME="opencti-subnet"
NIC_NAME="opencti-nic"
NSG_NAME="opencti-nsg"
PUBLIC_IP_NAME="opencti-pip"
export AZURE_CORE_ONLY_SHOW_ERRORS=false
az group create --name $RESOURCE_GROUP --location $LOCATION

az network vnet create \
  --resource-group $RESOURCE_GROUP \
  --name $VNET_NAME \
  --address-prefix 10.0.0.0/16 \
  --subnet-name $SUBNET_NAME \
  --subnet-prefix 10.0.0.0/24
  
az network public-ip create \
  --resource-group $RESOURCE_GROUP \
  --name $PUBLIC_IP_NAME \
  --allocation-method Static \
  --sku Standard

az network nsg create \
  --resource-group $RESOURCE_GROUP \
  --name $NSG_NAME
  
az network nsg rule create \
  --resource-group $RESOURCE_GROUP \
  --nsg-name $NSG_NAME \
  --name Allow_SSH_HTTP_HTTPS \
  --protocol Tcp \
  --direction Inbound \
  --source-address-prefix "*" \
  --source-port-range "*" \
  --destination-address-prefix "*" \
  --destination-port-range 22 80 443 8080 \
  --access Allow \
  --priority 1000
  
az network nic create \
  --resource-group $RESOURCE_GROUP \
  --name $NIC_NAME \
  --vnet-name $VNET_NAME \
  --subnet $SUBNET_NAME \
  --public-ip-address $PUBLIC_IP_NAME \
  --network-security-group $NSG_NAME
  
az vm create \                                                                             
  --resource-group "$RESOURCE_GROUP" \
  --name "$VM_NAME" \
  --location "$LOCATION" \
  --nics "$NIC_NAME" \
  --image Canonical:UbuntuServer:22.04-LTS:latest
  --size Standard_D8s_v3 \
  --admin-username "$ADMIN_USER" \
  --ssh-key-values "$SSH_KEY" \
  --os-disk-size-gb 128 \
  --public-ip-address "" \
  --no-wait
  
az vm show --resource-group $RESOURCE_GROUP --name $VM_NAME --show-details

az network public-ip show \
  --resource-group $RESOURCE_GROUP \
  --name $PUBLIC_IP_NAME \
  --query "ipAddress"