AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / server / Perguntas / 876942
Accepted
Tim
Tim
Asked: 2017-10-05 16:30:46 +0800 CST2017-10-05 16:30:46 +0800 CST 2017-10-05 16:30:46 +0800 CST

Crie uma nova instância do EC2 com o volume EBS existente como dispositivo raiz usando o CloudFormation

  • 772

Estou tentando montar um volume existente em uma nova instância do EC2 Windows usando o CloudFormation. Isso parece algo que deveria ser possível.

Visão geral

Eu tenho uma AMI fornecida pelo fornecedor que instala alguns softwares pré-configurados. Queremos criar uma única instância e alteraremos o tamanho da instância do EC2 ocasionalmente para testes de desempenho. Não queremos perder os dados no único disco do EBS que criaremos a partir da AMI.

Como estamos usando o CloudFormation, se simplesmente alterarmos a propriedade AWS::EC2::Instance.InstanceType e fizermos upload da pilha modificada, o CloudFormation criará uma nova instância e volume da AMI. Isso não é útil, pois perderemos os dados carregados do disco existente.

Método de Volumes

Eu tentei este script primeiro.

WindowsVolume:
  Type: AWS::EC2::Volume
  Properties:
    AutoEnableIO: true
    AvailabilityZone: "ap-southeast-2b"
    Encrypted: true
    Size: 30
    SnapshotId: snap-0008f111111111
    Tags:
      - Key: Name
        Value:
          Ref: AWS::StackName
    VolumeType: gp2

EC2Instance:
  Type: AWS::EC2::Instance
  InstanceType: t2.micro
  ImageId: ami-663bdc04 # Windows Server stock image
  KeyName: removed
  IamInstanceProfile: removed
  InstanceInitiatedShutdownBehavior: stop
  SecurityGroupIds:
    Fn::Split: [",", "Fn::ImportValue": StackName-ServerSecurityGroup]
  SubnetId:
    !ImportValue StackName-Subnet1
  Volumes:
    - Device: "/dev/sda1"
      VolumeId:
        Ref: WindowsVolume

recebi a mensagem de erro

Valor inválido '/dev/sda1' para unixDevice. O ponto de anexo /dev/sda1 já está em uso

Método BlockDeviceMappings

Em seguida, tentei usar BlockDeviceMappings

BlockDeviceMappings:
  - DeviceName: "/dev/sda1"
    Ebs:
      Ref: WindowsVolume

A mensagem de erro desta vez foi

Valor da propriedade Ebs deve ser um objeto

Método de anexo de volume

Eu também tentei usar um VolumeAttachment em vez da propriedade Volumes ou um BlockDeviceMapping.

VolAttach:
  Type: AWS::EC2::VolumeAttachment
  Properties:
    Device: "/dev/sda1"
    InstanceId: !Ref EC2Instance
    VolumeId: !Ref WindowsVolume

Isso me deu a mesma mensagem acima

Valor inválido '/dev/sda1' para unixDevice. O ponto de anexo /dev/sda1 já está em uso

Pergunta-chave

Alguém montou com sucesso um volume raiz existente ou um instantâneo em uma nova instância do EC2? Se for possível qual o método adequado?

Abordagens alternativas

Feliz em ouvir abordagens alternativas. Por exemplo, as opções que considerei são:

  • Criando a VPC e os recursos relacionados usando o CloudFormation e, em seguida, crie a instância manualmente usando o console.
  • Criando a VPC, recursos relacionados e instância do EC2 usando o CloudFormation. A partir desse ponto, pare de usar o CloudFormation e simplesmente use o console da web para alterar o tamanho da instância.
amazon-web-services
  • 1 1 respostas
  • 4826 Views

1 respostas

  • Voted
  1. Best Answer
    Matt Houser
    2017-10-05T17:50:21+08:002017-10-05T17:50:21+08:00

    Não é possível montar um volume EBS existente ao iniciar uma instância do EC2.

    Quando uma instância do EC2 é iniciada, os volumes do EBS sempre serão criados a partir dos snapshots do EBS associados à AMI.

    Existem algumas soluções alternativas:

    1. Pós-execução, interrompa sua instância do EC2, desconecte o volume EBS padrão, anexe o volume desejado e reinicie a instância.
    2. Armazene os dados necessários em um volume EBS secundário. Em seguida, como parte de sua inicialização do Cloud Init, anexe esse volume à sua instância do EC2.
    3. Ajuste o tamanho da instância fora do CloudFormation.
    • 3

relate perguntas

  • CentOS relatando menor memória total em comparação com outros na AWS

  • Como posso atualizar para o Java 1.8 em um Amazon Linux Server?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve