Я новичок в 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 помочь мне, пожалуйста?Я думаю, что застрял в том, что кажется самым последним шагом ...