Использование бродяги с Amazon EC2 - PullRequest
0 голосов
/ 22 октября 2018

Я новичок в Amazon AWS и Vagrant.

Я открыл 12-месячную бесплатную учетную запись и хочу протестировать EC2 для своего личного проекта.Мне нужно протестировать программное обеспечение QGIS Server .

Вместо того, чтобы создавать новый экземпляр и устанавливать все зависимости с нуля, я подумал использовать это хранилище , котороепоставляет Vagrant-образ QGIS Server и все необходимое программное обеспечение для его тестирования.

Возможно, я смогу сделать это на своем персональном ноутбуке, но я не уверен в том, что делать с экземпляром EC2.

Глядя на этот SO-ответ кажется, что я могу использовать плагин vagrant-aws .

Однако README также читает:

Конечно, перед этим вам необходимо получить AWS-совместимый коробочный файл для Vagrant.

Что это должно означать?

Может ли кто-нибудь, имеющий некоторый опыт, помочь мне понять, что мне нужно, кроме файла Vagrant и учетной записи Amazon AWS для выполнения этой задачи?

Нужно ли сначала создавать экземпляр или я должен делать это с помощью vagrant-Плагин aws?

Многие, чемks заранее.

EDIT1

Я думаю, что я сделал огромные улучшения.

Итак, я прочитал тонны документов, и я наконец-то получилVagrantfile, представляющий собой смесь из mitchellh / vagrant-aws и из elpaso / qgis3-server-vagrant .

Тогда я должензапустить vagrant up --provider=aws, но я получаю некоторые синтаксические ошибки.Я думаю, что мое отсутствие знаний в Ruby - вот мое главное препятствие.

Вот мой MODIFIED Vagrantfile (без SECRET AWS):

# -*- mode: ruby -*-
# vi: set ft=ruby :

# Require the AWS provider plugin
require ‘vagrant-aws’

# Creating and configuring the AWS instance
Vagrant.configure(‘2’) do |config|


  # Use dummy AWS box
  config.vm.box = ‘aws’

  # Disk space (free tier ebs is limited to 30!!!)
  config.disksize.size = '20GB'

  # (taken from https://github.com/elpaso/qgis3-server-vagrant)
  config.vm.network "forwarded_port", guest: 80, host: 8080 # nginx fastcgi
  config.vm.network "forwarded_port", guest: 81, host: 8081 # apache fastcgi
  config.vm.network "forwarded_port", guest: 82, host: 8082 # nginx uwsgi
  config.vm.network "forwarded_port", guest: 83, host: 8083 # nginx mapproxy

  # Specify configuration of AWS provider
  config.vm.provider ‘aws’ do |aws, override|
    # Read AWS authentication information from environment variables
    aws.access_key_id = ‘MY_ACCESS_ID’
    aws.secret_access_key = ‘MY_SECRET_ID’
    # Specify SSH keypair to use
    aws.keypair_name = ‘MY_KEY’
    # Specify region, AMI ID, Instance and security group
    aws.region = ‘eu-west-3’
    aws.ami = ‘ami-38a01045’
    aws.instance_type = ‘t2.micro’
    # Specify username and private key path
    override.ssh.username = ‘umberto’
    override.ssh.private_key_path = ‘path/to/my/key/pair’
  end

    # Install the required software
  config.vm.provision "shell",
    path: "provisioning/setup.sh",
    args: ENV['SHELL_ARGS']

  # Run every time the VM starts
  config.vm.provision "shell",
    path: "provisioning/job.sh",
    args: ENV['SHELL_ARGS'],
    run: "always"

end

Ошибки, которые я получаю,:

There is a syntax error in the following Vagrantfile. The syntax error
message is reproduced below for convenience:

/home/umberto/Documents/amazon_aws/qgis3-server-vagrant-AWS/Vagrantfile:35: syntax error, unexpected tIDENTIFIER, expecting keyword_end
  aws.region = ‘eu-west-3’
                              ^
/home/umberto/Documents/amazon_aws/qgis3-server-vagrant-AWS/Vagrantfile:36: syntax error, unexpected tIDENTIFIER, expecting keyword_end
  aws.ami = ‘ami-38a01045’
                              ^
/home/umberto/Documents/amazon_aws/qgis3-server-vagrant-AWS/Vagrantfile:42: syntax error, unexpected keyword_end, expecting end-of-input
  end
     ^

Может ли кто-нибудь с небольшим знанием Ruby помочь мне, пожалуйста?Я думаю, что застрял в том, что кажется самым последним шагом ...

1 Ответ

0 голосов
/ 23 октября 2018

У вас есть несколько «умных цитат» вместо одинарных.Измените все это:

Чтобы быть похожим на это:

'

Также должны работать обычные двойные кавычки, только без умных кавычек.

...