すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB RDS:Alibaba Cloud CLI統合の例

最終更新日:Aug 27, 2024

Alibaba Cloud CLIは、APIに基づいて開発された汎用のコマンドラインツールです。 Alibaba Cloud CLIを使用して、ApsaraDB RDSと対話し、シェルでApsaraDB RDSインスタンスを管理できます。 このトピックでは、Alibaba Cloud CLIを使用してApsaraDB RDS APIを呼び出す方法について説明します。

あなたが始める前に

Alibaba Cloud CLIの詳細については、Alibaba Cloud CLIとは

Alibaba Cloud CLIのインストール

Alibaba Cloud CLIを使用する前に、Alibaba Cloud CLIをインストールする必要があります。 Alibaba Cloud CLIは、Windows、Linux、およびmacOSオペレーティングシステムにインストールできます。 デバイスのオペレーティングシステムに基づいて、Alibaba Cloud CLIのインストールパッケージを選択する必要があります。 詳細については、以下のトピックをご参照ください。

  • Windowsオペレーティングシステム: Windows

  • Linuxオペレーティングシステム: Linux

  • macOSオペレーティングシステム: macOS

Alibaba Cloudが提供するCloud Shellを使用して、Alibaba Cloud CLIで実行するコマンドをデバッグすることもできます。 Cloud Shellの詳細については、Cloud Shellとは

Alibaba Cloud CLIの設定

重要

Alibaba Cloudアカウントには、すべてのAlibaba CloudサービスのAPIを管理およびアクセスする権限があります。 Alibaba Cloudアカウントを使用してAPI操作を呼び出すと、セキュリティリスクが発生する可能性があります。 RAMユーザーを作成して使用し、API操作を呼び出したり、ルーチンのO&M操作を実行したりすることを推奨します。 RAMユーザーを使用してRDSインスタンスを管理する場合は、AliyunRDSReadOnlyAccessポリシーをRAMユーザーにアタッチする必要があります。 ポリシーは、RDSインスタンスを照会する権限を付与します。 ビジネス要件に基づいて、AliyunRDSFullAccessポリシーをRAMユーザーにアタッチすることもできます。 このポリシーは、RDSインスタンスに対して完全な権限を付与します。

Alibaba Cloud CLIを使用する前に、Alibaba Cloud CLIでID資格情報やリージョンIDなどの情報を設定する必要があります。 Alibaba Cloud CLIは、さまざまなタイプのID資格情報をサポートしています。 詳細については、「ID資格情報の種類」をご参照ください。 この例では、AccessKey資格情報が使用されます。

  1. RAMユーザーを作成し、ビジネス要件に基づいてAlibaba Cloudサービスを管理する権限をRAMユーザーに付与します。 詳細については、「RAMユーザーの作成」および「RAMユーザーへの権限付与」をご参照ください。

  2. RAMユーザーのAccessKeyペアを作成し、ID資格情報の設定用にAccessKey IDAccessKey secretを記録します。 詳細については、「RAMユーザーのAccessKeyペアの作成」をご参照ください。

  3. ID資格情報の設定に使用可能なリージョンのIDを取得して記録します。 Alibaba Cloud CLIは、指定されたリージョンIDを使用してAPI呼び出しを開始します。 使用可能なリージョンの詳細については、「エンドポイント」をご参照ください。

    説明

    Alibaba Cloud CLIを使用する場合、-- regionオプションを使用して、特定のリージョンでコマンドを実行できます。 このオプションを使用すると、Alibaba Cloud CLIはデフォルトの資格情報設定と環境変数設定のリージョン情報を無視します。 詳細については、「API呼び出しのコマンドラインオプション」をご参照ください。

  4. RAMユーザーのAccessKeyペアを使用して、AkProfileという名前の設定ファイルでID資格情報を設定します。 詳細については、「設定例」をご参照ください。

CLIコマンドの生成

  1. ECI インスタンスの割引額を照会するには、 ApsaraDB RDS APIのデバッグページ。

  2. 表示されるページの左側の検索ボックスで、呼び出す操作を検索します。 [パラメーター] タブで、APIドキュメントに基づいてパラメーターを設定します。 右側の [CLIの例] タブをクリックすると、指定されたパラメーターを含む生成されたサンプルCLIコマンドが表示されます。

    image

    • アイコンをクリックしimageて、Cloud Shellに関する情報を表示します。 詳細については、「」をご参照ください。Cloud Shellとは 次に、コマンドのデバッグを完了します。

    • アイコンをクリックしimageて、サンプルコマンドをクリップボードにコピーします。 サンプルコマンドをシェルに貼り付けて実行することもできます。

      • サンプルコマンドをデバッグのためにシェルに貼り付けるときは、パラメータの形式に注意してください。 Alibaba Cloud CLIのパラメーター形式の詳細については、「パラメーター形式」をご参照ください。

      • デフォルトでは、OpenAPI Explorerは、生成されたCLIコマンドに -- regionオプションを追加します。 コマンドをシェルにコピーすると、Alibaba Cloud CLIはデフォルトのID資格情報設定と環境変数設定のリージョン情報を無視し、指定されたリージョンで優先的にコマンドを実行します。 ビジネス要件に基づいてオプションを削除または保持できます。

クラウドサービスのAPI操作の呼び出し

構文

Alibaba Cloud CLIでは、次の構文を使用してコマンドを実行できます。 詳細については、「コマンド構造」をご参照ください。

aliyun <command> <subcommand> [options and parameters]

コマンドオプション

Alibaba Cloud CLIを使用する場合、コマンドオプションを指定して、コマンドの動作を変更したり、コマンドの拡張機能を実装したりできます。 ほとんどの場合、次のコマンドオプションが使用されます。

  • -- profile <profileName>: -- profileオプションとprofileNameパラメーターを使用して、構成プロファイルを指定できます。 有効な構成プロファイルを指定すると、Alibaba Cloud CLIはデフォルトの資格情報設定と環境変数設定の情報を無視し、指定した構成を優先的に使用してコマンドを実行します。

  • -- help: -- helpオプションを使用して、コマンドに関するヘルプ情報を取得できます。 詳細については、「ヘルプコマンドの使用」をご参照ください。

詳細については、「API呼び出しのコマンドラインオプション」をご参照ください。

サンプルコード

サンプル1: 次のサンプルコードでは、-- helpオプションを使用して、Alibaba Cloud CLIでサポートされているApsaraDB RDS APIの一覧を取得する方法について説明します。 また、関数別の操作の一覧で呼び出すことができるAPI操作を表示することもできます。

  1. 以下のコマンドを実行します。

    aliyun rds --help
  2. 結果を表示します。

    コマンド出力

    Alibaba Cloud Command Line Interface Version 3.0.216
    
    Usage:
      aliyun rds <ApiName> --parameter1 value1 --parameter2 value2 ...
    
    Product: Rds (ApsaraDB for RDS)
    Version: 2014-08-15
    
    Available Api List:
      ActivateMigrationTargetInstance             Switches workloads over from the source PostgreSQL instance to the destination ApsaraDB RDS for PostgreSQL instance.
      AddTagsToResource                           Adds tags to an instance.
      AllocateInstancePublicConnection            Apply for a public endpoint for an ApsaraDB RDS instance
      AllocateReadWriteSplittingConnection        Applies for a read-only routing endpoint for an instance.
      AttachWhitelistTemplateToInstance           Associates a whitelist template with an instance.
      CalculateDBInstanceWeight                   Queries system-assigned read weights.
    
    ...

サンプル2: 次のサンプルコードは、Alibaba Cloud CLIを使用してApsaraDB RDSのDescribeDBInstanceAttribute操作を呼び出す方法を説明しています。

  1. 以下のコマンドを実行します。

    aliyun rds DescribeDBInstanceAttribute --region cn-hangzhou --DBInstanceId 'pgm-bp16k272p478****'
  2. 結果を表示します。

    コマンド出力

    {
            "Items": {
                    "DBInstanceAttribute": [
                            {
                                    "AccountMaxQuantity": 99999,
                                    "AccountType": "Mix",
                                    "AdvancedFeatures": "LinkedServer,DistributeTransaction",
                                    "AutoUpgradeMinorVersion": "Auto",
                                    "AvailabilityValue": "100.0%",
                                    "BabelfishConfig": {},
                                    "CanTempUpgrade": false,
                                    "Category": "HighAvailability",
                                    "ColdDataEnabled": false,
                                    "ConnectionMode": "Standard",
                                    "ConnectionString": "pgm-bp16k272p478****.pg.rds.aliyuncs.com",
                                    "ConsoleVersion": "2",
                                    "CreationTime": "2024-08-06T06:18:48Z",
                                    "CurrentKernelVersion": "rds_postgres_1400_20240530",
                                    "DBClusterNodes": {
                                            "DBClusterNode": []
                                    },
                                    "DBInstanceCPU": "2",
                                    "DBInstanceClass": "pg.n4.2c.2m",
                                    "DBInstanceClassType": "x",
                                    "DBInstanceDescription": "DB-test",
                                    "DBInstanceDiskUsed": 3520069632,
                                    "DBInstanceId": "pgm-bp16k272p478****",
                                    "DBInstanceMemory": 8192,
                                    "DBInstanceNetType": "Intranet",
                                    "DBInstanceStatus": "Running",
                                    "DBInstanceStorage": 100,
                                    "DBInstanceStorageType": "cloud_essd",
                                    "DBInstanceType": "Primary",
                                    "DBMaxQuantity": 99999,
                                    "DedicatedHostGroupId": "",
                                    "DeletionProtection": false,
                                    "DispenseMode": "MultiAVZDispenseMode",
                                    "Engine": "PostgreSQL",
                                    "EngineVersion": "14.0",
                                    "ExpireTime": "",
                                    "Extra": {
                                            "DBInstanceIds": {
                                                    "DBInstanceId": []
                                            }
                                    },
                                    "IPType": "IPv4",
                                    "InsId": 1,
                                    "InstanceNetworkType": "VPC",
                                    "InstructionSetArch": "x86",
                                    "IoAccelerationEnabled": "0",
                                    "LatestKernelVersion": "rds_postgres_1400_20240530",
                                    "LockMode": "Unlock",
                                    "MaintainTime": "18:00Z-22:00Z",
                                    "MasterZone": "cn-hangzhou-j",
                                    "MaxConnections": 800,
                                    "MaxIOMBPS": 0,
                                    "MaxIOPS": 6800,
                                    "OriginConfiguration": "{\"KindCode\":\"18\"}",
                                    "PayType": "Postpaid",
                                    "Port": "5432",
                                    "ProxyType": 2,
                                    "ReadOnlyDBInstanceIds": {
                                            "ReadOnlyDBInstanceId": []
                                    },
                                    "RegionId": "cn-hangzhou",
                                    "ResourceGroupId": "rg-acfmz7u4zzrngoa",
                                    "SecurityIPList": "0.0.0.0/0,172.16.0.0/12",
                                    "SecurityIPMode": "normal",
                                    "ServerlessConfig": {},
                                    "SlaveZones": {
                                            "SlaveZone": [
                                                    {
                                                            "ZoneId": "cn-hangzhou-k"
                                                    }
                                            ]
                                    },
                                    "SuperPermissionMode": "",
                                    "SupportCreateSuperAccount": "Yes",
                                    "SupportUpgradeAccountType": "Yes",
                                    "Tips": "ok",
                                    "TipsLevel": 1,
                                    "VSwitchId": "vsw-bp1sxxsodv28ey5dl****",
                                    "VpcCloudInstanceId": "pgm-bp16k272p478****-20240806141842",
                                    "VpcId": "vpc-bp1ov7as4yvz4kxei****",
                                    "ZoneId": "cn-hangzhou-j",
                                    "kindCode": "18"
                            }
                    ]
            },
            "RequestId": "14B99E32-4ECD-5B8E-A9C8-6738C8C95910"
    }
    
    説明

    ApsaraDB RDSのAPIを呼び出した後にエラーが返された場合は、エラーコードに基づいて入力パラメーターと値が有効かどうかを確認してください。

    を使用することもできます。 Alibaba Cloud OpenAPI Diagnosticsは、返されたリクエストIDまたはSDKエラー情報に基づいてセルフサービス診断を実行します。