本文へジャンプします。

ニフクラ APIリファレンス

クラウド トップ>API>RDB>SetExternalMaster

RDB:SetExternalMaster

処理概要

外部レプリケーションの設定を行います。

リクエストパラメーター

要素名 説明 必須 最大値 デフォルト値 備考
DBInstanceIdentifier

DBサーバー名

  • ※ステータスが"available"のDBサーバーのみ指定できます
文字列  
MasterHost マスターとなるDBサーバーのIPアドレスまたはホスト名
IPアドレスまたはホスト名を指定します
アルファベット・数字・ハイフン('-')・ドット('.')が使用できます。1-60文字。
文字列  
MasterPort マスターとなるDBサーバーのポート番号
値 : 0~65535
  数値 3306  
ReplicationUserName

レプリケーションユーザー名

  • アルファベット・数字・アンダースコア('_')が使用できます
  • 最初の文字はアルファベットである必要があります
  • MySQLの予約語は使用できません
  • 1-96文字
文字列  
ReplicationUserPassword レプリケーションユーザーのパスワード
「/」、「@」、「"」、「 」、「'」を除く、印字可能なASCII文字が使用できます。1-32文字。
文字列  
BinlogFileName レプリケーションを開始するバイナリログファイル名
「 」を除く、印字可能なASCII文字が使用できます。1-511文字。
文字列  
BinlogPosition レプリケーションを開始するバイナリログファイル内の位置
値 : 0~18446744073709551615
数値  

レスポンス

XML

status

statusは共通の応答メッセージを返却します。

result
要素名 説明 備考
SetExternalMasterResponse ルート -  
SetExternalMasterResult 結果 -  
DBInstance DBサーバー -  
AllocatedStorage ディスク容量 (GB) 数値  
AutoMinorVersionUpgrade マイナーバージョンの自動アップデートを行うかどうか 真偽値 固定値falseを返却
AvailabilityZone DBサーバーのゾーン 文字列  
BackupRetentionPeriod バックアップ保持期間 数値  
BinlogRetentionPeriod バイナリログ保持期間 (日)
BinlogRetentionPeriodを変更した場合のみ要素を返却します。
数値  
CACertificateIdentifier DBサーバーのサーバー証明書と紐付くCA証明書 文字列  
DBInstanceClass DBサーバータイプ 文字列  
DBInstanceIdentifier DBサーバー名 文字列  
DBInstanceStatus DBサーバーのステータス 文字列  
DBName DB名 文字列  
DBParameterGroups DBパラメーターグループ情報リスト リスト  
DBParameterGroup DBパラメーターグループ -  
DBParameterGroupName DBパラメーターグループ名 文字列  
ParameterApplyStatus DBパラメーターの適用ステータス
値:applying(適用中) | pending-reboot(再起動待ち) | in-sync(適用済み)
文字列  
DBSecurityGroups DBファイアウォールグループ情報リスト リスト  
DBSecurityGroup DBファイアウォールグループ -  
DBSecurityGroupName DBファイアウォールグループ名 文字列  
Status DBファイアウォールグループのステータス
値:active(有効) | adding(適用中) | removing(取り外し中) | failed(変更失敗)
文字列  
Engine データベースエンジン 文字列  
EngineVersion データベースエンジンのバージョン 文字列  
ExternalReplicationInfo

外部レプリケーション情報

  • ※DBサーバーが以下の場合のみこのタグは返却されます
  • MySQLでシングル構成
  • MySQLで冗長構成 (データ優先)
-  
ExternalMasterAddress マスターとなるDBサーバーのIPアドレスまたはホスト名 文字列  
ExternalReplicationMessage

外部レプリケーション操作結果

  • ※エラー発生時は、実行時に出力されたメッセージ
文字列  
ExternalReplicationStatus

外部レプリケーション操作ステータス

  • set(SetExternalMaster実行成功 & StartReplication未実行)
  • started(StartReplication実行成功 & StopReplication未実行)
  • stopped(StopReplication実行成功 & ResetExternalMaster未実行)
  • set-error(SetExternalMaster実行失敗)
  • start-error(StartReplication実行失敗)
  • stop-error(StopReplication実行失敗)
  • reset-error(ResetExternalMaster実行失敗)
文字列  
ReplicationAddresses 外部レプリケーション接続元IPアドレス情報リスト リスト  
ReplicationAddress

外部レプリケーション接続元IPアドレス

  • ※シングル構成の場合は外部レプリケーション接続元IPアドレスを1つ返却します
  • ※冗長構成(データ優先)の場合は外部レプリケーション接続元IPアドレスを2つ返却します
文字列  
LicenseModel DBサーバーのライセンスモデル 文字列  
MasterUsername DBサーバーのマスターユーザー名 文字列  
MultiAZ 冗長化機能が有効かどうか 真偽値  
NiftyMultiAZType 冗長構成タイプ 文字列 ニフクラ独自仕様
OptionGroupMemberships オプショングループ情報リスト リスト  
OptionGroupMembership オプショングループ情報 -  
OptionGroupName

下記の固定値を返却

  • DBエンジンがMySQL 5.5系の場合、default:mysql-5-5
  • DBエンジンがMySQL 5.6系の場合、default:mysql-5-6
  • DBエンジンがMySQL 5.7系の場合、default:mysql-5-7
  • DBエンジンがPostgreSQL9.3系の場合、default:postgres-9-3
  • DBエンジンがPostgreSQL9.6系の場合、default:postgres-9-6
  • DBエンジンがMariaDB10.1系の場合、default:mariadb-10-1
文字列  
Status オプショングループのステータス 文字列 固定値in-syncを返却
PendingModifiedValues 保留の修正情報 -  
MasterUserPassword 保留中のDBサーバーのマスターユーザーパスワード 文字列  
PreferredBackupWindow バックアップ時間 文字列  
PreferredMaintenanceWindow メンテナンス時間 文字列  
PubliclyAccessible グローバルIPアドレスを有効にするかどうか 真偽値  
ReadReplicaDBInstanceIdentifiers リードレプリカ名 文字配列  
NiftyStorageType ディスクタイプ 数値  
ResponseMetadata 共通メタ情報 -  

エラー

コード メッセージ タイプ HTTP
ステータスコード
説明
Client.InvalidParameterCannotSpecify.BinlogFileName The parameter BinlogFileName is not a valid. Only printable ASCII characters besides ' ' may be used. Sender 400 BinlogFileNameに無効な値を指定した場合
Client.InvalidParameterCannotSpecify.MasterHost The parameter MasterHost is not a valid. Only alphabet, digits, '-', '.', may be used. Sender 400 MasterHostに無効な値を指定した場合
Client.InvalidParameterCannotSpecify.ReplicationUserName ReplicationUserName INTO cannot be used as it is a reserved word used by the engine Sender 400 ReplicationUserNameに予約語を指定した場合
Client.InvalidParameterCannotSpecify.ReplicationUserPassword The parameter ReplicationUserPassword is not a valid password. Only printable ASCII characters besides '/', '@', '"', ' ', ''' may be used. Sender 400 ReplicationUserPasswordに無効な値を指定した場合
Client.InvalidParameterFormat.DBInstanceIdentifier The parameter DBInstanceIdentifier is not a valid identifier. Identifiers must begin with a letter; must contain only ASCII letters, digits, and hyphens; and must not end with a hyphen or contain two consecutive hyphens. Sender 400 DBInstanceIdentifierに無効な値(ハイフンから始まる 等)を指定した場合
Client.InvalidParameterFormat.ReplicationUserName The parameter ReplicationUserName is not a valid. ReplicationUserName must begin with a alphabet; Only alphabet, digits, '_' may be used. Sender 400 ReplicationUserNameに無効な値を指定した場合
Client.InvalidParameterIllegalInput.BinlogPosition - Sender 400 BinlogPositionに数値でない値を指定した場合
Client.InvalidParameterIllegalInput.MasterPort - Sender 400 MasterPortに数値でない値を指定した場合
Client.InvalidParameterNotFound.DBInstance DBInstance aaa not found. Sender 404 存在しないDBInstanceIdentifierを指定した場合
Client.InvalidParameterOutOfRange.BinlogPosition Invalid BinlogPosition: -1. The BinlogPosition must be between 0 and 18446744073709551615. Sender 400 BinlogPositionに0~18446744073709551615ではない値を指定した場合
Client.InvalidParameterOutOfRange.MasterPort Invalid MasterPort: 100000. Valid range is 0-65535. Sender 400 MasterPortに0~65535ではない値を指定した場合
Client.InvalidParameterRequired.BinlogFileName The parameter BinlogFileName must be provided and must not be blank. Sender 400 必須のBinlogFileNameを指定しなかった場合
Client.InvalidParameterRequired.BinlogPosition The parameter BinlogPosition must be provided and must not be blank. Sender 400 必須のBinlogPositionを指定しなかった場合
Client.InvalidParameterRequired.DBInstanceIdentifier The parameter DBInstanceIdentifier must be provided and must not be blank. Sender 400 必須のDBInstanceIdentifierを指定しなかった場合
Client.InvalidParameterRequired.MasterHost The parameter MasterHost must be provided and must not be blank. Sender 400 必須のMasterHostを指定しなかった場合
Client.InvalidParameterRequired.ReplicationUserName The parameter ReplicationUserName must be provided and must not be blank. Sender 400 必須のReplicationUserNameを指定しなかった場合
Client.InvalidParameterRequired.ReplicationUserPassword The parameter ReplicationUserPassword must be provided and must not be blank. Sender 400 必須のReplicationUserPasswordを指定しなかった場合
Client.InvalidParameterTooLong.BinlogFileName The parameter BinlogFileName is not a valid BinlogFileName because it is longer than 511 characters. Sender 400 BinlogFileNameに511文字を超える値を指定した場合
Client.InvalidParameterTooLong.DBInstanceIdentifier The parameter DBInstanceIdentifier is not a valid identifier because it is longer than 63 characters. Sender 400 DBInstanceIdentifierに63文字を超える値を指定した場合
Client.InvalidParameterTooLong.MasterHost The parameter MasterHost is not a valid MasterHost because it is longer than 60 characters. Sender 400 MasterHostに60文字を超える値を指定した場合
Client.InvalidParameterTooLong.ReplicationUserName The parameter ReplicationUserName is not a valid ReplicationUserName because it is longer than 96 characters. Sender 400 ReplicationUserNameに96文字を超える値を指定した場合
Client.InvalidParameterTooLong.ReplicationUserPassword The parameter ReplicationUserPassword is not a valid ReplicationUserPassword because it is longer than 32 characters. Sender 400 ReplicationUserPasswordに32文字を超える値を指定した場合
Client.ResourceInapplicable.DBInstanceOtherThanMySQL Can only set replication DB Instance with Engine: mysql. Sender 400 DBエンジンがmysqlでない場合
Client.ResourceInapplicable.DBInstanceWithNiftyMultiAZType1 Can not be specified DB Instance with Multi-AZ deployment Type: 1. Sender 400 NiftyMultiAZType=1のDBサーバーを指定した場合
Client.ResourceInapplicable.DBInstanceWithPubliclyAccessibleFalse Can only set replication DB Instance with PubliclyAccessible: true. Sender 400 PubliclyAccessibleがtrueでないDBサーバーを指定した場合
Client.ResourceInapplicable.ReadReplica Can not be specified when DB Instance is a readreplica. Sender 400 指定したDBサーバーがリードレプリカの場合
Client.ResourceIncorrectState.DBInstance.Unavailable The specified DB Instance is not in the available state. Sender 400 DBサーバーのステータスが有効でない場合
Client.ResourceIncorrectState.ExternalReplication.Started Can not be specified when external replication in progress on DB Instance. Sender 400 外部レプリケーション中のDBサーバーを指定した場合

サンプル

リクエストサンプル
https://jp-east-1.rdb.api.nifcloud.com/
    ?Action=SetExternalMaster
    &DBInstanceIdentifier=mydbinstance
    &MasterHost=0.0.0.0
    &MasterPort=3306
    &ReplicationUserName=repl
    &ReplicationUserPassword=repl
    &BinlogFileName=mysql-bin.00001
    &BinlogFilePosition=1
レスポンスサンプル
<SetExternalMasterResponse>
  <SetExternalMasterResult>
  <DBInstance>
    <AllocatedStorage>50</AllocatedStorage>
    <AutoMinorVersionUpgrade>false</AutoMinorVersionUpgrade>
    <AvailabilityZone>east-14</AvailabilityZone>
    <BackupRetentionPeriod>1</BackupRetentionPeriod>
    <CACertificateIdentifier>rdb-ca-2018</CACertificateIdentifier>
    <DBInstanceClass>db.mini</DBInstanceClass>
    <DBInstanceIdentifier>mydbinstance</DBInstanceIdentifier>
    <DbInstanceStatus>modifying</DbInstanceStatus>
    <DBName>db01</DBName>
    <DBParameterGroups>
     <DBParameterGroup>
      <DBParameterGroupName>default.mysql5.7</DBParameterGroupName>
      <ParameterApplyStatus>in-sync</ParameterApplyStatus>
     </DBParameterGroup>
    </DBParameterGroups>
    <DBSecurityGroups>
     <DBSecurityGroup>
      <DBSecurityGroupName>mydbsecuritygroup</DBSecurityGroupName>
      <Status>available</Status>
     </DBSecurityGroup>
    </DBSecurityGroups>
    <Endpoint>
     <Port>3306</Port>
     <Address>XXX.XXX.XXX.XXX</Address>
     <NiftyPrivateAddress>YYY.YYY.YYY.YYY</NiftyPrivateAddress>
    </Endpoint>
    <Engine>mysql</Engine>
    <EngineVersion>5.7.15</EngineVersion>
    <ExternalReplicationInfo>
     <ReplicationAddresses>
      <ReplicationAddress>xxx.xxx.xxx.xxx</ReplicationAddress>
      <ReplicationAddress>yyy.yyy.yyy.yyy</ReplicationAddress>
     </ReplicationAddresses>
    </ExternalReplicationInfo>
    <InstanceCreateTime>2019-01-01T02:30:00.000Z</InstanceCreateTime>
    <LatestRestoragleTime>2019-01-01T04:00:00.000Z</LatestRestoragleTime>
    <LicenseModel>general-public-license</LicenseModel>
    <MasterUsername>mydbuser</MasterUsername>
    <MultiAZ>true</MultiAZ>
    <OptionGroupMemberships>
      <OptionGroupMembership>
        <OptionGroupName>default:mysql-5-7</OptionGroupName>
        <Status>in-sync</Status>
      </OptionGroupMembership>
    </OptionGroupMemberships>
    <PendingModifiedValues/>
    <PreferredBackupWindow>05:30-06:00</PreferredBackupWindow>
    <PreferredMaintenanceWindow>mon:06:01-mon:07:31</PreferredMaintenanceWindow>
    <PubliclyAccessible>true</PubliclyAccessible>
    <VpcSecurityGroups/>
    <NiftyStorageType>0</NiftyStorageType>
  </DBInstance>
  </SetExternalMasterResult>
  <ResponseMetadata>
    <RequestId>4838a0d1-e2ff-4da9-b675-0e3f9eb21c10</RequestId>
  </ResponseMetadata>
</SetExternalMasterResponse>

推奨画面サイズ 1024×768 以上