Este tópico descreve como criar rapidamente uma instância de service totalmente gerenciado single-tenant no Compute Nest. A instância baseia-se em um pacote MySQL de ECS único e inclui uma conexão de peering de VPC.
Visão geral do service
Este exemplo utiliza uma arquitetura de ECS único e habilita o recurso de conexão de peering de VPC por padrão. Após a implantação da instância, você acessa diretamente o banco de dados MySQL na conta do provedor de services por meio de uma rede privada. O repositório GitHub para este exemplo é: mysql-managed-vpcpeering-demo.
O exemplo cria automaticamente um service do Compute Nest. O processo leva cerca de três minutos e é concluído com sucesso quando o status muda para Pending Submission. O fluxo de criação ocorre da seguinte forma:
Crie um artefato de arquivo do Compute Nest a partir do pacote de instalação do MySQL armazenado no repositório GitHub.
Crie um service do Compute Nest e associe-o ao artefato de arquivo correspondente.
Este service está disponível nos três planos a seguir.
|
Plano |
Tipo de instância ECS |
vCPU e memória |
Disco do sistema |
Largura de banda pública |
|
Basic Edition |
ecs.c6.large |
c6, otimizado para memória, 2 vCPUs, 4 GiB |
ESSD PL0 de 200 GiB |
Largura de banda fixa de 1 Mbps |
|
Standard Edition |
ecs.c6.xlarge |
c6, otimizado para memória, 4 vCPUs, 8 GiB |
ESSD PL0 de 200 GiB |
Largura de banda fixa de 1 Mbps |
|
Advanced Edition |
ecs.c6.2xlarge |
c6, otimizado para memória, 8 vCPUs, 16 GiB |
ESSD PL0 de 200 GiB |
Largura de banda fixa de 1 Mbps |
Arquitetura de implantação
Este service implanta uma única instância ECS. O grupo de segurança permite tráfego de entrada na porta 3306. Cada instância de service recebe uma nova VPC e um novo vSwitch.
Faturamento para criação do service
A criação do service a partir deste modelo é gratuita. Para obter informações sobre as taxas da instância criada, consulte a seção "Faturamento das instâncias de service".
Permissões para usuários RAM
Este service requer permissões para acessar e criar recursos, como instâncias ECS e VPCs. Se você utilizar um usuário RAM para criar a instância, conceda primeiro as permissões necessárias a esse usuário. Para instruções detalhadas, consulte Manage permissions for RAM users.
As políticas necessárias estão listadas na tabela abaixo.
|
Nome da política |
Descrição |
|
AliyunECSFullAccess |
Permissões para gerenciar ECS. |
|
AliyunVPCFullAccess |
Permissões para gerenciar VPC. |
|
AliyunROSFullAccess |
Permissões para gerenciar ROS. |
|
AliyunComputeNestUserFullAccess |
Permissões para gerenciamento do lado do locatário no Compute Nest. |
|
AliyunComputeNestSupplierFullAccess |
Permissões para gerenciamento do lado do provedor de services no Compute Nest. |
|
AliyunCDTFullAccess |
Permissões para gerenciar Cloud Data Transfer (CDT). |
Faturamento das instâncias de service
Esta instância de service gera taxas principalmente para os seguintes recursos do Compute Nest:
Especificações de vCPU e memória
Tipo e capacidade do disco do sistema
Largura de banda pública
Os seguintes métodos de faturamento são suportados:
pagamento conforme o uso (por hora)
assinatura
O custo estimado da instância é exibido em tempo real durante o processo de criação.
Procedimento de implantação
Parâmetros de implantação
|
Seção |
Parâmetro |
Descrição |
|
Basic Configuration |
Senha das contas root e admin |
Senha das contas de banco de dados root e admin. Deve ter entre 8 e 32 caracteres e pode conter letras maiúsculas, minúsculas, dígitos e os seguintes caracteres especiais: |
|
Network Configuration |
Zona de disponibilidade |
Selecione uma zona de disponibilidade onde os recursos serão criados na conta do provedor de services. |
|
Network Settings |
Bloco CIDR IPv4 da VPC |
Especifique o bloco CIDR IPv4 para a nova VPC. Recomendamos usar um bloco CIDR privado conforme definido na RFC 1918, como 10.0.0.0/8, 172.16.0.0/12 ou 192.168.0.0/16. |
|
Network Settings |
Bloco CIDR do vSwitch |
Especifique o bloco CIDR para o vSwitch. |
Etapas de implantação
-
Clique em no link de implantação fornecido pelo provedor de services. Na página de implantação da instância, especifique os parâmetros conforme solicitado. A página exibe o service MySQL on ECS (Peering Connection Supported). Selecione o plano Basic Edition, Standard Edition ou Advanced Edition. Em seguida, defina a senha do banco de dados na seção Basic Configuration e selecione uma zona de disponibilidade na seção Network Configuration.
Na seção Network Configuration, especifique o bloco CIDR IPv4 para a nova VPC e o bloco CIDR para o vSwitch. Para criar uma conexão de peering de VPC, selecione também a VPC do locatário. Observe que o bloco CIDR da VPC do locatário não pode se sobrepor ao bloco CIDR da nova VPC. O valor padrão de VPC IPv4 CIDR Block é 192.168.0.0/16, e o valor padrão de vSwitch CIDR Block é 192.168.1.0/24. Na seção Network Settings, selecione uma VPC existente ou clique em Create VPC para criar uma nova e, em seguida, clique em + Add Peering Connection para configure a conexão de peering.
Após especifique os parâmetros, prossiga para a página de confirmação do pedido. A página exibe os resultados da Dependency Check e um resumo das Service Instance Information. Confirme se a configuração está correta, selecione I have read and agree to the Compute Nest Service Agreement na seção Terms of Service e clique em Create Now.
Confirme o pedido, concorde com os termos de service e clique em Create Now para iniciar a implantação. A página exibirá então Submitted. Clique em View in List para acesse à lista de instâncias de service. Na aba Fully Managed Services, a lista mostra o status e o progresso da implantação da instância.
-
Aguarde a conclusão da implantação e comece a usar o service. Na aba Overview da página de detalhes da instância, a seção Use Now exibe MysqlUserName (nome de usuário de login) e VisitUrl (endpoint privado). O status na seção Instance Information será Deployed.
A seção Network Configuration mostra os detalhes da conexão de peering de VPC. Essas informações aparecem apenas se você tiver habilitado a conexão de peering de VPC na página de criação. Na aba Network Configuration, a lista Peering Connections exibe o ID da conexão de peering, o status (Activated), a região e o ID da VPC.
-
Conecte-se ao service. Este service suporta acesso privado por meio de uma conexão de peering de VPC. Siga estas etapas para se conectar a partir da VPC do locatário:
Na página de detalhes da instância, acesse a seção Use Now. Localize o campo VisitUrl e copie o endereço IP privado para acessar o banco de dados por uma rede privada. O endereço está no formato mysql://<IP privado>:3306.
-
No vSwitch correspondente da sua VPC, crie uma instância ECS e instale um cliente MySQL.
yum install mysql or apt install mysql-client -
Conecte-se ao banco de dados MySQL a partir da instância ECS usando o endereço IP privado.
[root@xxx ~]# mysql -u admin -h xxx.xxx.xxx.xxx -P 3306 -pxxx Welcome to the MariaDB monitor. Commands end with ; or \g. Your MySQL connection id is 4 Server version: 5.6.51 MySQL Community Server (GPL) Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
Detalhes do service
O pacote de instalação do MySQL Community Edition está armazenado no repositório GitHub. Durante a criação do service, esse pacote é publicado como um artefato de arquivo do Compute Nest. Os comandos de instalação constam no modelo ROS e o mecanismo ROS os executa automaticamente. O Compute Nest substitui o placeholder {{ computenest::file::MySQL }} pela URL de download HTTP do artefato de arquivo do MySQL.
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
Descrição dos arquivos
|
Caminho do arquivo |
Descrição |
|
config.yaml |
Arquivo de configuração para criação do service. A ferramenta computenest-cli usa este arquivo para criar o service. |
|
parameters.yaml |
Define os parâmetros de rede, como VpcId e vSwitchId, que o provedor de services configura para este service totalmente gerenciado single-tenant. |
|
artifact/mysql-community-release-el6-5.noarch.rpm |
Pacote de instalação do MySQL Community Edition. Publicado como um artefato de arquivo do Compute Nest durante a criação do service. |
|
icons/service_logo.jpg |
Logotipo padrão do service. |
|
templates/parameters.yaml |
Para um service totalmente gerenciado single-tenant, os locatários precisam especifique apenas um subconjunto de parâmetros. Este arquivo define os parâmetros expostos ao locatário. |
|
templates/template.yaml |
Arquivo de modelo ROS. O mecanismo ROS usa este modelo para provisionar automaticamente todos os recursos necessários. |
O arquivo templates/template.yaml consiste em três seções principais.
-
Parameters: Define os parâmetros que o locatário precisa especifique, como método de faturamento, especificações da instância, bloco CIDR IPv4, bloco CIDR do vSwitch, senha da instância e zona de disponibilidade.ZoneId: Type: String AssociationProperty: ALIYUN::ECS::Instance:ZoneId Label: Availability zone # Database root account password Password: # Returns only asterisks (*) when this parameter is queried. NoEcho: true Type: String Description: 'Password for the root and admin database accounts, 8-32 characters, including uppercase and lowercase letters, numbers and special symbols (including: !@#$%^&*-+=_).' Label: Root and admin account password ConstraintDescription: '8-32 characters, including uppercase and lowercase letters, numbers and special symbols (including: !@#$%^&*-+=_).' MinLength: '8' MaxLength: '32' AssociationProperty: ALIYUN::ECS::Instance::Password # CIDR block for the new VPC VpcCidrBlock: Type: String Label: VPC IPv4 CIDR block Description: 'The IP address range of the VPC in CIDR block format. <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 # CIDR block for the new vSwitch VSwitchCidrBlock: Type: String Label: vSwitch CIDR block Description: Must be a subnet of the VPC. AssociationProperty: ALIYUN::VPC::VSwitch::CidrBlock AssociationPropertyMetadata: VpcCidrBlock: VpcCidrBlock Default: 192.168.1.0/24 # ECS instance type EcsInstanceType: Type: String Label: Instance type AssociationProperty: ALIYUN::ECS::Instance::InstanceType AllowedValues: - ecs.c6.large - ecs.c6.xlarge - ecs.c6.2xlarge - ecs.c6.4xlarge -
Resources: Define os recursos a serem criados, incluindo uma nova VPC, vSwitch e instância ECS.# 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 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 instance EcsInstanceGroup: Type: ALIYUN::ECS::InstanceGroup Properties: # I/O-optimized instance IoOptimized: optimized ZoneId: Ref: ZoneId DiskMappings: - Category: cloud_essd Device: /dev/xvdb Size: 200 SystemDiskSize: 40 # User data script executed by cloud-init. # You can view logs in /var/log/cloud-init.log and /var/log/cloud-init-output.log. # The script is located at /var/lib/cloud/instance/scripts/part-001 for troubleshooting. UserData: Fn::Sub: - | #!/bin/sh # Wait for the network to become ready sleep 10 # The rest of the script is omitted. For details, see templates/template.yaml. # Billing method: pay-as-you-go InstanceChargeType: PostPaid MaxAmount: 1 # System disk type: ESSD SystemDiskCategory: cloud_essd # Instance name InstanceName: Ref: ALIYUN::StackName VpcId: Ref: VpcId SecurityGroupId: Ref: EcsSecurityGroup VSwitchId: Ref: VSwitchId # Specifies the CentOS 7.9 image. If you change the image, you may need to adapt the UserData script. ImageId: "centos_7_9_x64_20G_alibase_20220727.vhd" InstanceType: Ref: EcsInstanceType # Hostname HostName: Ref: ALIYUN::StackName # Logon password for the ECS instance Password: Ref: Password # Specifies whether to allocate a public IP address. AllocatePublicIP: true InternetMaxBandwidthOut: 1 -
Outputs: Define as saídas que o Compute Nest exibe para o locatário na página de visão geral da instância de service no Compute Nest.Outputs: MysqlUserName: Label: MySQL logon username Value: admin VisitUrl: Label: Private endpoint Description: Private endpoint Value: Fn::Sub: - mysql://${ServerAddress}:3306 - ServerAddress: Fn::Select: - 0 - Fn::GetAtt: - EcsInstanceGroup - PrivateIps
Documentos relacionados
Configuração do service
Change the specifications of a service instance
Service upgrade configurations