トライアルサービスインスタンスは、VPC アクセス機能をサポートしています。 VPC アクセス機能を使用すると、顧客の VPC を、トライアルサービスインスタンスがデプロイされている VPC に接続できます。 これにより、顧客が Compute Nest にトライアルサービスインスタンスをデプロイし、VPC 経由でトライアルサービスインスタンスにアクセスする際のネットワークへの影響が軽減され、データセキュリティが強化されます。 このトピックでは、トライアルサービスの VPC アクセスを構成する方法について説明します。
前提条件
サービスのテンプレートには、ALIYUN::SLB::LoadBalancer リソースを使用して作成された SLB インスタンスが含まれています。
サービスの作成
このセクションでは、VPC アクセスと無料トライアルをサポートするサービスを作成する方法について説明します。
Compute Nest コンソール にログインします。
左側のナビゲーションウィンドウで、[マイサービス] をクリックします。 [作成済みサービス] タブの [マイサービス] ページで、[サービスの作成] をクリックします。
[サービスの作成] ページで、サービスの種類の選択セクションでプライベートサービスを選択し、サービス情報を構成します。
この例では、VPC アクセスの構成に必要なパラメーターのみについて説明します。 その他のパラメーターの詳細については、「プライベートサービスの作成」をご参照ください。
[テンプレートコンテンツ] フィールドに、テンプレートコンテンツを入力します。 詳細については、このトピックのサンプルテンプレートセクションをご参照ください。
テンプレートコンテンツを入力する場合は、SLB インスタンスを定義する必要があります。 次のサンプルコードは、SLB インスタンスを定義する方法の例を示しています。
Slb: Type: ALIYUN::SLB::LoadBalancer Properties: VpcId: Ref: VpcId VSwitchId: Ref: VSwitchId LoadBalancerName: Fn::Join: - '-' - - slb - Ref: ALIYUN::StackName PayType: Ref: PayType PricingCycle: Ref: PayPeriodUnit Duration: Ref: PayPeriod AddressType: intranet LoadBalancerSpec: Ref: LoadBalancerSpec AutoPay: true
[無料トライアル] をオンにします。
[詳細設定(オプション)] セクションで、トライアルサービスに関する情報を構成します。
[トライアル設定] セクションで、[無料トライアル] をオンにし、サービスのテンプレートとパラメーターセットを選択し、最大トライアル期間を構成します。
使用可能なパラメーターセットがない場合は、パラメーターセットを指定する必要はありません。 トライアル期間は最大 30 日です。
[ネットワーク設定] セクションで、サービスの VPC アクセスパラメーターを構成します。
[トライアルサービスへのセキュアアクセス] をオンにします。
[SLB] セクションで、トライアルサービスインスタンスの作成時に接続する SLB インスタンスを指定します。
複数のテンプレートを選択した場合は、各テンプレートで SLB インスタンスを構成できます。
[カスタムドメイン名] フィールドにカスタムドメイン名を入力します。
カスタムドメイン名フィールドにカスタムドメイン名を入力すると、顧客はサービスインスタンスをデプロイするときにカスタムドメイン名を使用するかどうかを決定できます。
[サービスの作成] をクリックします。 表示されるダイアログボックスで、チェックボックスをオンにして [OK] をクリックします。
トライアルサービスインスタンスの作成
このセクションでは、顧客として VPC アクセス機能をサポートするトライアルサービスインスタンスを作成する方法について説明します。
この例では、VPC アクセスの構成に必要なパラメーターのみについて説明します。 その他のパラメーターの詳細については、「プライベートサービスの作成」をご参照ください。
[ネットワーク設定] セクションで、[VPC アクセス] をオンにします。
[VPC 情報] セクションで、[VPC]、[セキュリティグループ]、[ゾーンと VSwitch] を構成します。
重要ゾーン内でのみ、サービスの VPC アクセスを有効にできます。 したがって、ネットワーク設定で指定するゾーンは、基本リソース設定の vSwitch のゾーンと同じである必要があります。
[次の推奨カスタムドメイン名を使用する] を選択します。
VPC アクセス設定の確認
このセクションでは、顧客として作成されたトライアルサービスインスタンスの詳細ページでネットワーク情報を表示し、トライアルサービスにアクセスする方法について説明します。
ネットワーク情報を表示します。
左側のナビゲーションウィンドウで、[サービスインスタンス] をクリックします。 サービスインスタンスページで、管理するサービスインスタンスを見つけ、サービスインスタンスの ID をクリックしてサービスインスタンスの詳細ページに移動します。
サービスインスタンスの詳細ページで、[イントラネット] タブをクリックして、詳細なネットワーク情報を表示します。
サービスにアクセスします。
次のいずれかの方法を使用して、サービスのパーソナライズされた構成とリージョンに基づいてサービス URL を見つけてサービスにアクセスできます。
エンドポイントのドメイン名を使用して直接サービスにアクセスします。
カスタムドメイン名を使用してサービスにアクセスします。
サービスにカスタムドメイン名が構成されている場合は、カスタムドメイン名を使用してサービスのエンドポイントに直接アクセスできます。
サンプルテンプレート
ROSTemplateFormatVersion: '2015-09-01'
Description:
en: Use the existing VPC, vSwitch, create 1 SLB instance, 2 ECS instances, and bind all ECS instances to the SLB instance.
Parameters:
ZoneId:
Type: String
AssociationProperty: ALIYUN::ECS::Instance::ZoneId
Label:
en: VSwitch Availability Zone
VpcId:
AssociationProperty: ALIYUN::ECS::VPC::VPCId
Type: String
Description:
en: Please search the ID starting with (vpc-xxx) from console-Virtual Private Cloud
Label:
en: VPC ID
VSwitchId:
AssociationProperty: ALIYUN::ECS::VSwitch::VSwitchId
AssociationPropertyMetadata:
VpcId: ${VpcId}
ZoneId: ${ZoneId}
Type: String
Description:
en: Instance ID of existing business network switches, console-Virtual Private Cloud-VSwitches under query
Label:
en: VSwitch ID
EcsInstanceType:
Type: String
Label:
en: Instance Type
AssociationProperty: ALIYUN::ECS::Instance::InstanceType
AssociationPropertyMetadata:
ZoneId: ${ZoneId}
InstanceChargeType: ${InstanceChargeType}
InstancePassword:
NoEcho: true
Type: String
Description:
en: Server login password, Length 8-30, must contain three(Capital letters, lowercase letters, numbers, ()`~!@#$%^&*_-+=|{}[]:;'<>,.?/ Special symbol in)
AllowedPattern: '[0-9A-Za-z\_\-\&:;''<>,=%`~!@#\(\)\$\^\*\+\|\{\}\[\]\.\?\/]+$'
Label:
en: Instance Password
ConstraintDescription:
en: Length 8-30, must contain three(Capital letters, lowercase letters, numbers, ()`~!@#$%^&*_-+=|{}[]:;'<>,.?/ Special symbol in)
MinLength: 8
MaxLength: 30
AssociationProperty: ALIYUN::ECS::Instance::Password
PayType:
Type: String
Label:
en: ECS Instance Charge Type
Default: PostPaid
AllowedValues:
- PostPaid
- PrePaid
AssociationProperty: ChargeType
AssociationPropertyMetadata:
LocaleKey: InstanceChargeType
PayPeriodUnit:
Type: String
Description:
en: The long cycle of purchasing resources. <br>Week is a Week and Month is a Month. <br> The default value is month.<br><b><font color='red'> When ECS instance types are PrePaid valid </b></font>
Label:
en: Pay Period Unit
Default: Month
AllowedValues:
- Month
- Year
AssociationProperty: PayPeriodUnit
AssociationPropertyMetadata:
Visible:
Condition:
Fn::Not:
Fn::Equals:
- ${PayType}
- PostPaid
PayPeriod:
Type: Number
Label:
en: Period
Default: 1
AllowedValues:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
AssociationProperty: PayPeriod
AssociationPropertyMetadata:
Visible:
Condition:
Fn::Not:
Fn::Equals:
- ${PayType}
- PostPaid
LoadBalancerSpec:
Type: String
AssociationProperty: ALIYUN::SLB::Instance::InstanceType
Label:
en: LoadBalancer Specifications
AssociationPropertyMetadata:
ZoneId: ${ZoneId}
Resources:
EcsSecurityGroup:
Type: ALIYUN::ECS::SecurityGroup
Properties:
SecurityGroupName:
Ref: ALIYUN::StackName
VpcId:
Ref: VpcId
SecurityGroupIngress:
- PortRange: 80/80
Priority: 1
SourceCidrIp: 0.0.0.0/0
IpProtocol: tcp
NicType: internet
SecurityGroupEgress:
- PortRange: '-1/-1'
Priority: 1
IpProtocol: all
DestCidrIp: 0.0.0.0/0
NicType: internet
- PortRange: '-1/-1'
Priority: 1
IpProtocol: all
DestCidrIp: 0.0.0.0/0
NicType: intranet
WaitCondition:
Type: ALIYUN::ROS::WaitCondition
Properties:
Count: 1
Handle:
Ref: WaitConditionHandle
Timeout: 300
WaitConditionHandle:
Type: ALIYUN::ROS::WaitConditionHandle
EcsInstanceGroup:
Type: ALIYUN::ECS::InstanceGroup
Properties:
InstanceChargeType:
Ref: PayType
PeriodUnit:
Ref: PayPeriodUnit
Period:
Ref: PayPeriod
IoOptimized: optimized
SystemDiskCategory: cloud_essd
SystemDiskSize: 200
DiskMappings:
- Category: cloud_essd
Size: 200
VpcId:
Ref: VpcId
ZoneId:
Ref: ZoneId
SecurityGroupId:
Ref: EcsSecurityGroup
VSwitchId:
Ref: VSwitchId
MaxAmount: 2
ImageId: centos_7
InstanceType:
Ref: EcsInstanceType
Password:
Ref: InstancePassword
AllocatePublicIP: false
UserData:
Fn::Sub:
- |
#!/bin/bash
# ディスクを /disk1 ディレクトリにアタッチします。
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 -t ext4 /dev/vdb1
cp /etc/fstab /etc/fstab.bak
mkdir /disk1
echo `blkid /dev/vdb1 | awk '{print $2}' | sed 's/\\\"//g'` /disk1 ext4 defaults 0 0 >> /etc/fstab
mount -a
# インストールスクリプトを構成します。
yum install -y nginx
# 起動スクリプトを構成します。
systemctl start nginx.service
# スクリプトが実行されたら、WaitCondition をコールバックして待機期間を終了します。
${CurlCli} -d "{\"Data\" : \"Success\", \"status\" : \"SUCCESS\"}"
- CurlCli:
Fn::GetAtt:
- WaitConditionHandle
- CurlCli
Slb:
Type: ALIYUN::SLB::LoadBalancer
Properties:
VpcId:
Ref: VpcId
VSwitchId:
Ref: VSwitchId
LoadBalancerName:
Fn::Join:
- '-'
- - slb
- Ref: ALIYUN::StackName
PayType:
Ref: PayType
PricingCycle:
Ref: PayPeriodUnit
Duration:
Ref: PayPeriod
AddressType: intranet
LoadBalancerSpec:
Ref: LoadBalancerSpec
AutoPay: true
EipSlbAddress:
Type: ALIYUN::VPC::EIP
Properties:
Name:
Ref: ALIYUN::StackName
InternetChargeType: PayByTraffic
Bandwidth: 100
EipSlbAddressAssociation:
Type: ALIYUN::VPC::EIPAssociation
Properties:
InstanceId:
Ref: Slb
AllocationId:
Ref: EipSlbAddress
SlbBackendServerAttachment:
DependsOn:
- EcsInstanceGroup
Type: ALIYUN::SLB::BackendServerAttachment
Properties:
BackendServerList:
Fn::GetAtt:
- EcsInstanceGroup
- InstanceIds
LoadBalancerId:
Ref: Slb
BackendServerWeightList:
- 100
- 100
SlbListener:
DependsOn:
- Slb
Type: ALIYUN::SLB::Listener
Properties:
Persistence:
CookieTimeout: 60
StickySession: 'on'
PersistenceTimeout: 180
XForwardedFor: 'off'
StickySessionType: insert
ListenerPort: 80
Bandwidth: -1
HealthCheck:
HttpCode: http_2xx,http_3xx,http_4xx,http_5xx
HealthCheckType: tcp
UnhealthyThreshold: 3
Timeout: 5
HealthyThreshold: 3
Port: 80
URI: /
Interval: 2
LoadBalancerId:
Ref: Slb
BackendServerPort: 80
Protocol: tcp
Outputs:
Endpoint:
Description:
en: Public IP Addresses
Value:
Fn::Sub:
- http://${ServerAddress}
- ServerAddress:
Fn::GetAtt:
- EipSlbAddress
- EipAddress
Metadata:
ALIYUN::ROS::Interface:
ParameterGroups:
- Parameters:
- ZoneId
Label:
default:
en: Zone Configuration
- Parameters:
- VpcId
- VSwitchId
Label:
default:
en: Choose existing Infrastructure Configuration
- Parameters:
- PayType
- PayPeriodUnit
- PayPeriod
Label:
default:
en: PayType Configuration
- Parameters:
- EcsInstanceType
- InstancePassword
Label:
default:
en: Instance Configure
- Parameters:
- LoadBalancerSpec
Label:
default:
en: SLB Configure