파이썬으로 Azure 가상머신 생성하기

이번 블로그에서는 파이썬을 사용하여 Azure 가상머신을 생성하는 방법에 대해 알아보겠습니다. Azure는 Microsoft의 클라우드 컴퓨팅 플랫폼으로, 가상머신을 생성하여 손쉽게 인프라를 관리할 수 있습니다.

1. Azure 계정 설정하기

Azure를 사용하기 위해서는 먼저 Azure 계정이 필요합니다. 계정을 생성하고 Azure Portal에 로그인해야 합니다.

2. Azure SDK 설치하기

Azure SDK를 사용하여 파이썬으로 Azure에 접근할 수 있습니다. Azure SDK를 설치하기 위해서는 다음과 같은 명령어를 실행합니다:

pip install azure

3. 가상머신 생성하기

Azure SDK를 사용하여 가상머신을 생성하는 예제 코드를 작성해보겠습니다.

from azure.common.credentials import ServicePrincipalCredentials
from azure.mgmt.compute import ComputeManagementClient
from azure.mgmt.network import NetworkManagementClient
from azure.mgmt.resource import ResourceManagementClient

# Azure 인증 정보 설정
subscription_id = 'your_subscription_id'
tenant_id = 'your_tenant_id'
client_id = 'your_client_id'
client_secret = 'your_client_secret'
credentials = ServicePrincipalCredentials(
    client_id=client_id,
    secret=client_secret,
    tenant=tenant_id
)

# Azure 관리 클라이언트 설정
resource_client = ResourceManagementClient(credentials, subscription_id)
network_client = NetworkManagementClient(credentials, subscription_id)
compute_client = ComputeManagementClient(credentials, subscription_id)

# 리소스 그룹 생성
resource_group_params = {'location': 'westus'}
resource_client.resource_groups.create_or_update('your_resource_group', resource_group_params)

# 네트워크 생성
vnet_params = {'location': 'westus', 'address_space': {'address_prefixes': ['10.0.0.0/16']}}
async_vnet_creation = network_client.virtual_networks.create_or_update('your_resource_group', 'your_vnet_name', vnet_params)
async_vnet_creation.wait()

# 서브넷 생성
subnet_params = {'address_prefix': '10.0.0.0/24'}
network_client.subnets.create_or_update('your_resource_group', 'your_vnet_name', 'your_subnet_name', subnet_params)

# IP 주소 생성
public_ip_params = {'location': 'westus'}
async_public_ip_creation = network_client.public_ip_addresses.create_or_update('your_resource_group', 'your_public_ip_name', public_ip_params)
public_ip_info = async_public_ip_creation.result()

# 가상머신 생성
vm_params = {
    'location': 'westus',
    'os_profile': {
        'computer_name': 'your_vm_name',
        'admin_username': 'your_admin_username',
        'admin_password': 'your_admin_password'
    },
    'hardware_profile': {
        'vm_size': 'Standard_DS1_v2'
    },
    'storage_profile': {
        'image_reference': {
            'publisher': 'Canonical',
            'offer': 'UbuntuServer',
            'sku': '16.04-LTS',
            'version': 'latest'
        },
        'os_disk': {
            'create_option': 'from_image',
            'caching': 'ReadWrite',
            'managed_disk': {
                'storage_account_type': 'Premium_LRS'
            }
        }
    },
    'network_profile': {
        'network_interfaces': [{
            'id': nic_result.id
        }]
    }
}

async_vm_creation = compute_client.virtual_machines.create_or_update('your_resource_group', 'your_vm_name', vm_params)
vm_info = async_vm_creation.result()

마무리

이제 파이썬을 사용하여 Azure 가상머신을 생성하는 방법에 대해 알게 되었습니다. Azure SDK를 사용하면 다양한 기능을 자동화할 수 있으며, 파이썬을 활용하여 Azure 클라우드 인프라를 관리할 수 있습니다. 자세한 내용은 Azure SDK for Python 문서를 참고하시기 바랍니다.

#Azure #파이썬