Facebook Google+


Tutorial Crear instancia VPS gratuita en Amazon Web Services
#1
¡Hola! Me estreno en el foro con esta pequeña guía para crear una instancia gratuita durante un año en AWS. Esta es la primera de una serie varias guías que darán lugar a múltiples configuraciones de servidores donde podréis alojar vuestras aplicaciones e incluso ofrecer servicio de alojamiento a terceros.

Para estas guías utilizaré como base un servidor con Ubuntu Server 16.04. No me pararé mucho en detalles ni explicaciones para cada apartado, pero en resumen, si sigues esta guía tendrás una instancia con la última versión de Ubuntu, 30GB de espacio y 1GB de RAM gratis durante un año que podrás administrar y configurar como quieras. 

[1.1] CREAR SERVIDOR VIRTUAL EC2
 
Crear cuenta en Amazon Web Services
 
Acceder a la consola de Amazon Web Services.

Entrar en EC2 Virtual Servers in the Cloud.

Click en el botón Launch Instance.

Step 1: Choose an Amazon Machine Image (AMI)

Seleccionar Ubuntu Server 16.04 LTS (HVM), SSD Volume Type y hacer click en NEXT.

Step 2: Choose an Instance Type

Seleccionar General purpose - t2.micro - Free tier eligible y hacer click en NEXT.

Step 3: Configure Instance Details

Click en NEXT.

Step 4: Add Storage

Establecer Size (GiB) en 30 y hacer click en NEXT.

Step 5: Tag Instance
  

Click en NEXT.

Step 6: Configure Security Group 
  
Create a new security group y añadir las siguientes reglas:
Type
Protocol
Port Range
Source
SSH
TCP
22
My IP
HTTP
TCP
80
Anywhere
HTTPS
TCP
443
Anywhere
 
Click en NEXT.

Step 7: Review Instance Launch

Click en Launch

Seleccionar Create a new key pair.

Establecer el nombre de Key pair name, por ejemplo "Amazon".

Descargar clave haciendo click en Download Key pair. Se descargará el archivo "Amazon.pem".

Click en Launch Instances.
 
[1.2] CREAR IP ELÁSTICA PARA EC2
 
Cita:En AWS, cada vez que se detiene o crea una nueva instancia se le asigna una nueva dirección IP, para evitar este problema crearemos una IP elástica que nos dará una dirección IP única que podremos asociar a diferentes instancias.

Acceder a la consola de Amazon Web Services.

En la sección NETWORK & SECURITY seleccionar Elastic IPs.

Click en Allocate New Address​.

Click en Yes, Allocate​.

Marcar la IP elástica creada y seleccionar Associate Address en Actions.

Seleccionar la instancia creada anteriormente en Instance.

Click en Associate.
 
[1.3] UTILIZAR EL SERVICIO DNS DE ROUTE 53
(Opcional - Servicio de pago)
 
Cita:Para esta guía se utilizará el dominio example.tk, vosotros deberéis cambiarlo por el que vayáis a utilizar. Podéis crear un dominio gratuito durante un año en Freenom.  

Route 53 es el servicio DNS de AWS. Utiliza más de 24 servidores DNS distribuidos mundialmente y nos proporciona servidores de nombres escalables y fiables para nuestras aplicaciones. Más información aquí.

Acceder a la consola de Amazon Web Services.

Entrar en Route 53 Scalable DNS and Domain Name Registration.


Click en el botón Get started now de la sección DNS management.

Click en el botón Create Hosted Zone
 y rellenar de la siguiente manera:

      Domain name: example.tk

      Comment: (Dejar en blanco)

      Type: Public Hosted Zone

Click en el botón Create.

Ahora asociaremos nuestra IP elástica al servidor DNS haciendo click en el botón Create Record Set y rellenando los campos de la siguiente manera:


       Name: www 

      Type: A - IPv4 address 

      Alias: No 

      TTL (Seconds): 300

      Value: (La Elastic IP de nuestra instancia EC2 creada anteriormente)

      Routing Policy: Simple​

Ya está lista nuestra instancia en AWS, nos conectarémos a ella de manera segura utlizando los pares de claves (Amazon.pem) descargados anteriormente vía SSH y utilizando la consola de Linux. Puedes ver cómo hacerlo en la siguiente guía: Conectarse vía SSH a una instancia de AWS a través del terminal


   
      
Guías disponibles (En proceso):

Servidor Ubuntu 16.04 Basic: Nginx + MariaDB + Google PageSpeed + GeoIP + LetsEncrypt + Memcached + PHP7 + PhpMyAdmin + GIT + Composer + Dominio + Subdominio + Certificado SSL2 con renovación automática + HTTP2 + Wordpress..

Servidor Ubuntu 16.04 Medium: Nginx + MariaDB + PageSpeed + GeoIP + LetsEncrypt + Memcached + PHP7 + PhpMyAdmin + GIT + Composer + HHVM + Dominio + Subdominio + Certificado SSL2 con renovación automática + HTTP2 + Wordpress. 

Servidor Ubuntu 16.04 ResellerNginx + MariaDB + PageSpeed + GeoIP + LetsEncrypt + Memcached + PHP7 + PhpMyAdmin + GIT + Composer + HHVM + Fail2ban + Postfix + BIND + Dovecot + Binutils + RKhunter + SquirrelMail + Pure-FTPD + Vlogger + Webalizer + AWStats + Bind9 + Mailman + Amavisd-new + SpamAssassin + ClamAV & ISPConfig 3 + Dominio + Subdominio + Certificado SSL2 con renovación automática + HTTP2 + Wordpress. 
   
[Imagen: 1489128820_fbsnVWR5Pg5WrzX.png]
 
Reply
#2
Muy bueno compañero! Esto es un aporte!
 
Reply
#3
Está muy interesante!!!!!!!! has empezado con el pie derecho @Josantonius Smile

Gracias!
 
Reply
#4
Hola, muy interesante, qué tipo de cosas se podria hacer con Amazon AWS ? es lo mismo que Amazon Cloud ?
 
Reply
#5
¡Gracias! Blush Espero que os sea útil... aún no es mucho, pero cuando esté completo creo que ahorrará más de un dolor de cabeza Cool
 
' escribió:Hola, muy interesante, qué tipo de cosas se podria hacer con Amazon AWS ? es lo mismo que Amazon Cloud ?


Gracias @Roche. 

Sí, creo que hablamos de lo mismo. La verdad es que tienen una enorme infraestructura con gran cantidad de servicios disponibles. En lo relativo a la nube te lo ofrecen todo. Desde aquí puedes acceder a bastante información en español sobre los distintos servicios que tienen.
[Imagen: 1489128820_fbsnVWR5Pg5WrzX.png]
 
Reply
#6
Gracias Smile voy por el enlace .......
 
Reply
#7
Amigo, tú tienes ya hecho algo en AWS que podamos ver ? Smile
 
Reply
#8
Bit escribió:Amigo, tú tienes ya hecho algo en AWS que podamos ver ? Smile


Por ahora no, solo he estado haciendo muchas pruebas y por eso he aprendido tanto  Big Grin  Cuando acabe la guía os dejo el que haga durante el tutorial y paso el enlace. Personalmente me ha parecido muy buen servicio, migraré varios proyectos con ellos. Pero vaya, puedes seguir los tutoriales para configurar el servidor utilizando el VPS de cualquier otra empresa, que las hay muy buenas también, por ejemplo DigitalOcean, que igualmente permite pagar por tiempo de uso y servicios.
[Imagen: 1489128820_fbsnVWR5Pg5WrzX.png]
 
Reply
#9
Y el servidor permite instalarle que tipo de lenguajes ? veo que existe un "Lamp stack" por ejemplo asi que supongo debe de venir con soporte para PHP, no es cierto amigo ?
 
Reply
#10
Rojo escribió:Y el servidor permite instalarle que tipo de lenguajes ? veo que existe un "Lamp stack" por ejemplo asi que supongo debe de venir con soporte para PHP, no es cierto amigo ?

Ten en cuenta que una instancia VPS es como si tuvieras un ordenador en la habitación de al lado, no exactamente ya que ese ordenador debería estar particionado, pero para que lo veas más claro... Así que mientras tu máquina y SO cumpla con los requerimientos de lo que quieras instalar, no hay limitaciones. 

Lo que haces al crear una instancia es utilizar la imagen de un determinado sistema operativo, los hay que vienen sin aplicaciones preinstaladas y los hay que ya traen algunas, como por ejemplo LAMP, que ya te viene instalado Apache, Mysql y PHP. Pero para los tutoriales no utilizaré imágenes con aplicaciones preinstaladas, ya que voy a utilizar Nginx, MariaDB, PHP7, HHVM, etc... y es mejor hacerlo con una instalación limpia.
[Imagen: 1489128820_fbsnVWR5Pg5WrzX.png]
 
Reply
#11
Cita:Lo que haces al crear una instancia es utilizar la imagen de un determinado sistema operativo, los hay que vienen sin aplicaciones preinstaladas y los hay que ya traen algunas, como por ejemplo LAMP, que ya te viene instalado Apache, Mysql y PHP. Pero para los tutoriales no utilizaré imágenes con aplicaciones preinstaladas, ya que voy a utilizar Nginx, MariaDB, PHP7, HHVM, etc... y es mejor hacerlo con una instalación limpia.

Excelente Big Grin esperamos ansiosos, buena intro. Smile
 
Reply
#12
Hoy mismo haré una prueba leyendo el tutorial y comentaré como me fue.... Big Grin

Genial el contenido!
 
Reply
#13
Ya me contaréis qué tal Big Grin

Ya está lista también la siguiente parte de la guía: Conectarse vía SSH a una instancia de AWS a través del terminal y estás serán las 3 configuraciones que iré añadiendo:

Servidor Ubuntu 16.04 Basic: Nginx + MariaDB + PageSpeed + [color=#363636]Memcached + PHP7 + PhpMyAdmin + Dominio + Certificado SSL2 + HTTP2 + Wordpress.

Servidor Ubuntu 16.04 Medium: Nginx + MariaDB + PageSpeed + Memcached + PHP7 + PhpMyAdmin + GIT + Composer + HHVM + Dominio + Certificado SSL2 + HTTP2 + Wordpress.

Servidor Ubuntu 16.04 Reseller: Nginx + MariaDB + PageSpeed + Memcached + PHP7 + PhpMyAdmin + GIT + Composer + HHVM + Fail2ban + Postfix + BIND + Dovecot + Binutils + RKhunter + SquirrelMail + Pure-FTPD + Vlogger + Webalizer + AWStats + Bind9 + Mailman + Amavisd-new + SpamAssassin + ClamAV & ISPConfig 3 + Dominio + Certificado SSL2 + HTTP2 + Wordpress.

¡Gracias!
 Smile
[Imagen: 1489128820_fbsnVWR5Pg5WrzX.png]
 
Reply
#14
Ya tengo mi cuenta y estoy en proceso..... voy a segior todo el tutorial y a ver si movemos el foro momentáneamente a AWS, imagino tiene que soportar el tráfico Big Grin

 
Reply
#15
Qué oscura tu consola de AWS  Big Grin

Lo soportará, y en el momento que no lo haga pues escalas a otra instancia con mayores recursos, entre otras muchas, es lo bueno de AWS, la facilidad que te da para hacerlo.

Aunque para la instancia gratuita, yo solo recomendaría la primera guía, las demás utilizarán HHVM para compilar el PHP y como mínimo deberías tener 2GB de RAM o de 4GB en adelante para obtener un buen rendimiento. Aunque bueno, todo es probarlo, ya que añadiendo una partición SWAP de 2GB en la instancia gratuita mejoró bastante el rendimiento.
[Imagen: 1489128820_fbsnVWR5Pg5WrzX.png]
 
Reply
#16
Gracias amigo,..... estoy en esas.... tengo que encontrar el momento y hacer todo el proceso, gracias por todo el soporte Wink
 
Reply
#17
Disculpa, qué colocolo en el paso (5) de Tag Instance ?

 
Reply
#18
(10-15-2016, 07:07 PM)Roche escribió: Disculpa, qué colocolo en el paso (5) de Tag Instance ?


Nada, te lo puedes saltar. Lo modifico en la guía, se ve que se me pasó ese punto  Undecided
[Imagen: 1489128820_fbsnVWR5Pg5WrzX.png]
 
Reply
#19
Gracias por todo Josantonius, la guia si es muy buena, me ha servido de forma fenomenal, ya pude crear mi instancia Smile solo que creé ese par (pues con un string me dio una clave bastante larga) pero no le veo ningun problema.
 
Reply
#20
Amigo, cuantas instancias puedo crear con la cuenta de prueba de AWS ? podre tener Linux y Windows o sea dos instancias al tiempo ?
 
Reply
#21
Perfecto Roche Wink

Bit, Amazon te da 750 horas de uso al mes, con eso te sobra para tener una instancia funcionando las 24 horas durante un año. Puedes crear las instancias gratuitas que quieras, pero tendrás que calcular el tiempo si no quieres pasarte, ya que no avisan y te facturan directamente.

Por ejemplo, si tienes 2 instancias funcionando a la vez, no podrías tenerla más de 15 días activas cada una.
[Imagen: 1489128820_fbsnVWR5Pg5WrzX.png]
 
Reply
#22
Que buena aclaración!!!!!!!!!!!!!!! Big Grin más de uno no se habrá dado cuenta que el mes tiene aprox esa cantidad de horas, un "detalle" vital. Big Grin
 
Reply
#23
Disculpame si te vuelvo loco (no hay obligacion de responderme a todo xD) ... sigo con la idea de LAMP ... no estoy seguro de si seré capaz de instalar y configurar todo... necesito Apache, PHP 5.2+, MySQL 5.0+ y la duda si seria mala idea elegir SUSE Linux ?

Cita:SUSE Linux Enterprise Server 11 SP4 (PV), SSD Volume Type - ami-86fae7e7
SUSE Linux Enterprise Server 11 Service Pack 4 (PV), EBS General Purpose (SSD) Volume Type. Amazon EC2 AMI Tools preinstalled; Apache 2.2, MySQL 5.5, PHP 5.3, and Ruby 1.8.7 available.
 
Reply
#24
(10-15-2016, 07:47 PM)MASTER escribió: Que buena aclaración!!!!!!!!!!!!!!! Big Grin más de uno no se habrá dado cuenta que el mes tiene aprox esa cantidad de horas, un "detalle" vital. Big Grin

Ya se lo habría recordado Amazon en la factura mensual, no te preocupes Big Grin

(10-15-2016, 07:58 PM)Rojo escribió: Disculpame si te vuelvo loco (no hay obligacion de responderme a todo xD) ... sigo con la idea de LAMP ... no estoy seguro de si seré capaz de instalar y configurar todo... necesito Apache, PHP 5.2+, MySQL 5.0+ y la duda si seria mala idea elegir SUSE Linux ?



Cita:SUSE Linux Enterprise Server 11 SP4 (PV), SSD Volume Type - ami-86fae7e7
SUSE Linux Enterprise Server 11 Service Pack 4 (PV), EBS General Purpose (SSD) Volume Type. Amazon EC2 AMI Tools preinstalled; Apache 2.2, MySQL 5.5, PHP 5.3, and Ruby 1.8.7 available.

La pregunta sería ¿Mala para qué? Todo depende del uso que vayas a darle. Si con esa configuración te vale para lo que necesitas, pues adelante... Yo nunca he probado con SUSE, así pruebas y nos das tu opinión Idea
[Imagen: 1489128820_fbsnVWR5Pg5WrzX.png]
 
Reply
#25
Bueno igualmente voy a intentar con Ngnix + MySQL +PHP desde cero siguiendo tus guias Wink
 
Reply
#26
Muchas gracias, la guía está genial y no puedo creerlo 12 meses de prueba ?! será que leí mal ?
 
Reply
#27
Disculpa de cuanto era el límite de espacio en disco de las instancias ? Smile
 
Reply
#28
(10-16-2016, 10:05 AM)beta escribió: Muchas gracias, la guía está genial y no puedo creerlo 12 meses de prueba ?! será que leí mal ?
 
Sí, tienen tan seguro que te quedarás que te regalan 12 meses  Big Grin ¡Gracias!
 
(10-16-2016, 05:48 PM)P2P escribió: Disculpa de cuanto era el límite de espacio en disco de las instancias ? Smile
 
30GB máximo. Se supone que a la hora de crear la instancia, podrías crear varios discos mientras no superes los 30GB, aunque no lo he probado, no lo he visto necesario.
[Imagen: 1489128820_fbsnVWR5Pg5WrzX.png]
 
Reply
#29
Mirando todas las opciones las ISO de Windows realmente para el trial no sirven porque no alcanza la RAM en ningun caso y apenas los 30GB de disco, toca encariñarse con Linux Tongue
 
Reply
#30
Bueno, el tutorial esta perfecto, usando Windows pude acceder via SSH a mi instancia de Ubuntu, e instalé Nginx, MySQL, PHP 7, Composer,...

Tengo una duda sobre phpMyAdmin que me pregunta que servidor he instalado pero no me da la opcion de Nginx. Ahi no supe que hacer... y elegí Apache2, supongo sera cuestion de arreglar el .htaccess de phpMyAdmin despues, cierto ?


Archivos adjuntos Miniatura(s)
   
 
Reply
#31
(10-16-2016, 07:23 PM)MASTER escribió: Bueno, el tutorial esta perfecto, usando Windows pude acceder via SSH a mi instancia de Ubuntu, tuve problemas para instalar MySQL, PHP, Composer y demas pero siempre me dice que no puede encontrar -Not Found 404- los paquetes .deb

Pero un simple apt-get update lo resolvió asi que vamos perfecto... hasta ahora Big Grin me tocó adelantarme un poco (aunque seguro dejé muchos baches) y pues tengo una duda sobre phpMyAdmin que me pregunta que servidor he instalado pero no me da la opcion de nginx




Ahi no supe que hacer... y elegí Apache2

PD: no te preocupes que este mensaje y tu respuesta luego los muevo a la parte de la guia que corresponda Wink

Eso te pasa por impaciente y no haber seguido la guía de Configuración inicial para servidor Ubuntu 16.04 que ya está lista  Big Grin

PhpMyAdmin no trae esa opción, para correrlo bajo Nginx, en ese paso no tendrías que haber seleccionado ninguna opción y haberle dado a Ok. Pero bueno, ya tienes tu servidor Apache  Smile
[Imagen: 1489128820_fbsnVWR5Pg5WrzX.png]
 
Reply
#32
Ja ja, preciso hiciste esa guia!!! es que estoy de afan porque preciso estos dias caduca el servidor del foro .... estoy corriendo......

Mañana miro tu nueva guia, gracias! no sabes todo lo que nos está sirviendo Smile
 
Reply
#33
Hola, cuantos dominios se pueden asociar a la misma instancia de AWS en la version de prueba por 1 año ? gracias
 
Reply
#34
(10-17-2016, 06:12 AM)Micro escribió: Hola, cuantos dominios se pueden asociar a la misma instancia de AWS en la version de prueba por 1 año ? gracias

Hola Micro,

No hay límite en ese aspecto, puedes asociar los dominios que quieras a tu instancia.
[Imagen: 1489128820_fbsnVWR5Pg5WrzX.png]
 
Reply
#35
' escribió:Perfecto Roche Wink

Bit, Amazon te da 750 horas de uso al mes, con eso te sobra para tener una instancia funcionando las 24 horas durante un año. Puedes crear las instancias gratuitas que quieras, pero tendrás que calcular el tiempo si no quieres pasarte, ya que no avisan y te facturan directamente.

Por ejemplo, si tienes 2 instancias funcionando a la vez, no podrías tenerla más de 15 días activas cada una.

Hoy leí en un blog que solo se puede crear una instancia gratuita, así que contradice a esto que comenté... Por ahora lo dejamos en duda y para no arriesgar no creéis más de una instancia. Cuando tenga un rato lo reviso o a ver si alguien más se ha informado y nos comenta.

¡Un saludo!
[Imagen: 1489128820_fbsnVWR5Pg5WrzX.png]
 
Reply
#36
Gracias José, estoy siguiendo todas tus guías
 
Reply
#37
Veo que las guías se siguen actualizando! encuentro cosas nuevas todos los días lo cual es genial Smile

Queria aclarar para que quede también para la posteridad Big Grin que el par de claves pública/privada SSH es necesario si se accede desde Windows con PuTTY:

Cita:Nada, te lo puedes saltar. Lo modifico en la guía, se ve que se me pasó ese punto.
 
Reply
  


Salto de foro:


Browsing: 1 invitado(s)