снимок aws для резервного копирования с использованием cloudfromation - PullRequest
0 голосов
/ 05 октября 2018

В настоящее время я работаю над проектом CloudFormation для создания отказоустойчивой архитектуры.У меня проблема со снимком.Я пытался использовать снимок EBS для хранения данных, поэтому, когда один экземпляр не работает, другой экземпляр может загрузить данные из снимка с помощью автоматического масштабирования.Кто-нибудь может дать какие-нибудь идеи, пожалуйста?

Написан ли нами SnapshotId, почему он не виден в консоли после создания стека?

LaunchConfig:
Type: AWS::AutoScaling::LaunchConfiguration
Properties:
  ImageId: ami-33f92051
  InstanceType: t2.micro
  AssociatePublicIpAddress: 'true'   #auto-assign public ip 
  KeyName: 
    Ref: KeyName
  SecurityGroups:
  - Ref: PublicEC2instancesSecurityGroupJing
  BlockDeviceMappings:
  - DeviceName: "/dev/xvda"
    Ebs:
      SnapshotId: snap-0821cc7c34fcb7b01
      VolumeSize: 8
  UserData:
    Fn::Base64:
      Fn::Join:
      - "\n"
      - - "#!/bin/bash -xe"
        - sudo yum update -y
        - sudo yum install httpd24 php56 php56-mysqlnd -y
        - sudo yum install mysql -y
        - sudo service httpd start
        - echo "<html><body><h1>Testing page !!!</h1>" >> /var/www/html/index.html
        - echo "</body></html>" >> /var/www/html/index.html

1 Ответ

0 голосов
/ 20 ноября 2018

Попробуйте использовать EFS в качестве промежуточного хранилища и подключить его к каждому экземпляру.Кроме того, вы можете использовать S3 Bucket для таких данных.S3 также может быть подключен к экземплярам как файловая система.

  • Для того, чтобы смонтировать EFS, вам необходимо установить amazon-efs-utils
  • Для того, чтобы смонтировать S3 bucket в ваши экземпляры,вам необходимо установить следующее:

sudo yum install automake fuse fuse-devel gcc-c++ git libcurl-devel libxml2-devel make openssl-devel

git clone https://github.com/s3fs-fuse/s3fs-fuse.git cd s3fs-fuse ./autogen.sh ./configure --prefix=/usr --with-openssl make sudo make install

После установки необходимых инструментов попробуйте смонтировать ведро

s3fs your_bucketname /mys3bucket -o use_cache=/tmp -o allow_other -o uid=1001 -o mp_umask=002 -o multireq_max=5 -o use_path_request_style -o url=https://s3-{{aws_region}}.amazonaws.com

Добавьте этот процесс к вашим данным пользователя, и это будет выполняться каждый раз после запуска нового экземпляра или создания пользовательского AMI

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...