ApEx en la nube de Amazon (APEX+EC2+S3)

apexlogoBueno me quede con la idea de montar un APEX en el internet y hoy por fin lo probé. Contraté una cuenta de Amazon Web Services, en toda esa lista de productos de AWS los que interesan para este proyecto son el EC2 ( Elastic cloud) o la nube y los servicios de almacenamiento S3 (Simple Storage Services ). Una vez que tienes las claves de acceso puedes leer este documento que explica como iniciar/parar/crear una máquina virtual en el EC2, a nivel local (en la máquina de casa) se emplea un API de gestión que utiliza java 5 y las llaves de acceso que te da Amazon.

El primer punto interesante es que uno no tiene que hacer mucho esfuerzo para crear una máquina virtua en la nube, existen máquinas virtuales listas con Fedora Core y Ubuntu. Yo escogí una maquina virtual pública que tiene Ubuntu 7.10 , en base a esta cree la imagen privada siguiendo el documento de Amazon y estuvo lista en pocos minutos.

Una vez arriba acceder a la máquina virtual desde un windows es ligeramente complicado porque uno tiene que configurar el Putty, desde Linux no es ningún problema. Una vez dentro de la maquina virtual añadiendo el repositorio de Oracle instalar una base de datos XE es tan fácil como hacer ‘apt-get install oracle-xe’. El proceso de instalación se queja de que no tiene swap pero la memoría de la máquina virtual es más que suficiente para una XE (1.7GB) y no presenta problemas después.

Una vez con la base de datos XE arriba podemos con wget obtener el software de ApEx 3.1, este paso tiene un truco. Se realiza con el comando:

wget –cookies=yes –http-user=<usuario_otn> –http-passwd=<password_otn> http://download.oracle.com/otn/java/appexpress/apex_3.1.zip

Este comando la primera vez hace la descarga de un link del jsp de autorización, pero la segunda vez que lo ejecutas ya descarga el programa porque deja guardadas las contraseñas en el cookie.

Se puede tambien con scp inyectar el archivo zip del APEX desde el ordenador de casa pero yo tengo el problema de que mi velocidad de subida va bajando paulatinamente (gracias Orange por eso me cambio de proveedor!) . Al final tomaba como 45 minutos subir el archivo, con wget lo hice en menos de 5 minutos desde la máquina virtual.

Bueno una vez que se tiene el archivo se lo extrae (unzip) y se instala utilzando sqlplus. El problema que tenemos con este paso es que las variables de entorno no estan creadas para la instalación. El paquete oracle-xe instala un usuario oracle pero no deja configurado el entorno. Puedes crear un archivo .bash_profile en el home del usuario oracle (su – oracle) que contenga esto:

#!/bin/bash
ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server
export ORACLE_HOME
ORACLE_SID=XE
export ORACLE_SID
PATH=$ORACLE_HOME/bin:$PATH
export PATH

Se puede cargar este archivo con el comando ‘. .bash_profile’ y probar que esten establecidas en el entorno con ‘env | grep ORACLE’ . Una vez que las variables están establecidas ya puedes seguir la guia de instalación de APEX sin problemas.

Una vez terminada la instalación de APEX no hay que olvidar actualizar las images, ya que nuestra instalaciónde APEX es un actualización de la versión 3.0 (Oracle XE viene con APEX), si no se ejecuta este comando las imagenes no se presentan.

SQL> @apxldimg /usr/lib/oracle/xe/app/oracle/product/10.2.0/

Finalmente es necesario abrir el puerto 8080 que utiliza APEX en las maquinas virtuales de la nube, el comando ‘ec2-authorize default -p 8080’ del API de Amazon hace lo suyo.

Saludos. FJA

4 thoughts on “ApEx en la nube de Amazon (APEX+EC2+S3)

  1. Hola, es una muy buena idea. Ademas amazon va a sacar otro servicio nuevo que permite persistent storage en el EC2. Son como unas instancias de EC2 que se llaman buckets, si mal no recuerdo. Se puede montar el bucket como una unidad a una instanca de EC2. Ademas se puede guardar el bucket en S3 y si la instancia se cae, volver a traerla de ahi o incluso tener varios buckets y utilizarlos como mirror o con la base de datos en RAID, con lo cual la persistencia de base de datos estaria asegurada.
    La verdad que seria genial.

    Podrias publicar la AMI que creaste? Creo que en la pagina de EC2 tienen un listado de AMIs y se pueden postear ahi…

  2. Realmente no cree ningun AMI, utilizé uno que estaba listado en los AMIs públicos de Amazon. Por el momento puedes hacer una especie de clonación de estos AMIs y guardarlos en bouquets del S3 pero si reinicias la máquina se pierde la información.

    Lo que se podría hacer es instalar todo el software, volver a clonar la maquina y generar backups que luego se pasen por scp a algún otro servidor.

    Realmente el problema es la falta de persistencia de la información.

  3. Pingback: Google también imita cosas » Innova Desarrollos informáticos

  4. お金に困ったときにamazonのギフト券を現金化するのが金策で有効

    また今月も足りない、という時はキャッシング?でも最近ではギフト券を使った現金化が人気です。
    ここのところかなりの数のギフトカードのそこそこのレートで買ってくれるサービスがありますが、本当に実績のあるサイトに依頼しないと詐欺にあう可能性があります。
    ギフトコードはただの乱数ですので、作ろうと思えばいくらでも見た目それっぽいものを作ることができます。こういうコードをお金を支払う側も買うわけにはいかないのでシステム的にチェックをするわけですが、それはまた次から次へといろいろなパターンの不正が試されます。
    気持ちよく買取を進めるにはやはり口コミでも評判のサイトで浮気せずに同じサイトで買い取ってもらうのが安全です。
    会社の住所、がちゃんと表示されているか、といったチェックポイントは外さないようにしましょう。

    一応確認しておく。

    Amazonギフト券は、コンビニなどで買えるアマゾンにログインしてギフト券番号を登録することで、Amazon.co.jpでの買い物にて使用できる便利なカードです。

    たとえば、10,000円分のAmazonギフト券をキャンペーンなんかでもらってご自身のAmazonアカウントに登録したら、すぐに欲しいものがすぐに買えるようになります。

Leave a Reply

Your email address will not be published. Required fields are marked *