Pubblicare il servizio CIE/CNS Apache Docker su Azure Cloud
Tags: blog, security, ssl, apache
Published: 2022-01-09 10:57:06

---
title: Pubblicare il servizio CIE/CNS Apache Docker su Azure Cloud
published: true
date: 2020-01-29 00:07:00 UTC
tags: Blog,Security,SSL,Apache
canonical_url: https://www.dontesta.it/2020/01/29/pubblicare-il-servizio-cie-cns-apache-docker-su-azure-cloud/
---

Qualche giorno fa ho spiegato in dettaglio [Cos’è il progetto CIE/CNS Apache Docker](https://www.dontesta.it/2020/01/26/cose-il-progetto-cie-cns-apache-docker/), dalla sua nascita a come utilizzarlo. In questo articolo vi mostrerò come **pubblicare il servizio CIE/CNS Apache Docker su Microsoft Azure Cloud**.

Microsoft Azure Cloud offre diverse soluzioni per mettere in piedi i propri servizi tenendo in conto le proprie necessità. Per la tipologia di questo servizio è possibile sfruttare le due soluzioni a seguire.

- **Azure Container** : è un’ottima soluzione per qualsiasi scenario e funziona anche in contenitori isolati, inclusi i processi di compilazione, l’automazione di attività e le applicazioni semplici;
- **Kubernetes Services** : la soluzione ideale per gli scenari in cui si rende necessaria l’orchestrazione completa dei contenitori, quali il rilevamento dei servizi tra più contenitori, la scalabilità automatica e gli aggiornamenti coordinati delle applicazioni. Elimina anche l’impegno delle operazioni in corso e della manutenzione effettuando il provisioning, l’aggiornamento e il ridimensionamento delle risorse su richiesta, senza portare le applicazioni offline.

Visto che il servizio che vogliamo pubblicare non richiede particolari esigenze in termini di performance e scalabilità, potremmo optare di creare il servizio utilizzando [Azure Container](https://docs.microsoft.com/it-it/azure/container-instances/).

 

## Creazione del servizio CIE/CNS Apache Docker

Prima di procedere con la creazione del servizio sul Cloud di Microsoft, è necessario che disponiate di un account (e sottoscrizione) e accedere successivamente al portale Azure Cloud puntando a [https://portal.azure.com](https://portal.azure.com).

Nel caso in cui non abbiate un account (e sottoscrizione), è possibile usufruire della [prova gratuita dei servizi Azure](https://azure.microsoft.com/it-it/free/) per un periodo limitato di tempo e budget.

Tutte le operazioni che riguardano creazione e gestione servizi di Azure, possono essere eseguite via **GUI** (Graphic User Interface), quindi tramite il portale, o via **CLI** (Command Line Interface) più precisamente [Azure Cloud Shell](https://shell.azure.com/). Nel nostro caso prenderemo la via più veloce, ovvero, quella di utilizzare il portale.

Creeremo il nostro servizio partendo dall’ultima versione dell’immagine Docker [italia/cie-cns-apache-docker](https://hub.docker.com/layers/italia/cie-cns-apache-docker/latest/images/sha256-51ceea6d752496ed66d8adce9334fecf399336f38b53708e4c104bdf6679b061), questo è il dato essenziale che serve per creare il servizio. Gli step da seguire sono:

- Login sul Portale Azure [https://portal.azure.com](https://portal.azure.com);
- Dalla barra di ricerca cercare “Container Instances” e cliccare sulla voce corrispondente;
- Dalla Home Page **Container Instances** cliccare sul pulsante “Create container instances”;
- A questo punto occorre inserire una serie d’informazioni che sono raggruppate in:
  - **Basic**
    - _Subscription_: indicazione della sottoscrizione (per esempio: Free Trial);
    - _Resource Group_: creare o selezionare il gruppo contenitore delle risorse necessarie per la creazione del servizio;
    - _Container Name_: nome del container, che in questo caso potrebbe essere: cie-cns-apache-docker;
    - _Region_: selezionare la regione sui cui eseguire il deploy delle risorse o lasciare quella di default;
    - _Image Type_: può essere pubblica o privata. Nel nostro caso la scelta è la prima, visto che l’immagine risiede sul registry Docker Hub, per l’appunto pubblico;
    - _Image Name_: nome dell’immagine, che in questo caso è italia/cie-cns-apache-docker:latest. È possibile specificare anche la versione o tag;
    - _OS Type_: Linux o Windows. Nel nostro caso optiamo per Linux;
    - _Size_: selezionare i requisiti hardware in termini di CPU, GPU e memoria. Per i nostri scopi è più che sufficiente un profilo del tipo: 1 vcpu, 1.5 GiB memory, 0 gpus.
  - **Networking**
    - _Include Public IP_: in questo dobbiamo scegliere d’includere l’indirizzo IP pubblico visto che il servizio deve essere raggiungibile dalla rete internet e poi associare l’indirizzo IP ad un **FQDN** (Fully Qualified Domain Name) personalizzato (per esempio: cns.dontesta.it);
    - _Ports_: indicare la lista di porte TCP/UDP da pubblicare. In questo caso esiste un’unica porta pubblica, ovvero, la 443 (HTTPS SSL/TLS);
    - _DNS Label_: indicare il nome del servizio che poi andrà a comporre l’FQDN completo per il servizio. In questo caso possiamo inserire il nome **cie-cns-auth**.
  - **Advanced**
    - _Restart Policy_: selezionare quale policy di restart applicare per il container. Il valore di default On Failure va benissimo per il nostro servizio;
    - _Environment Variables_: indicare la lista di variabili di ambiente che sono utilizzate dall’immagine. In questo caso occorre inserire la variabile **APACHE\_SSL\_PORT** (come key) e valore **443**. Quest’impostazione fa in modo che il container esponga il servizio web utilizzando il protocollo HTTPS sulla porta standard 443.
- Dopo aver completato il wizard di configurazione e completata la validazione dei dati, sarà possibile cliccare sul pulsante  **Create** che scatenerà il processo di creazione del servizio.

Al termine del processo di creazione del servizio **cie-cns-apache-docker** , questo sarà immediatamente disponibile tramite l’indirizzo IP assegnato o tramite l’FQDN [cie-cns-auth.westeurope.azurecontainer.io](https://cie-cns-auth.westeurope.azurecontainer.io) via HTTPS (vedi figura a seguire).

 

[![Dettagli configurazione Azure Container CIE/CNS Apache Docker](https://www.dontesta.it/wp-content/uploads/2020/01/cie_cns_apache_docker_azure_step_17-1024x286.png "Dettagli configurazione Azure Container CIE/CNS Apache Docker")](https://www.dontesta.it/wp-content/uploads/2020/01/cie_cns_apache_docker_azure_step_17.png)

Dettagli configurazione Azure Container CIE/CNS Apache Docker

È possibile registrare un vostro FQDN personalizzato (esempio: cnscie-auth.mydomain.com). Nel mio caso ho la gestione del DNS e della zona .dontesta.it (dominio del mio blog), per cui ho registrato l’FQDN [cns.dontesta.it](https://cns.dontesta.it) che punta (tramite il record [CNAME](https://it.wikipedia.org/wiki/Tipi_di_record_DNS)) al nome assegnato **cie-cns-auth.westeurope.azurecontainer.io**.

È vivamente sconsigliato creare un record A sul DNS in quanto Azure non garantisce che l’indirizzo IP assegnato sia statico; potrebbe per esempio cambiare al riavvio del container, al contrario, il nome di dominio resterà fisso nel tempo. A seguire l’output del comando `dig cns.dontesta.it CNAME`.

 

[![Vista record CNAME via DIG per cns.dontesta.it](https://www.dontesta.it/wp-content/uploads/2020/01/cie_cns_apache_docker_azure_step_19.png "Vista record A via DIG per cns.dontesta.it")](https://www.dontesta.it/wp-content/uploads/2020/01/cie_cns_apache_docker_azure_step_19.png)

Vista record CNAME via DIG per cns.dontesta.it

La figura a seguire mostra invece l’output del comando `dig cns.dontesta.it` dov’è evidente nella risposta il dettaglio del record CNAME.

[![Vista record A via DIG per cns.dontesta.it](https://www.dontesta.it/wp-content/uploads/2020/01/cie_cns_apache_docker_azure_step_20.png)](https://www.dontesta.it/wp-content/uploads/2020/01/cie_cns_apache_docker_azure_step_20.png)

Vista record A via DIG per cns.dontesta.it

Le due figure a seguire mostrano il monitoraggio del servizio appena creato e gli eventi sul container.

[![Monitoraggio del Servizio CIE/CNS Apache Docker](https://www.dontesta.it/wp-content/uploads/2020/01/cie_cns_apache_docker_azure_step_15-1024x371.png "Monitoraggio del Servizio CIE/CNS Apache Docker")](https://www.dontesta.it/wp-content/uploads/2020/01/cie_cns_apache_docker_azure_step_15.png)

Monitoraggio del Servizio CIE/CNS Apache Docker

 

[![Lista eventi del Container CIE/CNS Apache Docker](https://www.dontesta.it/wp-content/uploads/2020/01/cie_cns_apache_docker_azure_step_16-1024x464.png "Lista eventi del Container CIE/CNS Apache Docker")](https://www.dontesta.it/wp-content/uploads/2020/01/cie_cns_apache_docker_azure_step_16.png)

Lista eventi del Container CIE/CNS Apache Docker

Le figure a seguire mostrano i vari step di creazione del servizio **cie-cns-apache-docker**.

[![Creazione Azure Container CIE/CNS Apache Docker - Step 1](https://www.dontesta.it/wp-content/uploads/2020/01/cie_cns_apache_docker_azure_step_0-150x150.png)](https://www.dontesta.it/cie_cns_apache_docker_azure_step_0/)[![Creazione Azure Container CIE/CNS Apache Docker - Step 2](https://www.dontesta.it/wp-content/uploads/2020/01/cie_cns_apache_docker_azure_step_1-150x150.png)](https://www.dontesta.it/cie_cns_apache_docker_azure_step_1/)[![Creazione Azure Container CIE/CNS Apache Docker - Step 3](https://www.dontesta.it/wp-content/uploads/2020/01/cie_cns_apache_docker_azure_step_2-150x150.png)](https://www.dontesta.it/cie_cns_apache_docker_azure_step_2/)[![Creazione Azure Container CIE/CNS Apache Docker - Step 4](https://www.dontesta.it/wp-content/uploads/2020/01/cie_cns_apache_docker_azure_step_3-150x150.png)](https://www.dontesta.it/cie_cns_apache_docker_azure_step_3/)[![Creazione Azure Container CIE/CNS Apache Docker - Step 5](https://www.dontesta.it/wp-content/uploads/2020/01/cie_cns_apache_docker_azure_step_4-1-150x150.png)](https://www.dontesta.it/cie_cns_apache_docker_azure_step_4-2/)[![Creazione Azure Container CIE/CNS Apache Docker - Step 6](https://www.dontesta.it/wp-content/uploads/2020/01/cie_cns_apache_docker_azure_step_5-150x150.png)](https://www.dontesta.it/cie_cns_apache_docker_azure_step_5/)[![Creazione Azure Container CIE/CNS Apache Docker - Step 7](https://www.dontesta.it/wp-content/uploads/2020/01/cie_cns_apache_docker_azure_step_6-150x150.png)](https://www.dontesta.it/cie_cns_apache_docker_azure_step_6/)[![Creazione Azure Container CIE/CNS Apache Docker - Step 8](https://www.dontesta.it/wp-content/uploads/2020/01/cie_cns_apache_docker_azure_step_7-150x150.png)](https://www.dontesta.it/cie_cns_apache_docker_azure_step_7/)[![Creazione Azure Container CIE/CNS Apache Docker - Step 9](https://www.dontesta.it/wp-content/uploads/2020/01/cie_cns_apache_docker_azure_step_10-150x150.png)](https://www.dontesta.it/cie_cns_apache_docker_azure_step_10/)

 

## Personalizzazione dell’immagine Docker

Ognuno di voi è libero di modificare o specializzare il progetto [CIE/CNS Apache Docker](https://github.com/italia/cie-cns-apache-docker) sulla base delle proprie esigenze, nonché invitato a collaborare. Per esempio, agendo su delle specifiche _[environment](https://github.com/italia/cie-cns-apache-docker#2---struttura-del-docker-file) _è possibile personalizzare il certificato SSL.

L'articolo [Pubblicare il servizio CIE/CNS Apache Docker su Azure Cloud](https://www.dontesta.it/2020/01/29/pubblicare-il-servizio-cie-cns-apache-docker-su-azure-cloud/) sembra essere il primo su [Antonio Musarra's Blog](https://www.dontesta.it).

[![](http://feeds.feedburner.com/~ff/dontesta/blog?d=yIl2AUoC8zA)](http://feeds.feedburner.com/~ff/dontesta/blog?a=e1oGhNzjRQU:IVHJr3vXtE8:yIl2AUoC8zA) [![](http://feeds.feedburner.com/~ff/dontesta/blog?d=dnMXMwOfBR0)](http://feeds.feedburner.com/~ff/dontesta/blog?a=e1oGhNzjRQU:IVHJr3vXtE8:dnMXMwOfBR0) [![](http://feeds.feedburner.com/~ff/dontesta/blog?i=e1oGhNzjRQU:IVHJr3vXtE8:D7DqB2pKExk)](http://feeds.feedburner.com/~ff/dontesta/blog?a=e1oGhNzjRQU:IVHJr3vXtE8:D7DqB2pKExk) [![](http://feeds.feedburner.com/~ff/dontesta/blog?d=YwkR-u9nhCs)](http://feeds.feedburner.com/~ff/dontesta/blog?a=e1oGhNzjRQU:IVHJr3vXtE8:YwkR-u9nhCs) [![](http://feeds.feedburner.com/~ff/dontesta/blog?i=e1oGhNzjRQU:IVHJr3vXtE8:F7zBnMyn0Lo)](http://feeds.feedburner.com/~ff/dontesta/blog?a=e1oGhNzjRQU:IVHJr3vXtE8:F7zBnMyn0Lo) [![](http://feeds.feedburner.com/~ff/dontesta/blog?i=e1oGhNzjRQU:IVHJr3vXtE8:V_sGLiPBpWU)](http://feeds.feedburner.com/~ff/dontesta/blog?a=e1oGhNzjRQU:IVHJr3vXtE8:V_sGLiPBpWU) [![](http://feeds.feedburner.com/~ff/dontesta/blog?d=qj6IDK7rITs)](http://feeds.feedburner.com/~ff/dontesta/blog?a=e1oGhNzjRQU:IVHJr3vXtE8:qj6IDK7rITs) [![](http://feeds.feedburner.com/~ff/dontesta/blog?i=e1oGhNzjRQU:IVHJr3vXtE8:KwTdNBX3Jqk)](http://feeds.feedburner.com/~ff/dontesta/blog?a=e1oGhNzjRQU:IVHJr3vXtE8:KwTdNBX3Jqk) [![](http://feeds.feedburner.com/~ff/dontesta/blog?i=e1oGhNzjRQU:IVHJr3vXtE8:gIN9vFwOqvQ)](http://feeds.feedburner.com/~ff/dontesta/blog?a=e1oGhNzjRQU:IVHJr3vXtE8:gIN9vFwOqvQ)
 ![](http://feeds.feedburner.com/~r/dontesta/blog/~4/e1oGhNzjRQU)