Les bonnes pratiques du développement d'applications spécifiques

Installer Dynacase en 5 min sur Amazon Elastic Compute Cloud et Cloud Formation

Posted by JÉRÔME AUGÉ on 14 avr. 2016 12:44:18
Find me on:


Si vous avez un compte Amazon, vous pouvez utiliser l'offre d'essai d'Amazon Web Services pour installer un contexte Dynacase sur une machine virtuelle Elastic Compute Cloud (EC2) et pourquoi pas tester le QuickStart Dynacase ! Ou pour les plus préssés, vous pouvez directement télécharger une machine virtuelle pré-paramétrée.

aws.png

Créer une instance Dynacase avec awscli et Cloud Formation

Dans l'exemple ci-dessous, nous allons utiliser l'outils "awscli" en ligne de commande pour instancer notre Dynacase sur EC2.

Au préalable il vous faudra donc avoir configuré "awscli" avec votre Access Key/Secret Access Key.

Nous allons ensuite utiliser un template Cloud Formation tout simple qui décrit l'installation d'une instance EC2 avec Apache + PostgreSQL : AWS_CloudFormation_Template_Dynacase.json

Exemple d'instanciation avec Cloud Formation en ligne de commande :

$ aws cloudformation create-stack --stack-name Dynacase --template-body https://gist.githubusercontent.com/eguaj/bc1a161a1af5c66f70d7/raw/00e2200e92478f4a547b3cb25454c25ba19f96fd/AWS_CloudFormation_Template_Dynacase.json --parameters "ParameterKey=KeyName,ParameterValue=your-aws-key-name"
{
    "StackId": "arn:aws:cloudformation:us-east-1:501892087815:stack/Dynacase/5a1c9470-ef76-11e5-adeb-500c28903236"
}

$ aws cloudformation describe-stacks --stack-name Dynacase
{
    "Stacks": [
        {
            "StackId": "arn:aws:cloudformation:us-east-1:501892087815:stack/Dynacase/3e71cda0-f000-11e5-862a-500c32cd4462",
            "Description": "AWS CloudFormation Template for Single Dynacase instance",
            "Parameters": [
                {
                    "ParameterValue": "your-aws-key-name",
                    "ParameterKey": "KeyName"
                }
            ],
            "Tags": [],
            "CreationTime": "2016-03-22T07:32:34.312Z",
            "StackName": "Dynacase",
            "NotificationARNs": [],
            "StackStatus": "CREATE_IN_PROGRESS",
            "DisableRollback": false
        }
    ]
}

Une fois la stack créée, l'URL d'accès Dynacase est obtenue dans les "outputs" de la stack :

$ aws cloudformation describe-stacks --stack-name Dynacase
{
    "Stacks": [
        {
            "StackId": "arn:aws:cloudformation:us-east-1:501892087815:stack/Dynacase/5a1c9470-ef76-11e5-adeb-500c28903236",
            "Description": "AWS CloudFormation Template for Single Dynacase instance",
            "Parameters": [
                {
                    "ParameterValue": "your-aws-key-name",
                    "ParameterKey": "KeyName"
                }
            ],
            "Tags": [],
            "Outputs": [
                {
                    "Description": "URL for Dynacase's homepage",
                    "OutputKey": "WebsiteURL",
                    "OutputValue": "http://ec2-52-87-178-182.compute-1.amazonaws.com/"
                },
                {
                    "Description": "URL for Dynacase-Control's homepage",
                    "OutputKey": "ControlURL",
                    "OutputValue": "http://ec2-52-87-178-182.compute-1.amazonaws.com/dynacase-control/"
                }
            ],
            "CreationTime": "2016-03-21T15:07:24.536Z",
            "StackName": "Dynacase",
            "NotificationARNs": [],
            "StackStatus": "CREATE_COMPLETE",
            "DisableRollback": false
        }
    ]
}

Une fois l'instance créé, les URLs de connexion à la page d'accueil de Dynacase et à la page d'administration de Dynacase-Control seront disponibles dans les "outputs" de la stack.

Variante : créer une instance EC2 de Dynacase manuellement

Connectez-vous sur la console AWS EC2 :

  • Créer une instance "t2.micro" de type "Ubuntu 14.04"
  • Créer une paire de clef pour la connexion SSH
  • Autoriser les protocoles SSH et HTTP
  • Démarrer la machine virtuelle
  • Connectez-vous par SSH sur la machine virtuelle et exécuter la commande suivante pour installer automatiquement dynacase-control et un contexte Dynacase avec toutes les dépendances nécessaires : 
$ curl -sL https://gist.githubusercontent.com/eguaj/bd311236ff93b3f5f5a5/raw/18006344af14aee3fd6876a7d00e7d7461393980/dynacase_AmazonEC2_ubuntu_14.04.sh | sudo bash

Sécurisation de votre instance

Dans tous les cas, une fois l'instance Dynacase créée, il faudra vous connecter à Dynacase avec le login "admin" et le mot de passe "anakeen" et changer le mot de passe par défaut.

De même avec la partie administration de Dynacase-Control accessible sur cette même URL mais dans le sous-répertoire "/dynacase-control/", ou il vous sera alors demandé de définir le login et le mot de passe d'administration de Dynacase-Control.

Pour aller plus loin :

Topics: Développement PHP, Application d'entreprise