Windows Azure PowerShell のコマンドレットを分類してみた
この記事はWindowsAzureアドベントカレンダーの3月19日連動記事です。
Windows Azureは通常の管理画面から様々な操作を行う事ができますがPowerShellからでも色々な操作を行う事ができます。
今回はAzureをPowerShellから操作するための手順と、Azure用のコマンドレットを各機能ごとに分類してみたのでご紹介したいと思います。
PowerShellとは
Windows PowerShell は、マイクロソフトが開発した拡張可能なコマンドラインインターフェース (CLI) シェルおよびスクリプト言語である。オブジェクト指向に基づいて設計されており、.NET Framework 2.0 を基盤としている。
Wikipediaより引用
Windows Azure PowerShellをインストールする
インストールする方法はいくつかあるのですが、WebPIを使用してインストールします。
- [Microsoft Web Platform Installer]を起動して右上の検索用テキストボックスに[Azure PowerShell]と入力して検索します。
- [Windows Azure PowerShell(英語)]を追加ボタンをクリックしてインストールします。
インストールはこれで完了です。
アカウント認証を行う
管理ポータルを利用する時にログインするのと同じ様にPowerShellで操作する場合もアカウントの認証を行う必要があります。
アカウント認証する方法はPowerShellの画面に次のコマンドを入力します。
Add-AzureAccount
このコマンドを実行するとアカウント認証の画面が表示されるので、使用するアカウントの情報を入力します。
アカウント認証を行う
管理ポータルを利用する時にログインするのと同じ様にPowerShellで操作する場合もアカウントの認証を行う必要があります。
アカウント認証する方法はPowerShellの画面に次のコマンドを入力します。
Add-AzureAccount
このコマンドを実行するとアカウント認証の画面が表示されるので、使用するアカウントの情報を入力します。
操作するサブスクリプションを選択する
複数のサブスクリプションを所有する方は次の方法で使用するサブスクリプションを選択してください。
Get-AzureSubscription
サブスクリプションを表示して、
Select-AzureSubscription "従量課金"
使用するサブスクリプションを選択します。
使用可能なコマンドレット一覧
ここまで操作を行うとPowerShellから様々な操作を行う事ができます。(仮想マシン作ったり、Webサイト作ったりetc...)
Azureで使用できるコマンドレットの一覧は
help azure
と入力するとコマンドの一覧が表示されますが、多くのコマンドレットが表示され解りにくいので
機能ごとにコマンドレットを分類してみました。
・アカウント&サブスクリプション
Add-AzureAccount Get-AzureAccount Get-AzureAffinityGroup Get-AzurePublishSettingsFile Get-AzureSubscription Import-AzurePublishSettingsFile New-AzureAffinityGroup Remove-AzureAccount Remove-AzureAffinityGroup Remove-AzureSubscription Select-AzureSubscription Set-AzureAffinityGroup Set-AzureSubscription
・仮想マシン
Add-AzureDataDisk Add-AzureDisk Add-AzureEndpoint Add-AzureProvisioningConfig Add-AzureVMImage Export-AzureVM Get-AzureAclConfig Get-AzureDataDisk Get-AzureDisk Get-AzureEndpoint Get-AzureRemoteDesktopFile Get-AzureOSDisk Get-AzureStaticVNetIP Get-AzureSubnet Get-AzureVM Get-AzureVMAccessExtension Get-AzureVMAvailableExtension Get-AzureVMBGInfoExtension Get-AzureVMExtension Get-AzureVMImage Get-AzureWinRMUri Import-AzureVM New-AzureAclConfig New-AzureCertificateSetting New-AzureQuickVM New-AzureSSHKey New-AzureVM New-AzureVMConfig Remove-AzureAclConfig Remove-AzureDataDisk Remove-AzureDisk Remove-AzureEndpoint Remove-AzureStaticVNetIP Remove-AzureVM Remove-AzureVMAccessExtension Remove-AzureVMBGInfoExtension Remove-AzureVMExtension Remove-AzureVMImage Restart-AzureVM Save-AzureVMImage Set-AzureAclConfig Set-AzureAvailabilitySet Set-AzureDataDisk Set-AzureEndpoint Set-AzureLoadBalancedEndpoint Set-AzureOSDisk Set-AzureStaticVNetIP Set-AzureSubnet Set-AzureVMAccessExtension Set-AzureVMBGInfoExtension Set-AzureVMExtension Set-AzureVMSize Set-AzureWebsite Start-AzureVM Stop-AzureVM Test-AzureStaticVNetIP Update-AzureDisk Update-AzureVM Update-AzureVMImage
・クラウドサービス
Add-AzureCacheWorkerRole Add-AzureCertificate Add-AzureDjangoWebRole Add-AzureNodeWebRole Add-AzureNodeWorkerRole Add-AzurePHPWebRole Add-AzurePHPWorkerRole Add-AzureWebRole Add-AzureWorkerRole Enable-AzureMemcacheRole Get-AzureCertificate Get-AzureDeployment Get-AzureDns Get-AzureRole Get-AzureService Get-AzureServiceADDomainExtension Get-AzureServiceDiagnosticsExtension Get-AzureServiceExtension Get-AzureServiceRemoteDesktopExtension Move-AzureDeployment New-AzureDeployment New-AzureDns New-AzureRoleTemplate New-AzureService New-AzureServiceADDomainExtensionsConfig New-AzureServiceDiagnosticsExtensionsConfig New-AzureServiceExtensionConfig New-AzureServiceProject New-AzureServiceRemoteDesktopExtensionsConfig New-AzureSSHKey Publish-AzureServiceProject Remove-AzureCertificate Remove-AzureDeployment Remove-AzureService Remove-AzureServiceADDomainExtension Remove-AzureServiceDiagnosticsnExtension Remove-AzureServiceExtension Remove-AzureServiceRemoteDesktopExtension Reset-AzureRoleInstance Save-AzureServiceProjectPackage Set-AzureDeployment Set-AzureRole Set-AzureService Set-AzureServiceADDomainExtension Set-AzureServiceDiagnosticsExtension Set-AzureServiceExtension Set-AzureServiceProject Set-AzureServiceProjectRole Set-AzureServiceRemoteDesktopExtension Set-AzureWalkUpgradeDomain Start-AzureService Stop-AzureService
・Webサイト
Disable-AzureWebsiteApplicationDiagnostic Disable-AzureWebsiteDebug Enable-AzureWebsiteApplicationDiagnostic Enable-AzureWebsiteDebug Get-AzureWebsite Get-AzureWebsiteDeployment Get-AzureWebsiteJob Get-AzureWebsiteJobHistory Get-AzureWebsiteLocation Get-AzureWebsiteLog New-AzureWebsite New-AzureWebsiteJob Publish-AzureWebsiteProject Remove-AzureWebsite Remove-AzureWebsiteJob Restart-AzureWebsite Restore-AzureWebsiteDeployment Save-AzureWebsiteLog Show-AzureWebsite Start-AzureWebsite Start-AzureWebsiteJob Stop-AzureWebsite Stop-AzureWebsiteJob Switch-AzureWebsiteSlot Update-AzureWebsiteRepository
・HDInsight
Add-AzureHDInsightConfigValues Add-AzureHDInsightMetastore Add-AzureHDInsightStorage Get-AzureHDInsightCluster Get-AzureHDInsightJob Get-AzureHDInsightJobOutput Get-AzureHDInsightProperties Grant-AzureHDInsightHttpServic... Invoke-AzureHDInsightHiveJob New-AzureHDInsightCluster New-AzureHDInsightClusterConfig New-AzureHDInsightHiveJobDefinition New-AzureHDInsightMapReduceJobDefinition New-AzureHDInsightPigJobDefinition New-AzureHDInsightSqoopJobDefinition New-AzureHDInsightStreamingMapReduceJobDefinition Remove-AzureHDInsightCluster Revoke-AzureHDInsightHttpServicesAccess Set-AzureHDInsightDefaultStorage Start-AzureHDInsightJob Stop-AzureHDInsightJob Use-AzureHDInsightCluster Wait-AzureHDInsightJob
・ストレージ
Add-AzureVhd Get-AzureStorageAccount Get-AzureStorageBlob Get-AzureStorageBlobContent Get-AzureStorageBlobCopyState Get-AzureStorageContainer Get-AzureStorageKey Get-AzureStorageQueue Get-AzureStorageServiceLoggingProperty Get-AzureStorageServiceMetricsProperty Get-AzureStorageTable New-AzureStorageAccount New-AzureStorageBlobSASToken New-AzureStorageContainer New-AzureStorageContainerSASToken New-AzureStorageContext New-AzureStorageKey New-AzureStorageQueue New-AzureStorageQueueSASToken New-AzureStorageTable New-AzureStorageTableSASToken Remove-AzureStorageAccount Remove-AzureStorageBlob Remove-AzureStorageContainer Remove-AzureStorageQueue Remove-AzureStorageTable Save-AzureVhd Set-AzureStorageAccount Set-AzureStorageBlobContent Set-AzureStorageContainerAcl Set-AzureStorageServiceLoggingProperty Set-AzureStorageServiceMetricsProperty Start-AzureStorageBlobCopy Stop-AzureStorageBlobCopy
・SQLデータベース
Get-AzureSqlDatabase Get-AzureSqlDatabaseImportExportStatus Get-AzureSqlDatabaseOperation Get-AzureSqlDatabaseServer Get-AzureSqlDatabaseServerFirewallRule Get-AzureSqlDatabaseServerQuota Get-AzureSqlDatabaseServiceObjective New-AzureSqlDatabase New-AzureSqlDatabaseServer New-AzureSqlDatabaseServerContext New-AzureSqlDatabaseServerFirewallRule Remove-AzureSqlDatabase Remove-AzureSqlDatabaseServer Remove-AzureSqlDatabaseServerFirewallRule Set-AzureSqlDatabase Set-AzureSqlDatabaseServer Set-AzureSqlDatabaseServerFirewallRule Start-AzureSqlDatabaseExport Start-AzureSqlDatabaseImport
・メディアサービス
Get-AzureMediaServicesAccount New-AzureMediaServicesAccount New-AzureMediaServicesKey Remove-AzureMediaServicesAccount
・サービスバス
Get-AzureSBAuthorizationRule Get-AzureSBLocation Get-AzureSBNamespace New-AzureSBAuthorizationRule New-AzureSBNamespace Remove-AzureSBAuthorizationRule Remove-AzureSBNamespace Set-AzureSBAuthorizationRule
・仮想ネットワーク
Get-AzureVNetConfig Get-AzureVNetConnection Get-AzureVNetGateway Get-AzureVNetGatewayKey Get-AzureVNetSite New-AzureVNetGateway Remove-AzureVNetConfig Remove-AzureVNetGateway Set-AzureVNetConfig Set-AzureVNetGateway
・未分類(用途不明だったり分類できなかたもの)
Add-AzureEnvironment Disable-AzureServiceProjectRemoteDesktop Enable-AzureServiceProjectRemoteDesktop Get-AzureEnvironment Get-AzureLocation Get-AzureOSVersion Get-AzureStoreAddOn Get-AzureRoleSize Get-AzureServiceAvailableExtentions Get-AzureServiceProjectRoleRuntime New-AzureStoreAddOn Remove-AzureEnvironment Remove-AzureStoreAddOn Set-AzureEnvironment Set-AzureStoreAddOn Show-AzurePortal Start-AzureEmulator Stop-AzureEmulator Test-AzureName
仮想マシンやストレージに関するコマンドレットは便利に使えそうな物が多いですね。