Création et configuration de l'instance

Rendez-vous sur le portail azure Pour cet exemple, j'ai choisi de prendre une image ubuntu.

create-instance

Une fois l'instance créée, vous pourrez consulter les informations de celle-ci:

instance-details

Le champ qui nous intéresse ici est Virtual IP address.

Nous devons ensuite exposer un port de notre instance, pour cela, cliquer sur "All setting", puis sur "Endpoints". Ajouter un nouveau champs correspondant aux ports que vous voulez exposé. J'ai choisi d'exposer le port part défaut de postgresql (5432), mais libre a vous de choisir le port que vous désirez.

open-port

Connexion à la machine et installation des packages

Une fois l'instance créée et configurée, vous pourrez vous connecter en SSH à l'aide la commande suivante:

$ ssh username@ip

Téléchargeons le package postgresql (9.3) ainsi que les extensions correspondantes:

username@ip> sudo apt-get install -y postgresql postgresql-contrib-9.3

Création des données de tests

Créons un nouvel utilisateur et une nouvelle base de donnée:

username@ip> sudo -u postgres createuser -r -d -s my_userusername@ip> createdb my_new_dbusername@ip> echo "ALTER ROLE my_user WITH ENCRYPTED PASSWORD 'password';" | psql my_new_db

Configuration de postgresql

Nous devons définir des règles d'accès dans le fichier pg_hba.conf. (/etc/postgresql/9.3/main/pg_hba.conf) Le fichier de configuration est plutôt clair et les commentaires expliquent bien le formatage de la configuration.

Pour mon exemple, my_user et my_new_db correspond à l'utilisateur et à la base de données que venons de créer. La valeur IP_MACHINE_CLIENT doit être remplacée par l'adresse IP de la machine que vous voulez utiliser pour vous connecter à votre base de données.

Cette commande permettra de configurer le fichier sans l'éditer.

username@ip> sudo echo "host my_new_db my_user IP_MACHINE_CLIENT/24 trust" >> /etc/postgresql/9.3/main/pg_hba.conf

Nous devons configurer postgresql pour qu'il écoute d'autre adresse que localhost. Pour cela, nous devons trouver le champ "listen_address" dans le fichier postgresql.conf. ( /etc/postgresql/9.3/main/postgresql.conf) Comme expliqué dans le fichier, vous pouvez utiliser plusieurs valeurs séparées par une virgule. Dans cet exemple, j'utilise la valeur '*' pour écouter toutes les adresses.

C'est également dans ce fichier que vous pourrez modifier le port d'écoute de postgresql.

Le champ "listen_address" est commenté par défaut (9.3), cette commande permettra de configurer le fichier sans l'éditer.

username@ip> sudo echo ‘listen_address="\*"' >> /etc/postgresql/9.3/main/postgresql.conf

Pour finir, nous devons redémarrer le service:

username@ip> sudo service postgresql restart

Test

Depuis votre machine (celle qui a l'IP IP_MACHINE_CLIENT), vous pourrez vous connecter à l'aide de la commande suivante:

IP_MACHINE_CLIENT> psql -h IP_INSTANCE_DB -p 5432 -u my_new_db my_user

IP_INSTANCE_DB correspond à l'IP de votre instance serveur postgresql, celle que nous avons créé au début de cet article.