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

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

最終更新日:Jun 22, 2026

このトピックでは、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) の ESSD (エンタープライズ SSD):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 をクリックします。サービスインスタンスのデプロイページで、プロンプトに従ってパラメーターを設定します。[サービスインスタンス名][リージョン] を設定し、パラメーターセット (Basic EditionStandard Edition、または Advanced Edition) を選択し、[基本設定] セクションで [root アカウントのパスワード] を設定します。

    ネットワーク設定を構成します。サービスインスタンスが作成されると、指定されたゾーンにエンドポイントが作成されます。[ネットワーク設定] セクションで、[ゾーン] を選択します。[ネットワーク設定] セクションで、[VPC][セキュリティグループ]、および [ゾーンと vSwitch] を設定します。下部にある [推奨カスタムドメイン名を使用] を選択できます。

  2. パラメーターを設定した後、料金詳細を確認し、[次へ:注文の確認] をクリックします。このページには、[依存関係のチェック] の結果 (PrivateLink の依存関係は正常です) と [サービスインスタンス情報] の概要が表示されます。情報を確認し、[今すぐ作成] をクリックしてデプロイを完了します。

  3. 注文を確認し、利用規約に同意して、今すぐ作成 をクリックしてデプロイを開始します。

    注文が送信されると、[送信済み] というメッセージが表示されます。[リストの表示] をクリックしてデプロイの進行状況を確認するか、[再作成] をクリックして別のサービスインスタンスを作成します。サービスインスタンスのステータスは [デプロイ中] と表示され、リアルタイムの進行状況がパーセンテージで示されます。

  4. デプロイが完了するまで待ちます。サービスインスタンスの詳細ページの [概要] タブで、インスタンスのステータスが [デプロイ済み] に変わります。後続のステップで PrivateLink 接続を確立するために、EndpointServiceIdエンドポイント のアドレスを記録します。

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

    1. サービスインスタンスの詳細ページに移動します。[イントラネット] タブで、MySQL データベースへの接続に使用するカスタムドメイン名、IP アドレス、またはゾーンドメイン名を取得します。カスタムドメイン名は、サービスインスタンスの作成時に [推奨カスタムドメイン名を使用] を選択した場合にのみ表示されます。[基本情報] セクションには、エンドポイントのステータスが [利用可能]、接続ステータスが [接続済み] と表示されます。[ゾーンと NIC] テーブルには、各接続方法の具体的なアドレス値が一覧表示されます。

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

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

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

        mysql -h xxx.computenest.aliyuncs.com -P 3306 -u admin -pxxx
        
        Welcome to the MySQL monitor.  Commands end with ; or \g.
        Your MySQL connection id is 4203
        Server version: 5.6.51 MySQL Community Server (GPL)
      2. IP アドレスを使用する。

        mysql -h xxx.xxx.x.xxx -P 3306 -u admin -pxxx
      3. ゾーンドメイン名を使用する。

        mysql -h ep-xxx-cn-hangzhou-k.epsrv-xxx.privatelink.aliyuncs.com -P 3306 -u admin -pxxx

サービスの詳細

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 Available Zone
       zh-cn: 可用区
    # データベースへのログインに使用される root アカウントのパスワード。
    Password:
     # このパラメーターをクエリすると、アスタリスク (*) のみが返されます。
     NoEcho: true
     Type: String
     Description:
       en: 'Database root account passwor, 8-32 characters, including uppercase and lowercase letters, numbers and special symbols (including: !@#$%^&*-+=_).'
       zh-cn: 数据库root账户密码,长度8-32个字符,可包含大小字母、数字及特殊符号(包含:!@#$%^&*-+=_)。 
     Label:
       en: Root Account Password
       zh-cn: 数据库root账户密码
     ConstraintDescription:
       en: '8-32 characters, including uppercase and lowercase letters, numbers and special symbols (including: !@#$%^&*-+=_).'
       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: Instance Type
       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: Instance Type
       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: EndpointService Id
          zh-cn: 终端节点服务Id
        Value:
          Fn::GetAtt:
            - VpcEndpointService
            - ServiceId
      Endpoint:
        Value:
          Fn::Join:
            - ''
            - - Ref: ALIYUN::StackName
              - .mysql.com
      MysqlUserName:
        Description:
          en: MySQL User Name
          zh-cn: MySQL登录用户名
        Value: admin
                        

参考資料

サービス設定

ホスト型 O&M サービスの作成

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

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

サービス配信

サービスアーキテクチャの設定