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

:MySQL ソフトウェアパッケージを使用して PrivateLink 接続機能をサポートするシングルテナントのフルマネージドサービスインスタンスを作成する

最終更新日:Oct 27, 2025

このトピックでは、Compute Nest で MySQL ソフトウェアパッケージを使用して、PrivateLink 接続機能をサポートするシングルテナントのフルマネージドサービスインスタンスを作成する方法について説明します。この例では、MySQL ソフトウェアパッケージを使用して、Elastic Compute Service (ECS) インスタンスと Server Load Balancer (SLB) インスタンスに MySQL をデプロイします。

概要

この例では、MySQL データベースが ECS インスタンスと SLB インスタンスにデプロイされ、PrivateLink 接続機能がデフォルトで有効になっています。顧客がサービスインスタンスをデプロイすると、サービスプロバイダーのアカウント内にデプロイされた MySQL データベースに内部ネットワーク経由で直接アクセスできます。サンプルサービスの GitHub リポジトリは mysql-managed-demo です。

この例では、サービスは自動的に作成され、約 3 分かかります。サービスは、[審査待ち] 状態になった後に作成されます。サービスは、次の手順で作成されます。

  1. GitHub リポジトリに保存されている MySQL ソフトウェアパッケージを、ファイルタイプの Compute Nest デプロイメントパッケージとして公開します。

  2. サービスを作成し、ファイルタイプのデプロイメントパッケージに関連付けます。

次の表に、サービスによって提供されるパラメーターセットを示します。

パラメーターセット

SLB インスタンスタイプ

ECS インスタンスタイプ

vCPU とメモリ

システムディスク

パブリック帯域幅

Basic Edition

slb.s1.small

ecs.c6.large

コンピューティング最適化 c6: 2 vCPU と 4 GiB

パフォーマンスレベル 0 (PL0) 企業向け SSD (ESSD): 200 GiB

固定帯域幅: 1 Mbit/s

Standard Edition

slb.s1.small

ecs.c6.xlarge

コンピューティング最適化 c6: 4 vCPU と 8 GiB

PL0 ESSD: 200 GiB

固定帯域幅: 1 Mbit/s

Advanced Edition

slb.s3.small

ecs.c6.2xlarge

コンピューティング最適化 c6: 8 vCPU と 16 GiB

PL0 ESSD: 200 GiB

固定帯域幅: 1 Mbit/s

デプロイメントアーキテクチャ

ECS インスタンスと SLB インスタンスがサービスインスタンス用にデプロイされ、ECS インスタンスが属するセキュリティグループはポート 3306 へのアクセスを許可します。エンドポイントはサービスインスタンス用に構成されます。

サービスの作成に関する課金

テスト用のサンプルサービスの作成には課金されません。サービスインスタンスの料金の詳細については、このトピックの「サービスインスタンスの課金」セクションをご参照ください。

RAM ユーザーに必要なポリシー

サービスは、ECS インスタンスや VPC などのリソースにアクセスする必要があります。Resource Access Management (RAM) ユーザーとしてサービスインスタンスを作成する前に、関連リソースに対する権限を RAM ユーザーに付与する必要があります。RAM ユーザーに権限を付与する方法の詳細については、「RAM ユーザーに権限を付与する」をご参照ください。

次の表に、RAM ユーザーに必要なポリシーを示します。

ポリシー

説明

AliyunECSFullAccess

ECS に対する完全な権限。

AliyunVPCFullAccess

VPC に対する完全な権限。

AliyunROSFullAccess

Resource Orchestration Service (ROS) に対する完全な権限。

AliyunComputeNestUserFullAccess

Compute Nest に対する顧客の完全な権限。

AliyunComputeNestSupplierFullAccess

Compute Nest に対するサービスプロバイダーの完全な権限。

AliyunPrivateLinkFullAccess

PrivateLink に対する完全な権限。

サービスインスタンスの課金

課金項目:

  • 選択された vCPU とメモリの仕様

  • システムディスクのタイプと容量

  • パブリック帯域幅

  • PrivateLink 接続

課金方法:

  • 従量課金 (時間単位)

  • サブスクリプション

サービスインスタンスの作成時に、サービスインスタンスの推定コストがリアルタイムで表示されます。PrivateLink 接続の料金は、サービスインスタンスが作成され、PrivateLink 接続が確立された後に請求されます。詳細については、「課金の概要」をご参照ください。

サービスインスタンスのデプロイ

デプロイメントパラメーター

セクション

パラメーター

説明

基本設定

root および admin アカウントのパスワード

データベースへのログインに使用される root または admin アカウントのパスワード。パスワードは 8~32 文字で、英字、数字、および次の特殊文字を含めることができます: ! @ # $ % ^ & * - + = _

ネットワーク設定

VSwitch 利用可能ゾーン

サービスプロバイダーのアカウント内でリソースが作成されるゾーン。

ネットワーク設定

VPC ID

PrivateLink 接続の確立に使用される VPC。

ネットワーク設定

セキュリティグループ

PrivateLink 接続の確立に使用されるセキュリティグループ。

ネットワーク設定

vSwitch とゾーン

PrivateLink 接続の確立に使用されるゾーンと vSwitch。

プロシージャ

  1. サービスプロバイダーから提供されたサービスインスタンスのデプロイ URL をクリックします。サービスインスタンスのデプロイページで、プロンプトに従ってパラメーターを設定します。

    [ネットワーク設定] セクションでパラメーターを設定します。サービスインスタンスが作成されると、指定されたゾーンにエンドポイントが作成されます。

  2. [次へ: 注文の確認] をクリックします。

  3. サービスインスタンス情報と推定価格を確認し、サービス契約を読んで同意し、[今すぐ作成] をクリックします。サービスインスタンスのデプロイが開始されます。

  4. デプロイが完了するまで待ちます。

  5. サービスインスタンスを使用します。サービスインスタンスは PrivateLink 接続機能をサポートしています。内部ネットワーク経由で PrivateLink 接続を使用してサービスインスタンスにアクセスできます。PrivateLink の詳細については、「ベストプラクティス」をご参照ください。次の手順を実行して、内部ネットワーク経由でサービスインスタンスにアクセスします。

    1. サービスインスタンスの詳細ページに移動します。[イントラネット] タブで、MySQL データベースへの接続に使用されるカスタムドメイン名、IP アドレス、またはゾーンドメイン名を取得します。カスタムドメイン名は、[サービスインスタンスの作成] ページで [カスタムドメイン名] をオンにした場合にのみ表示されます。

    2. 対応する vSwitch に ECS インスタンスを作成します。次に、MySQL クライアントをインストールします。

      yum install mysql
      または
      apt install mysql-client
    3. ECS インスタンス上の MySQL クライアントを使用して、次のいずれかの方法で MySQL データベースに接続します。

      1. カスタムドメイン名を使用します。

      2. IP アドレスを使用します。

      3. ゾーンドメイン名を使用します。

サービスの詳細

MySQL Community Edition のインストールパッケージは GitHub リポジトリに保存されます。サービスの作成中に、インストールパッケージは Compute Nest デプロイメントパッケージとして公開され、インストールコマンドは ROS テンプレートに書き込まれます。ROS テンプレートが実行されると、MySQL データベースは自動的にインストールされます。Compute Nest は、{{ computenest::file::MySQL }} プレースホルダーをファイルタイプのデプロイメントパッケージの HTTP URL に置き換えます。

wget '{{ computenest::file::MySQL }}' -O mysql-community-release-el6-5.noarch.rpm
rpm -ivh mysql-community-release-el6-5.noarch.rpm
yum repolist all | grep mysql
yum install mysql-community-server -y

ファイル

ファイル

説明

config.yaml

サービス作成用の設定ファイル。computenest-cli はこの設定ファイルに基づいてサービスを作成します。

parameters.yaml

VpcId や VSwitchId など、サービスプロバイダーが設定するネットワークパラメーターを指定するファイル。この例では、このファイルはシングルテナントのフルマネージドサービスをデプロイするために必要なパラメーターを指定します。

artifact/mysql-community-release-el6-5.noarch.rpm

MySQL Community Edition のインストールパッケージ。サービスの作成中に、インストールパッケージは Compute Nest デプロイメントパッケージとして公開されます。

icons/service_logo.jpg

サービスのデフォルトのロゴ。

templates/parameters.yaml

顧客が設定するパラメーターを定義するファイル。顧客が設定するパラメーターを指定するファイル。顧客は、シングルテナントのフルマネージドサービスに対して、いくつかのパラメーターを設定するだけで済みます。

templates/template.yaml

ROS テンプレートファイル。ROS はテンプレートに基づいてすべてのリソースを自動的に作成します。

templates/template.yaml ファイルには、次の 3 つのセクションが含まれています。

  1. Parameters: 課金方法、インスタンスタイプ、インスタンスのパスワード、ゾーンなど、顧客が設定する必要のあるパラメーターを定義します。

    ZoneId:
     Type: String
     AssociationProperty: ALIYUN::ECS::Instance:ZoneId
     Label:
       en: VSwitch 利用可能ゾーン
       zh-cn: 可用区
    # データベースへのログインに使用される root アカウントのパスワード。
    Password:
     # このパラメーターをクエリすると、アスタリスク (*) のみが返されます。
     NoEcho: true
     Type: String
     Description:
       en: 'データベースの root アカウントのパスワード。8~32 文字で、大文字と小文字の英字、数字、および特殊文字 (!@#$%^&*-+=_) を含める必要があります。'
       zh-cn: データベースの root アカウントのパスワード。長さ 8~32 文字で、大文字と小文字、数字、特殊文字 (!@#$%^&*-+=_) を含めることができます。
     Label:
       en: ルートアカウントのパスワード
       zh-cn: データベースの root アカウントのパスワード
     ConstraintDescription:
       en: '8~32 文字で、大文字と小文字の英字、数字、および特殊文字 (!@#$%^&*-+=_) を含める必要があります。'
       zh-cn: 8~32 文字で、大文字と小文字、数字、特殊文字 (!@#$%^&*-+=_) を含めることができます。
     MinLength: '8'
     MaxLength: '32'
     AssociationProperty: ALIYUN::ECS::Instance::Password
    # VPC ID。
    VpcId:
     AssociationProperty: ALIYUN::ECS::VPC::VPCId
     Type: String
     Label:
       en: VPC ID
       zh-cn: VPC インスタンス ID
    # vSwitch ID。
    VSwitchId:
     AssociationProperty: ALIYUN::ECS::VSwitch::VSwitchId
     AssociationPropertyMetadata:
       VpcId: ${VpcId}
       ZoneId: ${ZoneId}
     Type: String
     Label:
       en: VSwitch ID
       zh-cn: スイッチインスタンス ID
    # ECS インスタンスタイプ。
    EcsInstanceType:
     Type: String
     Label:
       en: インスタンスタイプ
       zh-cn: Ecs インスタンスタイプ
     AssociationProperty: ALIYUN::ECS::Instance::InstanceType
     AllowedValues:
       - ecs.c6.large
       - ecs.c6.xlarge
       - ecs.c6.2xlarge
       - ecs.c6.4xlarge
    SlbInstanceType:
     Type: String
     Label:
       en: インスタンスタイプ
       zh-cn: Slb インスタンスタイプ
     AssociationProperty: ALIYUN::Slb::LoadBalance::LoadBalancerSpec
     AllowedValues:
       - slb.s1.small
       - slb.s3.small
  2. Resources: VPC、vSwitch、ECS インスタンス、SLB インスタンス、PrivateLink 接続など、作成するリソースを定義します。

    EcsSecurityGroup:
     Type: 'ALIYUN::ECS::SecurityGroup'
     Properties:
       VpcId:
         Ref: VpcId
       SecurityGroupIngress:
         - Priority: 1
           PortRange: 3306/3306
           NicType: internet
           SourceCidrIp: 0.0.0.0/0
           IpProtocol: tcp
    # ECS インスタンス。
    EcsInstanceGroup:
     Type: ALIYUN::ECS::InstanceGroup
     Properties:
       # I/O 最適化インスタンス。
       IoOptimized: optimized
       ZoneId:
         Ref: ZoneId
       DiskMappings:
         - Category: cloud_essd
           Device: /dev/xvdb
           Size: 200
       SystemDiskSize: 40
       # cloud-init によって実行されるコマンド。
       # 実行ログは、/var/log/cloud-init.log /var/log/cloud-init-output.log ファイルで確認できます。
       # スクリプトは /var/lib/cloud/instance/scripts/part-001 です。sh コマンドを実行してトラブルシューティングできます。
       UserData:
         Fn::Sub:
           - |
             #!/bin/sh
    
             # ネットワークの準備が整うまでしばらくスリープします。
             sleep 10
    
             # その他のコマンドは省略されています。詳細については、templates/template.yaml をご参照ください。
       # 従量課金方法が使用されます。
       InstanceChargeType: PostPaid
       MaxAmount: 1
       # システムディスクとして ESSD が使用されます。
       SystemDiskCategory: cloud_essd
       # インスタンスの名前。
       InstanceName:
         Ref: ALIYUN::StackName
       VpcId:
         Ref: VpcId
       SecurityGroupId:
         Ref: EcsSecurityGroup
       VSwitchId:
         Ref: VSwitchId
       # CentOS 7.9 イメージが使用されます。別のイメージを使用する場合は、UserData セクションのスクリプトがそれに応じて変更されていることを確認してください。
       ImageId: "centos_7_9_x64_20G_alibase_20220727.vhd"
       InstanceType:
         Ref: EcsInstanceType
       # ホスト名。
       HostName:
         Ref: ALIYUN::StackName
       # ECS インスタンスへのログインに使用されるパスワード。
       Password:
         Ref: Password
       # インスタンスにパブリック IP アドレスを割り当てるかどうかを指定します。
       AllocatePublicIP: true
       InternetMaxBandwidthOut: 1
    Slb:
     Type: ALIYUN::SLB::LoadBalancer
     Properties:
       LoadBalancerName:
         Fn::Join:
           - '-'
           - - mysql
             - Ref: ALIYUN::StackName
       VpcId:
         Ref: VpcId
       VSwitchId:
         Ref: VSwitchId
       PayType: PayOnDemand
       AddressType: intranet
       LoadBalancerSpec:
         Ref: SlbInstanceType
       SupportPrivateLink: true
    SlbBackendServerAttachment:
     DependsOn:
       - EcsInstanceGroup
     Type: ALIYUN::SLB::BackendServerAttachment
     Properties:
       BackendServerList:
         Fn::GetAtt:
           - EcsInstanceGroup
           - InstanceIds
       LoadBalancerId:
         Ref: Slb
       BackendServerWeightList:
         - 100
         - 0
    SlbListener:
     DependsOn: Slb
     Type: ALIYUN::SLB::Listener
     Properties:
       Persistence:
         CookieTimeout: 60
         StickySession: 'on'
         PersistenceTimeout: 180
         XForwardedFor: 'off'
         StickySessionType: insert
       ListenerPort: 3306
       Bandwidth: -1
       HealthCheck:
         HttpCode: http_2xx,http_3xx,http_4xx,http_5xx
         HealthCheckType: tcp
         UnhealthyThreshold: 3
         Timeout: 5
         HealthyThreshold: 3
         Port: 3306
         URI: /
         Interval: 2
       LoadBalancerId:
         Ref: Slb
       BackendServerPort: 3306
       Protocol: tcp
    VpcEndpointService:
     DependsOn: Slb
     Type: ALIYUN::PrivateLink::VpcEndpointService
     Properties:
       ServiceDescription: isv service
       Resource:
         - ZoneId:
             Ref: ZoneId
           ResourceId:
             Ref: Slb
           ResourceType: slb
       AutoAcceptEnabled: true
  3. Outputs: Compute Nest コンソールのサービスインスタンス詳細ページの [概要] タブに表示される情報を定義します。

    Outputs:
      EndpointServiceId:
        Description:
          en: エンドポイントサービス ID
          zh-cn: 端末ノードサービス ID
        Value:
          Fn::GetAtt:
            - VpcEndpointService
            - ServiceId
      Endpoint:
        Value:
          Fn::Join:
            - ''
            - - Ref: ALIYUN::StackName
              - .mysql.com
      MysqlUserName:
        Description:
          en: MySQL ユーザー名
          zh-cn: MySQL ログインユーザー名
        Value: admin
    

参考

サービス設定

ホストされた O&M サービスを作成する

サービスインスタンスの設定を変更する

サービスのアップグレード設定

サービス配信

サービスアーキテクチャを設定する