Este tutorial descreve como usar um gancho de ciclo de vida do Auto Scaling para suspender uma instância ECS e utilizar um modelo do CloudOps Orchestration Service (OOS) para montar automaticamente um sistema de arquivos NAS em uma instância ECS Linux.
Pré-requisitos
Um grupo de dimensionamento foi criado e está no estado Enabled.
-
Um sistema de arquivos NAS foi criado e um destino de montagem foi adicionado. Para mais informações, consulte Gerencie destinos de montagem. O destino de montagem deve atender às seguintes condições:
Se o grupo de dimensionamento utilizar uma Virtual Private Cloud (VPC), o destino de montagem também deverá usar uma VPC. Além disso, ambos devem estar na mesma VPC.
Caso o grupo de dimensionamento utilize a rede clássica, o destino de montagem também deverá usar a rede clássica.
O protocolo de montagem é NFS.
-
Uma função do Resource Access Management (RAM) foi criada para o OOS. A entidade confiável da função RAM deve ser Alibaba Cloud Service, o service confiável deve ser **CloudOps Orchestration Service**, e a função RAM deve ter permissões para executar operações no modelo do OOS. Para mais informações, consulte Crie uma função RAM para o OOS e conceda permissões.
NotaNeste tópico, a função RAM OOSServiceRole é usada como exemplo. Você também pode usar outras funções.
Informações básicas
Um sistema de arquivos NAS é uma instância de armazenamento de arquivos. Após montar o sistema de arquivos em uma instância ECS, você pode usá-lo como se fosse um sistema de arquivos local. Isso melhora a segurança dos dados e a tolerância a falhas operacionais. Não é possível associar um sistema de arquivos NAS ao criar uma configuração de dimensionamento. No entanto, é possível usar um gancho de ciclo de vida e um modelo do OOS para montar automaticamente um sistema de arquivos NAS em uma instância ECS. Esse método é mais eficiente do que criar uma instância ECS e depois montar o sistema de arquivos manualmente.
Procedimento
Este tutorial usa o modelo público do OOS ACS-ESS-LifeCycleAttachNASFileSystemToInstance como exemplo para mostrar como montar automaticamente um sistema de arquivos NAS em uma instância ECS Linux durante um evento de scale-out. O procedimento é o seguinte:
Etapa 1: Conceder permissões de service do OOS à função RAM
Você precisa ter as permissões necessárias para executar modelos do OOS. As operações de operação e manutenção (O&M) definidas no modelo ACS-ESS-LifeCycleAttachNASFileSystemToInstance envolvem recursos do Elastic Compute Service (ECS), Auto Scaling e NAS.
Faça login no console do RAM.
-
Crie uma política de acesso.
No painel de navegação à esquerda, escolha .
Na página Policies, clique em Create Policy.
-
Na página Create Policy, selecione Script Editor como modo de configuração, defina os outros parâmetros e clique em OK.
A tabela a seguir descreve os parâmetros usados neste tutorial. Mantenha os valores padrão para os demais parâmetros.
Item de configuração
Descrição
Name
Insira ESSHookPolicyForAttachNAS.
Policy Document
Insira o seguinte conteúdo:
{ "Version": "1", "Statement": [ { "Action": [ "ecs:DescribeInvocations", "ecs:RunCommand", "ecs:DescribeInvocationResults", "ecs:DescribeInstances" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "ess:CompleteLifecycleAction" ], "Resource": "*", "Effect": "Allow" } ] }
-
Conceda a política de acesso à OOSServiceRole.
No painel de navegação à esquerda, escolha .
-
Localize a função RAM OOSServiceRole e clique em Grant Permission na coluna Actions.
Adicione as permissões necessárias à função RAM OOSServiceRole assumida pelo OOS para concluir a autorização.
-
Na página Grant Permission, especifique o escopo de recursos e a configuração de permissões e clique em Confirm Add Authorization.
A tabela a seguir descreve os parâmetros usados neste tutorial. Mantenha os valores padrão para os demais parâmetros.
Item de configuração
Descrição
Resource Scope
Selecione o nível Account.
Policies
Adicione a política personalizada ESSHookPolicyForAttachNAS.
Etapa 2: Criar um gancho de ciclo de vida para atividades de scale-out e acionar um scale-out
Faça login no console do Auto Scaling.
No painel de navegação à esquerda, clique em Scaling Groups.
Na barra de navegação superior, selecione uma região.
-
Localize o grupo de dimensionamento que deseja gerenciar e abra sua página de detalhes de uma das seguintes maneiras:
Na coluna Scaling Group Name/ID, clique no id do grupo de dimensionamento.
Na coluna Actions, clique em Details.
-
Crie um gancho de ciclo de vida para atividades de scale-out.
Na parte superior da página, clique na aba Event and adhesive hook.
Clique em Create Lifecycle Hook.
-
Especifique a configuração do gancho de ciclo de vida e clique em OK.
A tabela a seguir descreve os parâmetros usados neste tutorial. Mantenha os valores padrão para os demais parâmetros.
Item de configuração
Descrição
Name
Insira ESSHookForAttachNAS.
Scaling Activity Type
Selecione Scale-Out.
Timeout Period
Insira um período de tempo limite apropriado, como 300 segundos.
NotaO período de tempo limite é o tempo permitido para operações personalizadas. Se o período for muito curto, as operações personalizadas podem falhar. Avalie o tempo necessário para suas operações personalizadas e defina um período de tempo limite adequado.
Default Execution Policy
Selecione Continue.
Send Notification When Lifecycle Hook Takes Effect
Envie notificações ou execute automaticamente mais operações de uma maneira especificada. As configurações do modelo são as seguintes:
-
Método de notificação: Selecione OOS Template.
-
Tipo de modelo OOS: Selecione Public Templates.
-
Modelo público: Selecione ACS-ESS-LifeCycleAttachNASFileSystemToInstance.
Os parâmetros de execução para ACS-ESS-LifeCycleAttachNASFileSystemToInstance são configurados da seguinte forma:
-
Mount Target Domain Name: Insira o nome de domínio do destino de montagem do sistema de arquivos NAS.
-
Mount Directory: Diretório na instância ECS onde o sistema de arquivos é montado. O padrão é /mnt.
-
File System Version: 0 indica o uso do protocolo NFS v4 para montar o sistema de arquivos; 1 indica o uso do protocolo NFS v3. Neste exemplo, usa-se 0.
-
Rate Control: Dois tipos de controle de taxa estão disponíveis: Concurrency Control e Batch Control. Este tutorial usa o tipo padrão, Concurrency Control, como exemplo.
-
RAM Role For OOS: Selecione Specify RAM Role and Use Permissions Granted to This Role e, em seguida, selecione OOSServiceRole. No Procedimento, a função RAM OOSServiceRole recebe permissões para gerenciar recursos do ECS, Auto Scaling e sistema de arquivos NAS. O service OOS assume essa função para obter as permissões necessárias.
-
-
Acione um scale-out.
Este tutorial usa a execução manual de uma regra de dimensionamento como exemplo. Você também pode acionar um scale-out usando uma tarefa agendada ou uma tarefa acionada por evento.
NotaOs ganchos de ciclo de vida entram em vigor quando atividades de dimensionamento são acionadas pela execução manual de regras de dimensionamento. Eles não entram em vigor quando você adiciona ou remove instâncias ECS de um grupo de dimensionamento manualmente.
Na parte superior da página, clique na aba Scaling Rules and Event-triggered Tasks.
Na aba Scaling Rules, clique em Create Scaling Rule.
-
Defina as propriedades da regra de dimensionamento e clique em OK.
A tabela a seguir descreve os parâmetros usados neste tutorial. Mantenha os valores padrão para os demais parâmetros.
Item de configuração
Descrição
Rule Name
Insira Add1.
Rule Type
Selecione Simple Scaling Rule.
Operation
Defina para adicionar 1 instância.
Na lista de regras de dimensionamento, localize a regra recém-criada Add1 e, na coluna Actions, clique em Recurrently.
Clique em OK.
Após a execução da regra de dimensionamento, uma instância ECS é criada automaticamente. Como o gancho de ciclo de vida ESSHookForAttachNAS foi criado no grupo de dimensionamento, a instância ECS é suspensa. O service OOS é notificado automaticamente para executar as operações de O&M definidas no modelo ACS-ESS-LifeCycleAttachNASFileSystemToInstance.
-
Verifique se a instância ECS criada automaticamente funciona conforme o esperado.
Na parte superior da página, clique na aba Instance Management.
Localize a instância ECS criada automaticamente e, na coluna ECS Instance ID/Name, clique no id da instância.
Na área Basic Information, clique em Remote Connection.
-
Após fazer login na instância ECS, execute um comando para verificar o resultado da montagem.
df -h | grep aliyunO resultado contém o caminho de montagem do sistema de arquivos NAS, indicando que a montagem automática foi bem-sucedida. Você também pode executar
nfsstat -cpara visualizar a versão do protocolo usada.Client nfs v4indica que a versão do protocolo é v4.[root@iz xxx ~]# df -h | grep aliyun 0a7faxxx-tek1.cn-hangzhou.nas.aliyuncs.com:/ 10P 0 10P 0% /mnt [root@iz xxx ~]# nfsstat -c Client rpc stats: calls retrans authrefrsh 36 0 36 Client nfs v4: null read write commit open open_conf 1 2% 0 0% 0 0% 0 0% 0 0% 0 0% open_noat open_dgrd close setattr fsinfo renew 0 0% 0 0% 0 0% 0 0% 2 5% 18 50% setclntid confirm lock lockt locku access 2 5% 2 5% 0 0% 0 0% 0 0% 0 0% getattr lookup lookup_root remove rename link 3 8% 0 0% 1 2% 0 0% 0 0% 0 0% symlink create pathconf statfs readlink readdir 0 0% 0 0% 1 2% 3 8% 0 0% 0 0% server_caps delegreturn getacl setacl fs_locations rel_lkowner 3 8% 0 0% 0 0% 0 0% 0 0% 0 0% secinfo exchange_id create_ses destroy_ses sequence get_lease_t 0 0% 0 0% 0 0% 0 0% 0 0% 0 0% reclaim_comp layoutget getdevinfo layoutcommit layoutreturn getdevlist 0 0% 0 0% 0 0% 0 0% 0 0% 0 0% (null) 0 0%Se uma instância ECS for criada, mas o sistema de arquivos NAS não for montado, acesse o console do OOS para visualizar o status de execução da tarefa. Para mais informações, consulte (Optional) Step 3: Visualize o status de execução do OOS.
(Opcional) Etapa 3: Visualizar o status de execução do OOS
Faça login no console do OOS.
No painel de navegação à esquerda, escolha .
Localize a tarefa de execução por horário e clique em Details na coluna Actions.
-
Na página de detalhes da execução, visualize as informações da execução.
Por exemplo, você pode visualizar informações como o id de execução e o status de execução na seção Basic Information, ou clicar em um nó de tarefa na seção Execution Result para ver os detalhes da execução. Para mais informações, consulte Visualize detalhes da execução da tarefa.
NotaSe a execução falhar, a mensagem de erro relacionada também será exibida na página de detalhes da execução.
Perguntas frequentes
Se você não conseguir executar uma tarefa de O&M, solucione o problema com base na mensagem de erro no resultado da execução. Para mais informações, consulte FAQ.
A tabela a seguir descreve mensagens de erro comuns.
|
Mensagem de erro |
Causa |
Solução |
|
Forbidden.Unauthorized message: A required authorization for the specified action is not supplied. |
Você não autorizou o Auto Scaling a executar a ação atual. |
Verifique se a função RAM OOSServiceRole tem as permissões necessárias. |
|
Forbidden.RAM message: User not authorized to operate on the specified resource, or this API doesn't support RAM. |
O usuário RAM ou a função RAM não tem permissões para operar nos recursos correspondentes. |
Verifique se a função RAM OOSServiceRole tem as permissões necessárias. Por exemplo, conceda permissões do OOS à função RAM. Antes que o OOS possa gerenciar os recursos declarados no modelo, a função RAM deve ter as permissões necessárias. |
|
LifecycleHookIdAndLifecycleActionToken.Invalid message: The specified lifecycleActionToken and lifecycleActionId you provided does not match any in process lifecycle action. |
A ação do gancho de ciclo de vida em andamento terminou ou foi interrompida. |
Avalie o período de tempo limite do gancho de ciclo de vida para garantir que as tarefas de O&M especificadas no modelo do OOS sejam concluídas dentro do limite de tempo alocado. |