Cloud SQL インスタンスのセットアップ

このページでは、Cloud Tools for PowerShell を使用して新しい Cloud SQL インスタンスをセットアップする方法について説明します。コマンドレットの詳細については、Cloud Tools for PowerShell コマンドレット リファレンスをご覧ください。

ほとんどのコマンドレットでプロジェクト ID を指定できますが、省略した場合は、アクティブな gcloud CLI 構成で指定されているプロジェクトがデフォルトで使用されます。

新しいインスタンスの設定

Cloud SQL インスタンスは、クラウドで実行される MySQL データベースです。Cloud SQL インスタンスは、MySQL データベースの格納、レプリケート、保護に使用できます。データをいつどこにレプリケートするか、データベースのメンテナンスをいつ実行できるかなど、インスタンスの動作を構成することもできます。

Cloud SQL データベースを作成して起動するには、まず、その構成を指定する必要があります。Cloud Tools for PowerShell で構成を指定するには、New-GcSqlSettingConfig コマンドレットと New-GcSqlInstanceConfig コマンドレットを使用します。

ロギング、メンテナンスの時間枠などの SQL 設定は、New-GcSqlSettingConfig コマンドレットのパラメータです。データベース マシンのハードウェア特性などのインスタンスレベルの設定は、SqlInstanceConfig オブジェクトまたは New-GcSqlInstanceConfig コマンドレットのフラグを使用して設定します。

パラメータを何も指定しないと、「db-n1-standard-1」階層を使用して最も基本的な Cloud SQL インスタンスが作成されます。

$setting = New-GcSqlSettingConfig
$instance = New-GcSqlInstanceConfig `
    "mynewinstance" -SettingConfig $setting

階層と料金については、Cloud SQL の料金のトピックをご覧ください。

構成オプションについては、Get-Help New-GcSqlSettingConfig を使用するか、DatabaseInstance オブジェクトのドキュメントをご覧ください。

新しいインスタンスの作成

前のセクションで説明した構成と設定を行ったら、Add-GcSqlInstance コマンドレットを使用して Cloud SQL データベースを作成できるようになります。

Add-GcSqlInstance $instance

新しいインスタンスの作成には 1 分ほどかかる場合があります。完了すると、作成されたインスタンスを表す DatabaseInstance オブジェクトが返されます。インスタンスを表示するには、Google Cloud コンソールに移動します。

この時点で、Cloud SQL ドキュメントの説明に沿ってデータベースを管理できるようになります。

リードレプリカ インスタンスの作成

リードレプリカ インスタンスを作成すると、マスター インスタンスのデータをレプリケートできます。作成したリードレプリカ インスタンスを、フェイルオーバー インスタンスにしたり、スタンドアロン インスタンスにしたりすることもできます。リードレプリカ インスタンスからデータを読み取ることもできますが、準同期レプリケーションであるため、データが常に最新の状態であるとは限りません。リードレプリカ インスタンスを使用してデータを複数のリージョンにバックアップすると、停止が発生してもデータを引き続き読み取ることができます。

次のコード スニペットは、既存のマスター インスタンス mynewreplica のリードレプリカ mynewreplica を作成します。スニペットではコマンドレット New-GcSqlInstanceReplicaConfig を使用します。このコマンドレットは、データがレプリケートされる速度や、外部インスタンスからレプリケートされるかどうかなど、リードレプリカ インスタンスに固有の設定を構成します。

$setting = New-GcSqlSettingConfig "db-n1-standard-1"
$replicaConfig = New-GcSqlInstanceReplicaConfig
$instance = New-GcSqlInstanceConfig "mynewreplica" `
    -SettingConfig $setting `
    -ReplicaConfig $replicaConfig `
    -MasterInstanceName "gootoso"
Add-GcSqlInstance $instance

リードレプリカの要件の詳細については、レプリケーションを構成するための要件とヒントをご覧ください。

リードレプリカをフェイルオーバー インスタンスやスタンドアロン インスタンスにプロモートする方法については、インスタンスのレプリケーションの管理をご覧ください。

フェイルオーバー レプリカ インスタンスの作成

Cloud SQL には、フェイルオーバー レプリカを使用したインスタンスの高可用性構成が用意されています。フェイルオーバー レプリカは、準同期レプリケーションを使用して、マスター インスタンスのデータのすべての変更をレプリケートします。マスター インスタンスのゾーンが停止した場合は、フェイルオーバー レプリカがアクティブになり、制御を引き継ぎます。そのため、レプリカがマスターとは異なるゾーンにある必要があります。

次のコード スニペットは、マスター インスタンス gootoso の新しいフェイルオーバー レプリカ myfailover を作成します。前の例と同じように config コマンドレットが使用されていますが、-FailoverTarget フラグが追加されていることに注意してください。

$setting = New-GcSqlSettingConfig "db-n1-standard-1"
$replicaConfig = New-GcSqlInstanceReplicaConfig -FailoverTarget
$instance = New-GcSqlInstanceConfig "myfailover" `
    -SettingConfig $setting `
    -ReplicaConfig $replicaConfig `
    -MasterInstanceName "gootoso"
Add-GcSqlInstance $instance

レプリカ インスタンスは通常のインスタンスと同じように課金されることに注意してください。