PowerShell を使用してデプロイを自動化する

完了

PowerShell は、タスク管理を簡素化し、自動化を強化するために設計された、最新のクロスプラットフォーム コマンド シェルです。 管理者は、自動化された場合に運用コストを削減するのに役立つ強力なコマンド ライン機能を提供します。

PowerShell はテキスト オブジェクトと .NET オブジェクトの両方を処理できるため、汎用のオールインワン コマンド ライン ツールになります。

PowerShell の主な利点には、次のようなものがあります。

  • 堅牢なコマンドラインの履歴
  • タブ補完とコマンド予測
  • コマンドとパラメーターのエイリアスのサポート
  • コマンド チェーンのパイプライン
  • コンソール内ヘルプ システム

PowerShell のコア モジュールである Az PowerShell モジュールは、コマンドレットのオープンソース セットです。 これにより、PowerShell から直接 Azure リソースを管理でき、リソースの作成、変更、状態の取得、テンプレートベースのデプロイが可能になります。

Az.Sql PowerShell モジュール

Az.Sql PowerShell モジュールは Az PowerShell モジュールのサブセットであり、Azure SQL リソースの管理とデプロイを可能にします。 Az.Sql コマンドレットを使用すると、データベースの作成から geo レプリケーションの構成、完全な Azure SQL 管理まで、あらゆる処理を行うことができます。

Az.Sql PowerShell モジュールは、PowerShellGet、Azure Cloud Shell、Az PowerShell Docker コンテナーなど、さまざまな環境で使用できます。

PowerShell の使用方法に関係なく、構文は動詞と名詞の構造と一貫性を保ちます。

<command-name> -<Required Parameter Name> <Required Parameter Value>
[-<Optional Parameter Name> <Optional Parameter Value>]
[-<Optional Switch Parameters>]
[-<Optional Parameter Name>] <Required Parameter Value>

コマンドは常に、Azure SQL Database の 1 つ以上の論理サーバーに関する情報を返すコマンド名 ( Get-AzSqlServer など) で始まります。 次に、"command-name" の後にパラメーター名が続きます。<-ServerName> は、Get-AzSQLServer に適用可能なパラメーターです。 その後、文字列形式で記述されるパラメーター値が続きます。 次の例は、戻り値を持つ複数のパラメーターを持つ Get-AzSqlServer コマンドの使用方法を示しています。

Get-AzSqlServer -ResourceGroupName "ResourceGroup01" -ServerName "Server01"

新しい SQL Managed Instance を作成する方法や、特定のサーバーにデータベースを作成する方法など、いくつかの例を次に示します。

New-AzSqlInstance -Name managedInstance2 -ResourceGroupName ResourceGroup01 -Location westcentralus -AdministratorCredential (Get-Credential) -SubnetId "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/resourcegroup01/providers/Microsoft.Network/virtualNetworks/vnet_name/subnets/subnet_name" -LicenseType LicenseIncluded -StorageSizeInGB 1024 -VCore 16 -Edition "GeneralPurpose" -ComputeGeneration Gen4
New-AzSqlDatabase -ResourceGroupName "ResourceGroup01" -ServerName "Server01" -DatabaseName "Database01"

外部 Microsoft Entra 管理者、Microsoft Entra 専用認証、および SqlAdministratorCredentials を使用しない新しい SQL Managed Instance を作成する例を次に示します。

New-AzSqlInstance -Name managedInstance2 -ResourceGroupName ResourceGroup01 -ExternalAdminName DummyLogin -EnableActiveDirectoryOnlyAuthentication -Location westcentralus -SubnetId "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/resourcegroup01/providers/Microsoft.Network/virtualNetworks/vnet_name/subnets/subnet_name" -LicenseType LicenseIncluded -StorageSizeInGB 1024 -VCore 16 -Edition "GeneralPurpose" -ComputeGeneration Gen4

$val = Get-AzSqlInstance -Name managedInstance2 -ResourceGroupName ResourceGroup01 -ExpandActiveDirectoryAdministrator

Az.Sql モジュールのコマンド名の完全な一覧の詳細については、 Azure PowerShell Az.Sql に関するページを参照してください。