Compute Nest を使用すると、お客様は、フルマネージドサービスインスタンス上で、非公開接続を追加、変更、または削除できます。本ドキュメントでは、サービスプロバイダーがサービス作成時にネットワーク構成の変更を有効化する方法、およびお客様がサービスインスタンス上でその変更を適用する方法について説明します。
ネットワーク構成の変更は、フルマネージドサービスインスタンスのみでサポートされます。
接続モード
Compute Nest では、プライベートネットワークへのアクセスに向けた 2 種類の接続モードがサポートされています。サービスプロバイダーは、サービス作成時に接続モードを選択します。
| モード | 動作の仕組み | サポートされる操作 |
|---|---|---|
| VPC ピアリング接続 | お客様の VPC とサービスインスタンス用に作成された VPC を接続します。デプロイテンプレートで VPC 作成パラメーターを定義する必要があります。 | 追加、変更、削除 |
| PrivateLink | ゾーン内でのプライベートネットワーク相互接続を提供します。トラフィックはパブリックインターネットを経由しないため、データセキュリティが向上し、ネットワーク品質も向上します。背景情報については、「PrivateLink とは? | 追加、変更、削除 |
課金
Compute Nest 自体は無料です。サービスのデプロイに使用されるクラウドリソース(例:VPC ピアリング接続、Server Load Balancer (SLB) インスタンス、Elastic Compute Service (ECS) インスタンスなど)は、別途課金されます。詳細については、「課金」をご参照ください。
VPC ピアリング接続の構成変更
制限事項
開始する前に、VPC ピアリング接続に関する以下の制約事項をご確認ください。
VPC ピアリング接続モードは、サービスデプロイが VPC を作成する場合にのみ適用されます。デプロイテンプレートでは、VPC 作成パラメーターを定義する必要があります。
新規に追加するピアリング VPC の CIDR ブロックは、既存のピアリング接続の CIDR ブロックやサービスインスタンス自身の VPC の CIDR ブロックと重複してはなりません。
複数のピアリング接続を設定できますが、それらの CIDR ブロックは互いに重複してはなりません。
サービスプロバイダー向け:サービスにおける VPC ピアリング接続の変更を有効化
以下の手順では、ネットワーク構成変更の設定のみについて説明します。サービス作成の完全なワークフローについては、「フルマネージドサービスの作成」をご参照ください。
サービスの作成 ページの サービスデプロイ セクションで、デプロイ方法として Resource Orchestration Service (ROS) を選択します。
テンプレートの内容 フィールドで、VPC 作成のためのパラメーターを定義します。テンプレートは、以下の 2 つの要件を満たす必要があります。
Resourcesセクションに、タイプALIYUN::ECS::VPCのリソースを含める必要があります。例:Resources: EcsVpc: Type: ALIYUN::ECS::VPC Properties: CidrBlock: Ref: VpcCidrBlockParametersセクションに、AssociationProperty: ALIYUN::VPC::VSwitch::CidrBlockを指定した CIDR ブロックパラメーターを含める必要があります。例:Parameters: VpcCidrBlock: Type: String AssociationProperty: ALIYUN::VPC::VSwitch::CidrBlock AllowedValues: - 192.168.0.0/16 - 172.16.0.0/12 - 10.0.0.0/8 Description: en: The IP address range of the VPC in the CIDR block form. zh-cn: 专有网络的网段,可选值:192.168.0.0/16,172.16.0.0/12,10.0.0.0/8。 Default: 192.168.0.0/16
以下は、VPC ピアリング接続をサポートする ECS 上ホストされる MySQL データベースの完全なサンプルテンプレートです。テスト目的でご活用ください。
VPC ピアリング接続をサポートする ECS 上ホストされる MySQL データベースの作成テンプレート
ROSTemplateFormatVersion: '2015-09-01' # パラメーター。 Parameters: # ゾーン。 ZoneId: Type: String AssociationProperty: ALIYUN::ECS::Instance:ZoneId Label: en: VSwitch Available Zone zh-cn: 可用区 # データベースのルートアカウントのパスワード。 Password: # このパラメーターを暗号化するかどうかを指定します。本例では暗号化を有効化しています。このパラメーターを照会した際には、アスタリスク (*) のみが出力されます。 NoEcho: true Type: String Description: en: 'Database root and admin account password, 8-32 characters, including uppercase and lowercase letters, numbers and special symbols (including: !@#$%^&*-+=_).' zh-cn: 数据库root和admin账户密码,长度8-32个字符,可包含大小字母、数字及特殊符号(包含:!@#$%^&*-+=_)。 Label: en: root and admin Account Password zh-cn: 数据库root和admin账户密码 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 の IPv4 CIDR ブロック。 VpcCidrBlock: Type: String Label: en: VPC CIDR IPv4 Block zh-cn: 专有网络IPv4网段 Description: zh-cn: VPCのip地址段范围,<br>您可以使用以下的ip地址段或其子网:<br><font color='green'>[10.0.0.0/8]</font><br><font color='green'>[172.16.0.0/12]</font><br><font color='green'>[192.168.0.0/16]</font> en: 'The ip address range of the VPC in the CidrBlock form; <br>You can use the following ip address ranges and their subnets: <br><font color=''green''>[10.0.0.0/8]</font><br><font color=''green''>[172.16.0.0/12]</font><br><font color=''green''>[192.168.0.0/16]</font>' AssociationProperty: ALIYUN::VPC::VPC::CidrBlock Default: 192.168.0.0/16 # vSwitch の CIDR ブロック。 VSwitchCidrBlock: Type: String Label: en: VSwitch CIDR Block zh-cn: 交换机子网网段 Description: zh-cn: 必须属于VPC的子网段。 en: Must belong to the subnet segment of VPC. AssociationProperty: ALIYUN::VPC::VSwitch::CidrBlock AssociationPropertyMetadata: VpcCidrBlock: VpcCidrBlock Default: 192.168.1.0/24 # 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 # リソース。 Resources: # ECS インスタンス上のスクリプト実行のためのシグナル送受信に使用される WaitCondition および WaitConditionHandle リソース。 WaitCondition: Type: ALIYUN::ROS::WaitCondition Properties: Count: 1 Handle: Ref: WaitConditionHandle Timeout: 1800 WaitConditionHandle: Type: ALIYUN::ROS::WaitConditionHandle EcsSecurityGroup: Type: 'ALIYUN::ECS::SecurityGroup' Properties: VpcId: Ref: EcsVpc SecurityGroupIngress: - Priority: 1 PortRange: 3306/3306 NicType: internet SourceCidrIp: 0.0.0.0/0 IpProtocol: tcp # VPC。 EcsVpc: Type: ALIYUN::ECS::VPC Properties: CidrBlock: Ref: VpcCidrBlock VpcName: Ref: ALIYUN::StackName # vSwitch。 EcsVSwitch: Type: ALIYUN::ECS::VSwitch Properties: ZoneId: Ref: ZoneId VpcId: Ref: EcsVpc CidrBlock: Ref: VSwitchCidrBlock # 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 です。 UserData: Fn::Sub: - | #!/bin/sh # ネットワークの準備が完了するまで一時停止します。 sleep 10 # データディスクのパーティションを実行します。 cat >> /root/InitDataDisk.sh << EOF #!/bin/bash echo "p n p w " | fdisk -u /dev/vdb EOF /bin/bash /root/InitDataDisk.sh rm -f /root/InitDataDisk.sh rm -f InitDataDisk.sh # 新しいパーティションにファイルシステムを作成します。 mkfs.ext4 /dev/vdb1 # MySQL をインストールするためのディレクトリを作成します。 mkdir /data1 # ファイルシステムをマウントします。 mount /dev/vdb1 /data1 # 新しいパーティション情報を /etc/fstab ファイルに書き込みます。 echo /dev/vdb1 /data1 ext4 defaults,nodelalloc,noatime 0 2 >> /etc/fstab cd /data1/ # MySQL Community Edition をインストールします。 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 # MySQL サーバーを起動します。 service mysqld start # スーパーユーザーとしてログインし、admin ユーザーを作成して、パスワードによるリモートログインを許可します。 mysqladmin -u root password '${Password}' echo "create database test character set utf8 collate utf8_bin;" > ./test.sql echo "CREATE USER 'admin'@'%' IDENTIFIED BY '${Password}';" >> ./test.sql echo "GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' WITH GRANT OPTION;" >> ./test.sql mysql -u root -p'${Password}' < ./test.sql # MySQL の構成およびデータパスをデータディスクに移動します。 systemctl stop mysqld rsync -av /var/lib/mysql /data1 # 構成ファイルを変更します。 sed -i 's/\/var\/lib/\/data1/g' /etc/my.cnf echo -e '\n' >> /etc/my.cnf echo '[client]' >> /etc/my.cnf echo 'port=3306' >> /etc/my.cnf echo 'socket=/data1/mysql/mysql.sock' >> /etc/my.cnf # MySQL サーバーを起動します。 systemctl start mysqld # WaitCondition にスクリプトの正常終了を通知します。 ${CurlCli} -d "{\"Data\" : \"SUCCESS\", \"Status\" : \"SUCCESS\"}" # 変数 ${CurlCli} の値を指定します。 - CurlCli: Fn::GetAtt: - WaitConditionHandle - CurlCli # データベースのルートアカウントのパスワード。 Password: Ref: Password # 課金方法。本例では従量課金方式を使用します。 InstanceChargeType: PostPaid MaxAmount: 1 # システムディスクのタイプ。本例では ESSD (エンタープライズ SSD) を使用します。 SystemDiskCategory: cloud_essd # インスタンスの名前。 InstanceName: Ref: ALIYUN::StackName VpcId: Ref: EcsVpc SecurityGroupId: Ref: EcsSecurityGroup VSwitchId: Ref: EcsVSwitch # イメージ ID。本例では CentOS 7.9 を使用します。イメージを変更する場合は、UserData スクリプトを適宜更新してください。 ImageId: "centos_7_9_x64_20G_alibase_20220727.vhd" InstanceType: Ref: EcsInstanceType # ホスト名。 HostName: Ref: ALIYUN::StackName # インスタンスのログインパスワード。 Password: Ref: Password # インスタンスにパブリック IP アドレスを割り当てるかどうかを指定します。 AllocatePublicIP: true InternetMaxBandwidthOut: 1 # 出力。 Outputs: MysqlUserName: Label: MySQL ログインユーザー名 Value: admin PrivateIps: Label: プライベート IP アドレス Value: Fn::Select: - 0 - Fn::GetAtt: - EcsInstanceGroup - PrivateIps # メタデータ。 Metadata: ALIYUN::ROS::Interface: # パラメーターグループは、サービスインスタンス作成ページ上でのパラメーターの表示方法を制御します。 ParameterGroups: - Parameters: - EcsInstanceType Label: en: Instance Type zh-cn: 实例规格 - Parameters: - Password Label: en: Basic Configuration zh-cn: 基础配置 - Parameters: - ZoneId - VpcCidrBlock - VSwitchCidrBlock Label: en: Network Configuration zh-cn: 网络配置高度な設定 (オプション) セクションで、VPC アクセス を有効化し、接続モード を VPC ピアリング に設定します。

サービス O&M (オプション) セクションで、構成の変更 に移動し、サービスインスタンス構成変更 を有効化して、操作の追加 をクリックします。操作の追加 ダイアログボックスで、以下のパラメーターを設定します。
パラメーター 説明 テンプレートの選択 構成変更を有効化するテンプレート。 操作名 構成変更操作の名前。 操作の説明 構成変更操作の説明。 メソッド 構成変更操作のメソッド。 ネットワーク変更 変更可能なネットワーク構成。 
OK をクリックしてサービスを作成・公開します。
お客様向け:サービスインスタンスの VPC ピアリング接続の変更
開始する前に、フルマネージドサービスインスタンスを作成してください。詳細については、「フルマネージドサービスインスタンスの作成」をご参照ください。
サービスインスタンスの詳細ページで、右上隅の 構成の変更 をクリックします。ダイアログボックスで ネットワーク変更 を選択し、次へ をクリックして パラメーターの指定 ステップに進みます。

VPC ピアリング接続が未設定の場合、ピアリング接続の追加 をクリックし、VPC を選択または作成します。

次へ をクリックしてパラメーターを確認し、OK をクリックします。
変更が完了すると、サービスインスタンスは デプロイ済み 状態に戻ります。新しいピアリング接続は、ネットワーク設定 タブに表示されます。
変更前のページ:

変更後のページ:

PrivateLink 構成の変更
サービスプロバイダー向け:サービスにおける PrivateLink 変更の有効化
以下の手順では、ネットワーク構成変更の設定のみについて説明します。サービス作成の完全なワークフローについては、「フルマネージドサービスの作成」をご参照ください。
サービスの作成 ページで、サービス情報を設定します。
高度な設定 (オプション) セクションで、VPC アクセス を有効化し、接続モード を PrivateLink に設定し、ドロップダウンリストから公開するリソースを選択します。
説明ドロップダウンリストから SLB インスタンス または エンドポイントサービス を選択します。以下の例では SLB インスタンス を使用します。設定の詳細については、「サービスの VPC アクセスの設定」をご参照ください。

サービス O&M (オプション) セクションで、構成の変更 に移動し、サービスインスタンス構成変更 を有効化して、操作の追加 をクリックします。操作の追加 ダイアログボックスで、以下のパラメーターを設定します。
パラメーター 説明 テンプレートの選択 構成変更を有効化するテンプレート。 操作名 構成変更操作の名前。 操作の説明 構成変更操作の説明。 メソッド 構成変更操作のメソッド。 ネットワーク変更 変更可能なネットワーク構成。カスタムドメイン名が設定されている場合は、VPC アクセスの変更 と カスタムドメイン名の変更 の両方を選択します。 OK をクリックしてサービスを作成・公開します。
お客様向け:サービスインスタンスの PrivateLink 構成の変更
開始する前に、フルマネージドサービスインスタンスを作成してください。詳細については、「フルマネージドサービスインスタンスの作成」をご参照ください。
サービスインスタンスの詳細ページで、右上隅の 構成の変更 をクリックします。ダイアログボックスで ネットワーク変更 を選択し、次へ をクリックして パラメーターの指定 ステップに進みます。
パラメーターの指定 ステップで変更を行います。以下の例では、VPC の追加とカスタムドメイン名の有効化を実施します。

次へ をクリックしてパラメーターを確認し、OK をクリックします。

変更が完了すると、サービスインスタンスは デプロイ済み 状態に戻ります。更新された VPC 情報は、ネットワーク設定 タブに表示されます。