

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# OpsWorks Stacks Layer Reference
<a name="layers"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 2024 ed è stato disattivato sia per i clienti nuovi che per quelli esistenti. Consigliamo vivamente ai clienti di migrare i propri carichi di lavoro verso altre soluzioni il prima possibile. Se hai domande sulla migrazione, contatta il Supporto AWS Team su [AWS re:post](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

Ogni istanza distribuita da OpsWorks Stacks deve far parte di almeno un livello, che definisce il ruolo dell'istanza nello stack e controlla i dettagli relativi alla configurazione e alla configurazione dell'istanza, all'installazione dei pacchetti, alla distribuzione delle applicazioni e così via. Per ulteriori informazioni su come utilizzare gli OpsWorks Stack per creare e gestire i livelli, consulta. [Livelli](workinglayers.md)

La descrizione di ogni livello include un elenco delle ricette integrate che OpsWorks Stacks esegue per ciascuno degli eventi del ciclo di vita del livello. [Queste ricette sono memorizzate in opsworks-cookbooks. https://github.com/aws/](https://github.com/aws/opsworks-cookbooks) Nota che gli elenchi includono solo quelle ricette che vengono eseguite direttamente da Stacks. OpsWorks le quali talvolta eseguono ricette dipendenti, che non sono elencate. Per visualizzare l'elenco completo delle ricette per un determinato evento, tra cui ricette dipendenti e personalizzate, esamina l'elenco di esecuzione nell'appropriato [log Chef dell'evento del ciclo di vita](troubleshoot-debug-log.md).

**Topics**
+ [HAProxy Riferimento al livello](layers-load.md)
+ [HAProxy OpsWorks Stacks Layer](layers-haproxy.md)
+ [Riferimento ai livelli MySQL](layers-mysql.md)
+ [Livello MySQL OpsWorks](workinglayers-db-mysql.md)
+ [Documentazione di riferimento sul livello del server di applicazioni](layers-server.md)
+ [Livelli del server di applicazioni](workinglayers-servers.md)
+ [Riferimento al livello del cluster ECS](#w2ab1c14c71b9c21c23)
+ [Documentazione di riferimento sui livelli personalizzati](layers-other-custom.md)
+ [Documentazione di riferimento su altri livelli](layers-other.md)
+ [Altri livelli](workinglayers-other.md)

# HAProxy Riferimento al livello
<a name="layers-load"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 2024 ed è stato disattivato sia per i clienti nuovi che per quelli esistenti. Consigliamo vivamente ai clienti di migrare i propri carichi di lavoro verso altre soluzioni il prima possibile. Se hai domande sulla migrazione, contatta il Supporto AWS Team su [AWS re:post](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

**Nota**  
Questo livello è disponibile solo per stack basati su Linux.

Un HAProxy livello utilizza [HAProxy](http://haproxy.1wt.eu/), un sistema di bilanciamento del TCP/HTTP carico affidabile e ad alte prestazioni, per fornire servizi proxy e di bilanciamento del carico ad alta disponibilità per applicazioni basate su TCP e HTTP. È particolarmente utile per quei siti web che devono eseguire il crawling con carichi di lavoro molto elevati e che richiedono persistenza o elaborazione di livello 7.

HAProxy monitora il traffico e visualizza le statistiche e lo stato delle istanze associate su una pagina Web. Per impostazione predefinita, l'URI è http://*DNSName*/haproxy? stats, *DNSName* dov'è il nome DNS dell' HAProxy istanza.

**Short name (Nome breve):** lb

**Compatibilità:** un HAProxy livello è compatibile con i seguenti livelli: custom, db-master e memcached.

**Porte aperte:** HAProxy consente l'accesso pubblico alle porte 22 (SSH), 80 (HTTP) e 443 (HTTPS).

**Autoassign Elastic IP addresses (Assegnazione automatica indirizzi IP elastici):** attivata per impostazione predefinita

**Default EBS volume (Volume EBS predefinito):** no

**Gruppo di sicurezza predefinito:** AWS-OpsWorks-LB-Server

**Configurazione:** per configurare un HAProxy livello, è necessario specificare quanto segue:
+ URI Health check (impostazione predefinita: http://*DNSName*/).
+ URI delle statistiche (impostazione predefinita: http://*DNSName*/haproxy? statistiche).
+ Password statistiche (facoltativa).
+ Metodo controllo dello stato (facoltativo). Per impostazione predefinita, HAProxy utilizza il metodo HTTP OPTIONS. Puoi anche specificare GET o HEAD.
+ Abilita statistiche (facoltativo)
+ Porte. Per impostazione predefinita, OpsWorks Stacks è configurato HAProxy per gestire sia il traffico HTTP che HTTPS. [Puoi configurare HAProxy per gestire solo l'uno o l'altro sovrascrivendo il modello di configurazione Chef,.](https://github.com/aws/opsworks-cookbooks/tree/master-chef-11.4/haproxy/templates/default) `haproxy.cfg.erb`

**Setup recipes (Ricette di impostazione):**
+  opsworks\$1initial\$1setup
+ ssh\$1host\$1keys
+ ssh\$1users
+ mysql::client
+ dependencies
+ ebs
+ opsworks\$1ganglia::client
+ haproxy

**Configure recipes (Ricette di configurazione):**
+ opsworks\$1ganglia::configure-client
+ ssh\$1users
+ agent\$1version
+ haproxy::configure

**Deploy recipes (Ricette di distribuzione):**
+ deploy::default
+ haproxy::configure 

**Shutdown recipes (Ricette di arresto):**
+ opsworks\$1shutdown::default
+ haproxy::stop

**Installation (Installazione):**
+ OpsWorks Stacks utilizza il programma di installazione del pacchetto dell'istanza per l'installazione nelle posizioni HAProxy predefinite.
+ Per indirizzare i file di log in un percorso specificato, è necessario configurare syslog. Per ulteriori informazioni, consulta [HAProxy](http://haproxy.1wt.eu/).

# HAProxy OpsWorks Stacks Layer
<a name="layers-haproxy"></a>

**Nota**  
Questo livello è disponibile solo per stack Chef 11 e stack basati su Linux di versioni precedenti.

Lo OpsWorks Stacks HAProxy layer è un layer OpsWorks Stacks che fornisce un modello per le istanze che ospitano un server: un bilanciamento del carico affidabile e ad alte prestazioni. [HAProxy](http://haproxy.1wt.eu/) TCP/HTTP Un'istanza small è in genere sufficiente per gestire tutto il traffico del server di applicazioni. 

**Nota**  
Gli stack sono limitati a una singola regione. Per distribuire l'applicazione tra più regioni, devi creare uno stack distinto per ogni regione.

**Per creare un livello HAProxy**

1. Nel riquadro di navigazione, fare clic su **Layers (Livelli)**.

1. Nella pagina **Layers (Livelli)**, fare clic su **Add a Layer (Aggiungi un livello)** o **\$1 Layer (\$1 Livello)**. Per **Tipo di livello**, selezionate **HAProxy**.

Il livello è associato alle impostazioni di configurazione opzionali seguenti.

**HAProxy statistiche**  
Specifica se il livello raccoglie e visualizza le statistiche. Il valore predefinito è **Yes (Sì)**.

**Statistics URL (URL statistiche)**  
Percorso dell'URL della pagina delle statistiche. L'URL completo è http://*DNSName**StatisticsPath*, dove *DNSName* è il nome DNS dell'istanza associata. Il *StatisticsPath* valore predefinito è /haproxy? stats, che corrisponde a qualcosa come: http://ec2-54-245-151-7.us-west-2.compute.amazonaws.com/haproxy?stats.

**Statistics user name (Nome utente statistiche)**  
Il nome utente della pagina delle statistiche, che devi fornire per visualizzare la pagina delle statistiche. Il valore predefinito è «opsworks».

**Statistics password (Password statistiche)**  
Password della pagina relativa alle statistiche, che deve essere specificata per poter visualizzare la pagina delle statistiche. Il valore predefinito è una stringa generata casualmente.

**Health check URL (URL controllo stato)**  
Il suffisso URL del controllo dello stato di salute. HAProxy utilizza questo URL per chiamare periodicamente un metodo HTTP su ogni istanza dell'Application Server per determinare se l'istanza funziona. [Se il controllo di integrità fallisce, HAProxy interrompe l'instradamento del traffico verso l'istanza fino al riavvio, manualmente o tramite riparazione automatica.](workinginstances-autohealing.md) Il valore predefinito per il suffisso URL è «/», che corrisponde alla home page dell'istanza del server: http:///. *DNSName* 

**Health check method (Metodo controllo stato)**  
Metodo HTTP da utilizzare per controllare se le istanze funzionano. Il valore predefinito è **OPTIONS**, ma è anche possibile specificare **GET** o **HEAD**. Per ulteriori informazioni, consulta [httpchk](http://cbonte.github.io/haproxy-dconv/configuration-1.5.html). 

**Gruppi di sicurezza personalizzati**  
Questa impostazione viene visualizzata se si sceglie di non associare automaticamente un gruppo di sicurezza OpsWorks Stacks integrato ai livelli. Devi specificare il gruppo di sicurezza da associare al livello. Assicurati che il gruppo abbia le impostazioni corrette per consentire il traffico tra livelli. Per ulteriori informazioni, consulta [Creare un nuovo stack](workingstacks-creating.md).

![\[HAProxy layer configuration form with options for statistics and health check settings.\]](http://docs.aws.amazon.com/it_it/opsworks/latest/userguide/images/add_layer_haproxy.png)


**Nota**  
Registra la password per un uso successivo; OpsWorks Stacks non consente di visualizzare la password dopo aver creato il layer. Tuttavia, puoi aggiornare la password. A tale scopo, passa alla pagina **Edit (Modifica)** del livello e fai clic su **Update password (Aggiorna password)** nella scheda **General Settings (Impostazioni generali)**.  

![\[HAProxy layer settings interface with options for statistics, health checks, and auto healing.\]](http://docs.aws.amazon.com/it_it/opsworks/latest/userguide/images/haproxy_update_password.png)


## Come funziona il HAProxy layer
<a name="w2ab1c14c71b9c21c13c19"></a>

Per impostazione predefinita, HAProxy esegue le seguenti operazioni:
+ Rimane in ascolto delle richieste sulle porte HTTP e HTTPS.

  Puoi configurare l' HAProxy ascolto solo sulla porta HTTP o HTTPS sovrascrivendo il modello di configurazione Chef,`haproxy.cfg.erb`.
+ Instrada il traffico in entrata alle istanze membro di qualsiasi livello del server di applicazioni.

  Per impostazione predefinita, OpsWorks Stacks si configura HAProxy per distribuire il traffico alle istanze che sono membri di qualsiasi livello di application server. Ad esempio, potresti avere uno stack con entrambi i livelli Rails App Server e PHP App Server e un HAProxy master distribuisce il traffico alle istanze in entrambi i livelli. Puoi configurare l'instradamento predefinito utilizzando una ricetta personalizzata.
+ Instrada il traffico tra più zone di disponibilità.

  Se una zona di disponibilità non è più raggiungibile, il sistema di bilanciamento del carico instrada il traffico in entrata alle istanze in altre zone, in modo che l'applicazione continui a funzionare senza interruzioni. Per questo motivo, si consiglia di distribuire i server di applicazioni su più zone di disponibilità.
+ Esegue periodicamente il metodo di controllo dello stato specificato su ogni istanza del server di applicazioni per valutarne lo stato di integrità.

  Se il metodo non viene restituito entro un periodo di timeout specificato, si presume che l'istanza abbia avuto esito negativo e HAProxy interrompe l'instradamento delle richieste verso l'istanza. OpsWorks Stacks fornisce anche un modo per sostituire automaticamente le istanze fallite. Per ulteriori informazioni, consulta [Utilizzo della diagnostica automatica](workinginstances-autohealing.md). Puoi modificare il metodo di controllo dello stato quando crei il livello. 
+ Raccoglie le statistiche e, facoltativamente, le visualizza in una pagina Web.

**Importante**  
Per garantire il corretto funzionamento del controllo dello stato con il metodo predefinito OPTIONS, l'app deve restituire un codice di stato 2xx o 3xx.

Per impostazione predefinita, quando aggiungi un'istanza a un HAProxy livello, OpsWorks Stacks le assegna un indirizzo IP elastico per rappresentare l'applicazione, che è pubblica a livello mondiale. Poiché l'indirizzo IP elastico (EIP) dell'istanza HAProxy è l'unico URL esposto pubblicamente dell'applicazione, non dovrai creare e gestire nomi di dominio pubblici per le istanze sottostanti dei server di applicazioni. Per recuperare l'indirizzo, passa alla pagina **Instances (Istanze)** ed esamina l'indirizzo IP pubblico dell'istanza, come illustrato nella seguente figura. Un indirizzo seguito da (EIP) è un indirizzo IP elastico. Per ulteriori informazioni sugli indirizzi IP elastici, consulta l'argomento relativo agli [indirizzi IP elastici (EIP)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html). 

![\[HAProxy instance table showing hostname, status, size, type, AZ, and public IP address.\]](http://docs.aws.amazon.com/it_it/opsworks/latest/userguide/images/load_balancer_elastic_ip.png)


Quando si arresta un' HAProxy istanza, OpsWorks Stacks conserva l'indirizzo IP elastico e lo riassegna all'istanza al riavvio. Se elimini un' HAProxy istanza, per impostazione predefinita, OpsWorks Stacks elimina l'indirizzo IP dell'istanza. Per conservare l'indirizzo, deseleziona l'opzione **Delete instance's Elastic IP (Elimina IP elastico istanza)**, come illustrato di seguito.

![\[HAProxy instance deletion confirmation dialog with option to retain Elastic IP address.\]](http://docs.aws.amazon.com/it_it/opsworks/latest/userguide/images/delete_lb.png)


Questa opzione ha effetti su cosa succede quando aggiungi una nuova istanza al livello per sostituire un'istanza eliminata:
+ Se hai mantenuto l'indirizzo IP elastico dell'istanza eliminata, OpsWorks Stacks assegna l'indirizzo alla nuova istanza.
+ Altrimenti, OpsWorks Stacks assegna un nuovo indirizzo IP elastico all'istanza e devi aggiornare le impostazioni del registrar DNS per mappare il nuovo indirizzo.

Quando le istanze dell'application server sono on line o disattivate, manualmente o come conseguenza del ridimensionamento automatico o della riparazione [[automatica](workinginstances-autohealing.md), la configurazione del bilanciamento](workinginstances-autoscaling.md) del carico deve essere aggiornata per indirizzare il traffico verso il set corrente di istanze online. Questa operazione viene gestita automaticamente dalle ricette predefinite del livello:
+ [Quando nuove istanze sono online, Stacks attiva un evento Configure lifecycle. OpsWorks](workingcookbook-events.md) Le ricette di configurazione integrate nel HAProxy layer aggiornano la configurazione del load balancer in modo che distribuisca anche le richieste a tutte le nuove istanze dell'Application Server.
+ Quando le istanze vanno fuori linea o un'istanza non supera un controllo di integrità, OpsWorks Stacks attiva anche un evento Configure lifecycle. Le ricette HAProxy Configure aggiornano la configurazione del load balancer per indirizzare il traffico solo verso le restanti istanze online. 

Infine, puoi anche utilizzare un dominio personalizzato con il HAProxy layer. Per ulteriori informazioni, consulta [Utilizzo di domini personalizzati](workingapps-domains.md). 

## Pagina delle statistiche
<a name="w2ab1c14c71b9c21c13c21"></a>

Se hai abilitato la pagina delle statistiche, HAProxy viene visualizzata una pagina contenente una varietà di metriche all'URL specificato.

**Per visualizzare le statistiche HAProxy**

1. Ottieni il nome **DNS pubblico** dell' HAProxy istanza dalla pagina dei **dettagli** dell'istanza e copialo.

1. Nella pagina **Layers (Livelli)**, fare clic su **HAProxy** per visualizzare la pagina dei dettagli del livello.

1. Ottieni l'URL delle statistiche dai dettagli del layer e aggiungilo al nome DNS pubblico. Ad esempio, aggiungere **http://ec2-54-245-102-172.us-west-2.compute.amazonaws.com/haproxy?stats**.

1. Incollare l'URL recuperato alla fase precedente nel browser e utilizzare il nome utente e la password specificati durante la creazione del livello per visualizzare la pagina delle statistiche.   
![\[HAProxy statistics report showing process information and session data for frontend and backend servers.\]](http://docs.aws.amazon.com/it_it/opsworks/latest/userguide/images/haproxy_stats.png)

# Riferimento ai livelli MySQL
<a name="layers-mysql"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 2024 ed è stato disabilitato sia per i clienti nuovi che per quelli esistenti. Consigliamo vivamente ai clienti di migrare i propri carichi di lavoro verso altre soluzioni il prima possibile. Se hai domande sulla migrazione, contatta il Supporto AWS Team su [AWS re:post](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

**Nota**  
Questo livello è disponibile solo per stack basati su Linux.

Il livello MySQL supporta MySQL, un sistema di gestione di database relazionali ampiamente utilizzato. OpsWorks Stacks installa la versione più recente disponibile, che dipende dal sistema operativo. Se aggiungi un'istanza MySQL, le informazioni di accesso necessarie vengono fornite ai livelli del server di applicazioni. È necessario scrivere ricette Chef personalizzate per configurare configurazioni master-master o master-slave. 

**Short name (Nome breve):** db-master

**Compatibilità:** un livello MySQL è compatibile con i seguenti livelli: custom, lb, memcached, monitoring-master, nodejs-app, php-app, rails-app e web.

**Porte aperte:** un livello MySQL consente l'accesso pubblico alla porta 22 (SSH) e a tutte le porte dei server Web dello stack, dei server personalizzati e dei server delle applicazioni Rails, PHP e Node.js.

**Autoassign Elastic IP addresses (Assegnazione automatica indirizzi IP elastici):** disattivata per impostazione predefinita

**Default EBS volume (Volume EBS predefinito):** sì, su `/vol/mysql`

 AWS-OpsWorks-DB-MasterGruppo di sicurezza predefinito**:** -Server 

**Configurazione:** per configurare un livello MySQL, è necessario specificare quanto segue:
+ (Password utente root
+ Motore MySQL

**Setup recipes (Ricette di impostazione):**
+  opsworks\$1initial\$1setup
+ ssh\$1host\$1keys
+ ssh\$1users
+ mysql::client
+ dependencies
+ ebs
+ opsworks\$1ganglia::client
+ mysql::server
+ dependencies
+ deploy::mysql 

**Configure recipes (Ricette di configurazione):**
+ opsworks\$1ganglia::configure-client
+ ssh\$1users
+ agent\$1version
+ deploy::mysql 

**Deploy recipes (Ricette di distribuzione):**
+ deploy::default
+ deploy::mysql 

**Shutdown recipes (Ricette di arresto):**
+ opsworks\$1shutdown::default
+ mysql::stop

**Installation (Installazione):**
+ OpsWorks Stacks utilizza il programma di installazione del pacchetto dell'istanza per installare MySQL e i relativi file di registro nelle posizioni predefinite. Per ulteriori informazioni, consulta la [documentazione di MySQL](http://dev.mysql.com/doc/index.html).

# Livello MySQL OpsWorks
<a name="workinglayers-db-mysql"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 2024 ed è stato disabilitato sia per i clienti nuovi che per quelli esistenti. Consigliamo vivamente ai clienti di migrare i propri carichi di lavoro verso altre soluzioni il prima possibile. Se hai domande sulla migrazione, contatta il Supporto AWS Team su [AWS re:post](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

**Nota**  
Questo livello è disponibile solo per stack Chef 11 e stack basati su Linux di versioni precedenti.

[Un livello OpsWorks MySQL fornisce un modello per le istanze EC2 Amazon che funzionano come master di database MySQL.](http://www.mysql.com/) Una ricetta integrata crea un database per ciascuna applicazione distribuita su un livello del server applicazioni. Ad esempio, se distribuisci un'applicazione PHP "myapp", la ricetta crea un database "myapp".

Il livello MySQL ha le seguenti impostazioni di configurazione.

**MySQL root user password (Password utente root MySQL)**  
(Obbligatoria) La password utente root.

**Set root user password on every instance (Imposta la password utente root su ogni istanza)**  
(Facoltativa) Indica se la password utente root è inclusa negli attributi di configurazione e distribuzione dello stack installati in ogni istanza nello stack. L'impostazione predefinita è **Yes (Sì)**.  
Se impostate questo valore su **No**, OpsWorks Stacks passa la password root solo alle istanze dell'Application Server.

**Gruppi di sicurezza personalizzati**  
(Facoltativa) Gruppo di sicurezza personalizzato da associare al livello. Per ulteriori informazioni, consulta [Creare un nuovo stack](workingstacks-creating.md).

![\[Add layer interface for MySQL database setup with OpsWorks, ECS, and RDS options.\]](http://docs.aws.amazon.com/it_it/opsworks/latest/userguide/images/add_layer_mysql.png)


Puoi aggiungere una o più istanze al livello, ciascuna delle quali rappresenta un master del database MySQL separato. Puoi quindi [collegare un'istanza a un'app](workingapps-creating.md), installando così le informazioni di connessione necessarie sui server applicazioni dell'app. L'applicazione può dunque utilizzare queste informazioni di connessione per [connettersi al server di database dell'istanza](workingapps-connectdb.md).

# Documentazione di riferimento sul livello del server di applicazioni
<a name="layers-server"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 2024 ed è stato disabilitato sia per i clienti nuovi che per quelli esistenti. Consigliamo vivamente ai clienti di migrare i propri carichi di lavoro verso altre soluzioni il prima possibile. Se hai domande sulla migrazione, contatta il Supporto AWS Team su [AWS re:post](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

OpsWorks Stacks supporta diversi server di applicazioni e pagine Web statiche.

**Topics**
+ [Riferimento ai livelli di AWS Flow (Ruby)](layers-server-flow.md)
+ [Riferimento al livello di Java App Server](layers-server-java.md)
+ [Riferimento al livello dell'App Server Node.js](layers-server-nodejs.md)
+ [Riferimento al livello di PHP App Server](layers-server-php.md)
+ [Riferimento al livello del server dell'app Rails](layers-server-rails.md)
+ [Riferimento statico al livello del server Web](layers-server-static.md)

# Riferimento ai livelli di AWS Flow (Ruby)
<a name="layers-server-flow"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 2024 ed è stato disabilitato sia per i clienti nuovi che per quelli esistenti. Consigliamo vivamente ai clienti di migrare i propri carichi di lavoro verso altre soluzioni il prima possibile. Se hai domande sulla migrazione, contatta il Supporto AWS Team su [AWS re:post](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

**Nota**  
Questo livello è disponibile solo per stack basati su Linux.

Un layer AWS Flow (Ruby) fornisce un modello per le istanze che ospitano attività e workflow worker di Amazon Simple Workflow Service.

**Nome breve:** aws-flow-ruby

**Compatibilità:** un livello AWS Flow (Ruby) è compatibile con PHP App Server, MySQL, Memcached, Ganglia e livelli personalizzati.

**Open ports (Porte aperte):** nessuna.

**Ruolo IAM: aws-opsworks-ec 2- role-with-swf è il ruolo** AWS Flow (Ruby) standard che OpsWorks Stacks crea per te, se richiesto.

**Autoassign Elastic IP addresses (Assegnazione automatica indirizzi IP elastici):** disattivata per impostazione predefinita

**Default EBS volume (Volume EBS predefinito):** no

**Gruppo di sicurezza predefinito**: -Ruby-Server AWS-OpsWorks-AWS-Flow

**Setup recipes (Ricette di impostazione):**
+ opsworks\$1initial\$1setup
+ ssh\$1host\$1keys
+ ssh\$1users
+ mysql::client
+ dependencies
+ ebs
+ opsworks\$1ganglia::client
+ opsworks\$1aws\$1flow\$1ruby::setup

**Configure recipes (Ricette di configurazione):**
+ opsworks\$1ganglia::configure-client
+ ssh\$1users
+ mysql::client
+ agent\$1version
+ opsworks\$1aws\$1flow\$1ruby::configure 

**Deploy recipes (Ricette di distribuzione):**
+ deploy::default
+ distribuire: aws-flow-ruby 

**Undeploy recipes (Ricette di annullamento distribuzione):**
+ distribuire: aws-flow-ruby-undeploy

**Shutdown recipes (Ricette di arresto):**
+ opsworks\$1shutdown::default

# Riferimento al livello di Java App Server
<a name="layers-server-java"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 2024 ed è stato disattivato sia per i clienti nuovi che per quelli esistenti. Consigliamo vivamente ai clienti di migrare i propri carichi di lavoro verso altre soluzioni il prima possibile. Se hai domande sulla migrazione, contatta il Supporto AWS Team su [AWS re:post](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

**Nota**  
Questo livello è disponibile solo per stack basati su Linux.

Un livello Java App Server supporta un server di applicazioni [Apache Tomcat 7.0](http://tomcat.apache.org/).

**Short name (Nome breve):** java-app

**Compatibilità:** un livello Java App Server è compatibile con i seguenti livelli: custom, db-master e memcached.

**Porte aperte:** un livello Java App Server consente l'accesso pubblico alle porte 22 (SSH), 80 (HTTP), 443 (HTTPS) e a tutte le porte dei sistemi di bilanciamento del carico.

**Autoassign Elastic IP addresses (Assegnazione automatica indirizzi IP elastici):** disattivata per impostazione predefinita

**Default EBS volume (Volume EBS predefinito):** no

**Gruppo di sicurezza predefinito**: -Server AWS-OpsWorks-Java-App

**Setup recipes (Ricette di impostazione):**
+ opsworks\$1initial\$1setup
+ ssh\$1host\$1keys
+ ssh\$1users
+ mysql::client
+ dependencies
+ ebs
+ opsworks\$1ganglia::client
+ opsworks\$1java::setup

**Configure recipes (Ricette di configurazione):**
+ opsworks\$1ganglia::configure-client
+ ssh\$1users
+ agent\$1version
+ opsworks\$1java::configure 

**Deploy recipes (Ricette di distribuzione):**
+ deploy::default
+ deploy::java 

**Undeploy recipes (Ricette di annullamento distribuzione):**
+ deploy::java-undeploy

**Shutdown recipes (Ricette di arresto):**
+ opsworks\$1shutdown::default
+ deploy::java-stop

**Installation (Installazione):**
+ Tomcat esegue l'installazione su `/usr/share/tomcat7`.
+ Per ulteriori informazioni su come produrre i file di log, consulta l'argomento sul [logging in Tomcat](http://tomcat.apache.org/tomcat-6.0-doc/logging.html).

# Riferimento al livello dell'App Server Node.js
<a name="layers-server-nodejs"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 2024 ed è stato disattivato sia per i clienti nuovi che per quelli esistenti. Consigliamo vivamente ai clienti di migrare i propri carichi di lavoro verso altre soluzioni il prima possibile. Se hai domande sulla migrazione, contatta il Supporto AWS Team su [AWS re:post](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

**Nota**  
Questo livello è disponibile solo per stack basati su Linux.

Un livello di Node.js App Server supporta un server di applicazioni [Node.js](http://nodejs.org/), che è una piattaforma per l'implementazione di server di applicazioni di rete altamente scalabili. I programmi vengono scritti in JavaScript modalità asincrona basata sugli eventi per ridurre al minimo il sovraccarico e I/O massimizzare la scalabilità.

**Short name (Nome breve):** nodejs-app

**Compatibilità:** un livello di Node.js App Server è compatibile con i seguenti livelli: custom, db-master, memcached e monitoring-master.

**Porte aperte:** un livello Node.js App Server consente l'accesso pubblico alle porte 22 (SSH), 80 (HTTP), 443 (HTTPS) e a tutte le porte dei sistemi di bilanciamento del carico.

**Autoassign Elastic IP addresses (Assegnazione automatica indirizzi IP elastici):** disattivata per impostazione predefinita

**Default EBS volume (Volume EBS predefinito):** no

**Gruppo di sicurezza predefinito**: -Server AWS-OpsWorks-nodejs-App

**Setup recipes (Ricette di impostazione):**
+  opsworks\$1initial\$1setup
+ ssh\$1host\$1keys
+ ssh\$1users
+ mysql::client
+ dependencies
+ ebs
+ opsworks\$1ganglia::client
+ opsworks\$1nodejs
+ opsworks\$1nodejs::npm 

**Configure recipes (Ricette di configurazione):**
+  opsworks\$1ganglia::configure-client
+ ssh\$1users
+ agent\$1version
+ opsworks\$1nodejs::configure 

**Deploy recipes (Ricette di distribuzione):**
+ deploy::default
+ opsworks\$1nodejs
+ opsworks\$1nodejs::npm
+ deploy::nodejs 

**Undeploy recipes (Ricette di annullamento distribuzione):**
+ deploy::nodejs-undeploy

**Shutdown recipes (Ricette di arresto):**
+ opsworks\$1shutdown::default
+ deploy::nodejs-stop

**Installation (Installazione):**
+ Node.js esegue l'installazione su `/usr/local/bin/node`.
+ Per ulteriori informazioni su come produrre i file di log, consulta l'argomento sul [logging in node.js](https://docs.nodejitsu.com/articles/intermediate/how-to-log/) nel sito web Nodejitsu.

**Node.js application configuration (Configurazione dell'applicazione Node.js):**
+ Il file principale eseguito da Node.js deve essere denominato `server.js` e trovarsi nella directory radice dell'applicazione distribuita.
+ L'applicazione Node.js deve essere impostata per l'ascolto sulla porta 80 (o sulla porta 443, se applicabile).

**Nota**  
Le app Node.js che eseguono Express di solito utilizzano il codice seguente per impostare la porta di ascolto, dove `process.env.PORT` rappresenta la porta predefinita e risolve su 80:  

```
app.set('port', process.env.PORT || 3000);
```
Con OpsWorks Stacks, è necessario specificare esplicitamente la porta 80, come segue:  

```
app.set('port', 80);
```

# Riferimento al livello di PHP App Server
<a name="layers-server-php"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 2024 ed è stato disabilitato sia per i clienti nuovi che per quelli esistenti. Consigliamo vivamente ai clienti di migrare i propri carichi di lavoro verso altre soluzioni il prima possibile. Se hai domande sulla migrazione, contatta il Supporto AWS Team su [AWS re:post](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

**Nota**  
Questo livello è disponibile solo per stack basati su Linux.

[Il livello PHP App Server supporta un server di applicazioni PHP utilizzando Apache2 con mod\$1php.](http://httpd.apache.org/)

**Short name (Nome breve):** php-app

**Compatibilità:** un livello PHP App Server è compatibile con i seguenti livelli: custom, db-master, memcached, monitoring-master e rails-app.

**Porte aperte:** un livello PHP App Server consente l'accesso pubblico alle porte 22 (SSH), 80 (HTTP), 443 (HTTPS) e a tutte le porte dei sistemi di bilanciamento del carico.

**Autoassign Elastic IP addresses (Assegnazione automatica indirizzi IP elastici):** disattivata per impostazione predefinita

**Default EBS volume (Volume EBS predefinito):** no

**Gruppo di sicurezza predefinito: -Server** AWS-OpsWorks-PHP-App

**Setup recipes (Ricette di impostazione):**
+  opsworks\$1initial\$1setup
+ ssh\$1host\$1keys
+ ssh\$1users
+ mysql::client
+ dependencies
+ ebs
+ opsworks\$1ganglia::client
+ mysql::client
+ dependencies
+ mod\$1php5\$1apache2 

**Configure recipes (Ricette di configurazione):**
+ opsworks\$1ganglia::configure-client
+ ssh\$1users
+ agent\$1version
+ mod\$1php5\$1apache2::php
+ php::configure 

**Deploy recipes (Ricette di distribuzione):**
+ deploy::default
+ deploy::php 

**Undeploy recipes (Ricette di annullamento distribuzione):**
+ deploy::php-undeploy

**Shutdown recipes (Ricette di arresto):**
+ opsworks\$1shutdown::default
+ apache2::stop 

**Installation (Installazione): **
+  OpsWorks Stacks utilizza il programma di installazione del pacchetto dell'istanza per installare Apache2, mod\$1php e i file di registro associati nelle posizioni predefinite. Per ulteriori informazioni sull'installazione, consulta [Apache](http://httpd.apache.org/). Per ulteriori informazioni sulla registrazione, consulta la pagina relativa ai [file di log](http://httpd.apache.org/docs/2.2/logs.html).

# Riferimento al livello del server dell'app Rails
<a name="layers-server-rails"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 2024 ed è stato disabilitato sia per i clienti nuovi che per quelli esistenti. Consigliamo vivamente ai clienti di migrare i propri carichi di lavoro verso altre soluzioni il prima possibile. Se hai domande sulla migrazione, contatta il Supporto AWS Team su [AWS re:post](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

**Nota**  
Questo livello è disponibile solo per stack basati su Linux.

Il livello Rails App Server supporta un server di applicazioni [Ruby on](http://rubyonrails.org/) Rails.

**Short name (Nome breve):** rails-app

**Compatibilità:** un livello Rails App Server è compatibile con i seguenti livelli: custom, db-master, memcached, monitoring-master, php-app.

**Porte:** un livello Rails App Server consente l'accesso pubblico alle porte 22 (SSH), 80 (HTTP), 443 (HTTPS) e a tutte le porte dei sistemi di bilanciamento del carico.

**Autoassign Elastic IP addresses (Assegnazione automatica indirizzi IP elastici):** disattivata per impostazione predefinita

**Default EBS volume (Volume EBS predefinito):** no

**Gruppo di sicurezza predefinito: -Server** AWS-OpsWorks-Rails-App

**Configurazione:** per configurare un livello Rails App Server, è necessario specificare quanto segue:
+ Versione di Ruby
+ Stack Rails
+ Versione Rubygems
+ Se installare e gestire [Bundler](http://gembundler.com/)
+ La versione Bundler

**Setup recipes (Ricette di impostazione):**
+ opsworks\$1initial\$1setup
+ ssh\$1host\$1keys
+ ssh\$1users
+ mysql::client
+ dependencies
+ ebs
+ opsworks\$1ganglia::client
+ apache2 apache2::mod\$1deflate
+ passenger\$1apache2
+ passenger\$1apache2::mod\$1rails
+ passenger\$1apache2::rails 

**Configure recipes (Ricette di configurazione):**
+ opsworks\$1ganglia::configure-client
+ ssh\$1users
+ agent\$1version
+ rails::configure 

**Deploy recipes (Ricette di distribuzione):**
+ deploy::default
+ deploy::rails

**Undeploy recipes (Ricette di annullamento distribuzione):**
+ deploy::rails-undeploy 

**Shutdown recipes (Ricette di arresto):**
+ opsworks\$1shutdown::default
+ apache2::stop 

**Installation (Installazione):**
+ OpsWorks Stacks utilizza il programma di installazione del pacchetto dell'istanza per installare Apache2 con mod\$1passenger, mod\$1rails e i file di registro associati nelle posizioni predefinite. Per ulteriori informazioni sull'installazione, consulta [Phusion Passenger](https://www.phusionpassenger.com/). Per ulteriori informazioni sulla registrazione, consulta la pagina relativa ai [file di log](http://httpd.apache.org/docs/2.2/logs.html).

# Riferimento statico al livello del server Web
<a name="layers-server-static"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 2024 ed è stato disabilitato sia per i clienti nuovi che per quelli esistenti. Consigliamo vivamente ai clienti di migrare i propri carichi di lavoro verso altre soluzioni il prima possibile. Se hai domande sulla migrazione, contatta il Supporto AWS Team su [AWS re:post](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

**Nota**  
Questo livello è disponibile solo per stack basati su Linux.

Il livello Static Web Server fornisce pagine HTML statiche, che possono includere codice lato client come. JavaScript È basato su [Nginx](http://nginx.org/en/), che è un server proxy HTTP open source, di posta elettronica nonché proxy inverso.

**Short name (Nome breve):** web

**Compatibilità:** un livello di server Web statico è compatibile con i seguenti livelli: custom, db-master, memcached.

**Porte aperte:** un livello di server Web statico consente l'accesso pubblico alle porte 22 (SSH), 80 (HTTP), 443 (HTTPS) e a tutte le porte dei sistemi di bilanciamento del carico.

**Autoassign Elastic IP addresses (Assegnazione automatica indirizzi IP elastici):** disattivata per impostazione predefinita

**Default EBS volume (Volume EBS predefinito):** no

**Gruppo di sicurezza predefinito:** AWS-OpsWorks-Web-Server

**Setup recipes (Ricette di impostazione):**
+ opsworks\$1initial\$1setup
+ ssh\$1host\$1keys
+ ssh\$1users
+ mysql::client
+ dependencies
+ ebs
+ opsworks\$1ganglia::client
+ nginx 

**Configure recipes (Ricette di configurazione):**
+ opsworks\$1ganglia::configure-client
+ ssh\$1users
+ agent\$1version 

**Deploy recipes (Ricette di distribuzione):**
+ deploy::default
+ deploy::web 

**Undeploy recipes (Ricette di annullamento distribuzione):**
+ deploy::web-undeploy

**Shutdown recipes (Ricette di arresto):**
+ opsworks\$1shutdown::default
+ nginx::stop

**Installation (Installazione):**
+ Nginx esegue l'installazione su `/usr/sbin/nginx`.
+ I file di log di Nginx si trovano su `/var/log/nginx`.

# Livelli del server di applicazioni
<a name="workinglayers-servers"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 2024 ed è stato disabilitato sia per i clienti nuovi che per quelli esistenti. Consigliamo vivamente ai clienti di migrare i propri carichi di lavoro verso altre soluzioni il prima possibile. Se hai domande sulla migrazione, contatta il Supporto AWS Team su [AWS re:post](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

**Nota**  
Questi livelli sono disponibili solo per stack Chef 11 e stack basati su Linux di versioni precedenti.

OpsWorks Stacks supporta diversi server di applicazioni, dove «applicazione» include pagine Web statiche. Ogni tipo di server ha un livello OpsWorks Stacks separato, con ricette integrate che gestiscono l'installazione del server delle applicazioni e tutti i pacchetti correlati su ciascuna istanza del livello, la distribuzione delle app e così via. Ad esempio, il livello Java App Server installa diversi pacchetti, tra cui Apache, Tomcat e OpenJDK, e distribuisce app Java su ciascuna istanza del livello.

Di seguito è riportata la procedura di base per l'utilizzo dei livelli di un server di applicazioni:

1. [Creare](workinglayers-basics-create.md) uno dei tipi di livello **App Server (Server app)** disponibili.

1. [Aggiungere una o più istanze](workinginstances-add.md) al livello.

1. Creare app e distribuirle nelle istanze. Per ulteriori informazioni, consulta [App](workingapps.md).

1. (Facoltativo) Se il livello ha più istanze, è possibile aggiungere un sistema di bilanciamento del carico, che distribuisce il traffico in ingresso tra le istanze. Per ulteriori informazioni, consulta [HAProxy OpsWorks Stacks Layer](layers-haproxy.md).

**Topics**
+ [Strato AWS Flow (Ruby)](workinglayers-awsflow.md)
+ [Java App Server OpsWorks Stacks Layer](layers-java.md)
+ [Node.js App Server OpsWorks Stacks Layer](workinglayers-node.md)
+ [PHP App Server OpsWorks Stacks Layer](workinglayers-php.md)
+ [Rails OpsWorks App Server Stacks Layer](workinglayers-rails.md)
+ [Static Web Server OpsWorks Stacks Layer](workinglayers-static.md)

# Strato AWS Flow (Ruby)
<a name="workinglayers-awsflow"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 2024 ed è stato disabilitato sia per i clienti nuovi che per quelli esistenti. Consigliamo vivamente ai clienti di migrare i propri carichi di lavoro verso altre soluzioni il prima possibile. Se hai domande sulla migrazione, contatta il Supporto AWS Team su [AWS re:post](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

**Nota**  
Questo livello è disponibile solo per stack basati su Linux.

Un livello AWS Flow (Ruby) è un livello OpsWorks Stacks che fornisce un modello per le istanze che ospitano i lavoratori di attività e flussi di lavoro di [Amazon SWF](https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-welcome.html). I worker vengono implementati utilizzando [AWS Flow Framework for Ruby](https://docs.aws.amazon.com/amazonswf/latest/awsrbflowguide/welcome.html), un framework di programmazione che semplifica il processo di implementazione di un'applicazione asincrona distribuita fornendo al contempo tutti i vantaggi di Amazon SWF. Questo scenario è ideale per implementare applicazioni e soddisfare un'ampia gamma di scenari, tra cui processi aziendali, codifica multimediale, attività con esecuzione prolungata ed elaborazione in background.

Il livello AWS Flow (Ruby) include le seguenti impostazioni di configurazione.

**RubyGems versione**  
La versione Gem del framework. 

**Bundler version (Versione Bundler)**  
La versione [Bundler](http://bundler.io/).

**EC2 profilo dell'istanza**  
Un profilo di EC2 istanza Amazon definito dall'utente che deve essere utilizzato dalle istanze del layer. Questo profilo deve concedere le autorizzazioni alle applicazioni in esecuzione sulle istanze del layer per accedere ad Amazon SWF.

[Se il tuo account non dispone di un profilo appropriato, puoi selezionare **Nuovo profilo con accesso SWF** per cui OpsWorks Stacks aggiorni il profilo oppure puoi aggiornarlo tu stesso utilizzando la console IAM.](https://console.aws.amazon.com/iam/) Quindi, puoi utilizzare il profilo aggiornato per tutti i livelli AWS Flow successivi. Di seguito è riportata una breve descrizione di come creare il profilo utilizzando la console IAM. Per ulteriori informazioni, consulta [Identity and Access Management in Amazon Simple Workflow Service](https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html).

**Creazione di un profilo per le istanze AWS Flow (Ruby)**

1. Aprire la console IAM all'indirizzo [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Scegli **Policy** nel pannello di navigazione e scegli **Crea policy per creare una nuova policy** gestita dal cliente.

1. **Per **Service**, scegli SWF.**

1. Per **Azioni**, scegliete **Tutte le azioni SWF (swf: \$1**). 

1. Per **Amazon Resource Name (ARN)**, inserisci l'ARN che specifica a quali domini Amazon SWF possono accedere i lavoratori. Scegli di fornire **All resources** l'accesso a tutti i domini.

1. Scegli **Next (Successivo)**.

1. Facoltativamente, inserisci un tag per identificare la politica.

1. Scegli **Next (Successivo)**.

1. Quando hai finito, scegli **Crea politica**.

1. Scegli **Ruoli** nel riquadro di navigazione e scegli **Crea ruolo**.

1. Specificate il nome del ruolo e scegliete **Passaggio successivo**. Non è possibile modificare il nome una volta che il ruolo è stato creato.

1. Scegli il **servizio AWS** e poi scegli ** EC2**.

1. Scegli **Next (Successivo)**.

1. Dall'elenco **delle politiche di autorizzazione**, scegli la politica che hai creato in precedenza.

1. Scegli **Next (Successivo)**.

1. Fornire un nome ruolo e selezionare **Crea ruolo**. Non è possibile modificare il nome una volta che il ruolo è stato creato.

1. Specificate questo profilo quando create un layer AWS Flow (Ruby) in OpsWorks Stacks.

# Java App Server OpsWorks Stacks Layer
<a name="layers-java"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 2024 ed è stato disattivato sia per i clienti nuovi che per quelli esistenti. Consigliamo vivamente ai clienti di migrare i propri carichi di lavoro verso altre soluzioni il prima possibile. Se hai domande sulla migrazione, contatta il Supporto AWS Team su [AWS re:post](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

**Nota**  
Questo livello è disponibile solo per stack basati su Linux.

Il livello Java App Server è un livello OpsWorks Stacks che fornisce un modello per le istanze che funzionano come server di applicazioni Java. [Questo livello è basato su [Apache Tomcat 7.0](http://tomcat.apache.org/) e Open JDK 7.](http://openjdk.java.net/) OpsWorks Stacks installa anche la libreria Java Connector, che consente alle app Java di utilizzare un `DataSource` oggetto JDBC per connettersi a un data store di back-end.

**Installazione**: Tomcat è installato in `/usr/share/tomcat7`.

La pagina **Add Layer (Aggiungi livello)** include le opzioni di configurazione seguenti:

**Opzioni VM Java**  
Puoi utilizzare questa impostazione per specificare le opzioni di macchina virtuale Java personalizzate. Non sono disponibili opzioni predefinite. Ad esempio, una serie di opzioni comune è `-Djava.awt.headless=true -Xmx128m -XX:+UseConcMarkSweepGC`. Se utilizzi **Java VM Options**, assicurati di passare un set di opzioni valido; OpsWorks Stacks non convalida la stringa. Se tenti di passare un'opzione non valida, il server Tomcat non si avvia, causando un errore di configurazione. In tal caso, puoi esaminare il log di Chef di configurazione dell'istanza per conoscere i dettagli. Per ulteriori informazioni su come visualizzare e interpretare i log di Chef, consulta [Log di Chef](troubleshoot-debug-log.md).

**Gruppi di sicurezza personalizzati**  
Questa impostazione viene visualizzata se hai scelto di non associare automaticamente un gruppo di sicurezza OpsWorks Stacks integrato ai tuoi livelli. Devi specificare il gruppo di sicurezza da associare al livello. Per ulteriori informazioni, consulta [Creare un nuovo stack](workingstacks-creating.md).

**Elastic Load Balancer**  
Puoi collegare un load balancer Elastic Load Balancing alle istanze del layer. Per ulteriori informazioni, consulta [Strato Elastic Load Balancing](layers-elb.md).

Puoi specificare altre impostazioni di configurazione utilizzando un JSON personalizzato o un file di attributi personalizzato. Per ulteriori informazioni, consulta [Configurazione personalizzata](layers-java-config.md).

**Importante**  
[Se l'applicazione Java utilizza SSL, si consiglia di disabilitarla, SSLv3 se possibile, per risolvere le vulnerabilità descritte in CVE-2014-3566.](http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3566) Per ulteriori informazioni, consulta [Disabilitazione per SSLv3 i server Apache](#layers-java-sslv3).

**Topics**
+ [Disabilitazione per SSLv3 i server Apache](#layers-java-sslv3)
+ [Configurazione personalizzata](layers-java-config.md)
+ [Distribuzione di app Java](layers-java-deploy.md)

## Disabilitazione per SSLv3 i server Apache
<a name="layers-java-sslv3"></a>

Per disabilitarlo SSLv3, è necessario modificare l'impostazione del file del server Apache. `ssl.conf` `SSLProtocol` Per fare ciò, è necessario sovrascrivere il file `ssl.conf.erb` modello del [libro di cucina apache2](https://github.com/aws/opsworks-cookbooks/tree/release-chef-11.10/apache2) integrato, utilizzato per creare le ricette di installazione del livello Java App Server. `ssl.conf` I dettagli dipendono dal sistema operativo che specifichi per le istanze del livello. Di seguito sono riepilogate le modifiche richieste per i sistemi Amazon Linux e Ubuntu. SSLv3 è disattivato automaticamente per i sistemi Red Hat Enterprise Linux (RHEL). Per ulteriori informazioni su come sostituire un modello integrato, consulta [Utilizzo di modelli personalizzati ](workingcookbook-template-override.md).

**Amazon Linux**  
Il file `ssl.conf.erb` per questi sistemi operativi si trova nella directory `apache2` del libro di ricette `apache2/templates/default/mods`. Di seguito viene mostrata la parte pertinente del file integrato.  

```
...
#SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL

# enable only secure protocols: SSLv3 and TLSv1.2, but not SSLv2
SSLProtocol all -SSLv2
</IfModule>
```
Sostituisci `ssl.conf.erb` e modifica l'impostazione `SSLProtocol` come segue.  

```
...
#SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL

# enable only secure protocols: SSLv3 and TLSv1.2, but not SSLv2
SSLProtocol all -SSLv3 -SSLv2
</IfModule>
```

**Ubuntu 14.04 LTS**  
Il file `ssl.conf.erb` per questo sistema operativo si trova nella directory `apache2` del libro di ricette `apache2/templates/ubuntu-14.04/mods`. Di seguito viene mostrata la parte pertinente del file integrato.  

```
...
# The protocols to enable.
# Available values: all, SSLv3, TLSv1.2
# SSL v2 is no longer supported
SSLProtocol all
...
```
Modifica questa impostazione come segue.  

```
...
# The protocols to enable.
# Available values: all, SSLv3, TLSv1.2
# SSL v2 is no longer supported
SSLProtocol all -SSLv3 -SSLv2
...
```

# Configurazione personalizzata
<a name="layers-java-config"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 2024 ed è stato disattivato sia per i clienti nuovi che per quelli esistenti. Consigliamo vivamente ai clienti di migrare i propri carichi di lavoro verso altre soluzioni il prima possibile. Se hai domande sulla migrazione, contatta il Supporto AWS Team su [AWS re:post](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

OpsWorks Stacks espone impostazioni di configurazione aggiuntive come attributi incorporati, che si trovano tutti nel namespace. `opsworks_java` Puoi utilizzare un JSON personalizzato o un file di attributi personalizzato per sostituire gli attributi integrati e specificare i valori personalizzati. Ad esempio, le versioni di JVM e Tomcat sono rappresentate dagli attributi `jvm_version` e `java_app_server_version` integrati, entrambi impostati su 7. Puoi utilizzare un JSON personalizzato o un file di attributi personalizzato che dovrai impostare (uno o entrambi) su 6. L'esempio seguente utilizza un JSON personalizzato per impostare entrambi gli attributi sul valore 6:

```
{
  "opsworks_java": {
    "jvm_version": 6,
    "java_app_server_version" : 6
  }
}
```

Per ulteriori informazioni, consulta [Utilizzo di un JSON personalizzato](workingstacks-json.md).

Un altro esempio di configurazione personalizzata consiste nell'installare un JDK personalizzato sostituendo gli attributi `use_custom_pkg_location`, `custom_pkg_location_url_debian` e `custom_pkg_location_url_rhel`. 

**Nota**  
Se sostituisci i libri di ricette integrati, dovrai aggiornare personalmente questi componenti. 

Per ulteriori informazioni sugli attributi e su come sostituirli, consulta [Sostituzione degli attributi](workingcookbook-attributes.md). Per un elenco degli attributi integrati, consulta [Attributi opsworks\$1java](attributes-recipes-java.md).

# Distribuzione di app Java
<a name="layers-java-deploy"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 2024 ed è stato disattivato sia per i clienti nuovi che per quelli esistenti. Consigliamo vivamente ai clienti di migrare i propri carichi di lavoro verso altre soluzioni il prima possibile. Se hai domande sulla migrazione, contatta il Supporto AWS Team su [AWS re:post](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

I seguenti argomenti descrivono come distribuire app su istanze di un livello di Java App Server. Gli esempi riguardano le app JSP, ma puoi utilizzare essenzialmente la stessa procedura per installare anche altri tipi di app Java.

Puoi distribuire pagine JSP da uno dei repository supportati. Se desideri distribuire file WAR, tieni presente che OpsWorks Stacks estrae automaticamente i file WAR distribuiti da un archivio Amazon S3 o HTTP, ma non da un repository Git o Subversion. Se desideri usare Git o Subversion per i file WAR, puoi procedere in uno dei seguenti modi:
+ Archivia l'archivio estratto nel repository.
+ Archivia il file WAR nel repository e utilizza un hook di distribuzione Chef per estrarre l'archivio, come descritto nell'esempio seguente.

Puoi utilizzare gli hook di distribuzione Chef per eseguire applicazioni Ruby fornite dall'utente su un'istanza in una qualsiasi delle quattro fasi di implementazione. Il nome dell'applicazione determina la fase. Di seguito è riportato un esempio di applicazione Ruby denominato `before_migrate.rb`, che estrae un file WAR distribuito da un repository Git o Subversion. Il nome associa l'applicazione all'hook di distribuzione Checkout affinché venga eseguito all'inizio dell'operazione di distribuzione, dopo la verifica del codice, ma prima della migrazione. Per ulteriori informazioni su come usare questo esempio, consulta [Utilizzo degli hook di distribuzione di Chef](workingcookbook-extend-hooks.md).

```
::Dir.glob(::File.join(release_path, '*.war')) do |archive_file|
  execute "unzip_#{archive_file}" do
    command "unzip #{archive_file}"
    cwd release_path
  end
end
```

**Nota**  
Quando distribuisci un aggiornamento per un'app JSP, Tomcat potrebbe non riconoscere l'aggiornamento e continuare invece a eseguire la versione esistente dell'app. Questo può verificarsi, ad esempio, se distribuisci l'app come file ZIP contenente solo una pagina JSP. Per assicurarti che Tomcat esegua la versione distribuita più recente, la directory root del progetto deve includere una directory WEB-INF contenente un file `web.xml`. Un file `web.xml` può includere vari tipi di contenuto, ma quello riportato di seguito è sufficiente a garantire che Tomcat riconosca gli aggiornamenti ed esegua la versione dell'app attualmente distribuita. Non devi modificare la versione per ogni aggiornamento. Tomcat riconoscerà l'aggiornamento anche se la versione non è cambiata.  

```
<context-param>
  <param-name>appVersion</param-name>
  <param-value>0.1</param-value>
</context-param>
```

**Topics**
+ [Distribuzione di un'app JSP](#layers-java-deploy-jsp)
+ [Distribuzione di un'app JSP con un database di back-end](#layers-java-deploy-jsp-db)

## Distribuzione di un'app JSP
<a name="layers-java-deploy-jsp"></a>

Per distribuire un'app JSP, specifica il nome e le informazioni relative al repository. Puoi specificare anche i domini e le impostazioni SSL. Per ulteriori informazioni su come creare un'app, consulta [Aggiunta di app](workingapps-creating.md). La procedura seguente mostra come creare e distribuire una semplice pagina JSP da un archivio pubblico di Amazon S3. Per informazioni su come utilizzare altri tipi di repository, inclusi gli archivi privati di Amazon S3, consulta. [Origine dell'applicazione](workingapps-creating.md#workingapps-creating-source)

L'esempio seguente mostra la pagina JSP in cui sono visualizzate semplicemente alcune informazioni di sistema.

```
<%@ page import="java.net.InetAddress" %>
<html>
<body>
<%
    java.util.Date date = new java.util.Date();
    InetAddress inetAddress = InetAddress.getLocalHost();
%>
The time is 
<%
    out.println( date );
    out.println("<br>Your server's hostname is "+inetAddress.getHostName());
%>
<br>
</body>
</html>
```

**Nota**  
La procedura seguente presuppone una buona familiarità con le nozioni di base di creazione degli stack, di aggiunta ai livelli e così via. Se non conosci OpsWorks Stacks, dovresti prima vedere. [Nozioni di base sugli stack Linux Chef 11](gettingstarted.md)

**Per distribuire una pagina JSP da un archivio Amazon S3**

1. [Crea uno stack con un](workingstacks-creating.md) [livello Java App Server, [aggiungi un'istanza 24 ore su 24, 7 giorni su 7](workinginstances-add.md) al livello e avvialo.](workinginstances-starting.md) 

1. Copiare il codice in un file denominato `simplejsp.jsp`, inserire il file in una cartella chiamata `simplejsp` e creare un archivio `.zip` della cartella. I nomi sono arbitrari. È possibile utilizzare qualsiasi nome file o cartella. È inoltre possibile utilizzare altri tipi di archivio, tra cui i file gzip, bzip2, tarball o Java WAR. Nota che OpsWorks Stacks non supporta archivi tar non compressi. Per distribuire più pagine JSP, includerle nello stesso archivio.

1. Carica l'archivio in un bucket Amazon S3 e rendi pubblico il file. Copiare l'URL del file per utilizzarlo in futuro. Per ulteriori informazioni su come creare bucket e caricare file, consulta [Nozioni di base su Amazon Simple Storage Service](https://docs.aws.amazon.com/AmazonS3/latest/gsg/GetStartedWithS3.html).

1. [Aggiungere un'app](workingapps-creating.md#workingapps-creating-general) allo stack e specificare le impostazioni seguenti:
   + **Nome**: `SimpleJSP`
   + **App type (Tipo di app)** - `Java`
   + **Repository type (Tipo di repository)** - `Http Archive`
   + **URL del repository**: l'URL Amazon S3 del tuo file di archivio.

   Utilizzare i valori predefiniti delle impostazioni restanti e fare clic su **Add App (Aggiungi app)** per creare l'app.

1. [Distribuisci l'app nell'istanza](workingapps-deploying.md) di Java App Server.

Adesso, puoi accedere all'URL dell'app e visualizzarla. Se non hai specificato un dominio, puoi creare un URL utilizzando l'indirizzo IP pubblico dell'istanza o il relativo nome DNS pubblico. Per ottenere l'indirizzo IP pubblico o il nome DNS pubblico di un'istanza, vai alla console OpsWorks Stacks e fai clic sul nome dell'istanza nella pagina **Istanze** per aprirne la pagina dei dettagli. 

Il resto dell'URL dipende dal nome breve dell'app, che è un nome minuscolo generato da OpsWorks Stacks dal nome dell'app che hai specificato al momento della creazione dell'app. Ad esempio, il nome breve di SimpleJSP è simplejsp. Puoi ottenere il nome breve di un'app dalla relativa pagina dei dettagli. 
+ Se il nome breve è `root`, puoi utilizzare `http://public_DNS/appname.jsp` o `http://public_IP/appname.jsp`.
+ In alternativa, puoi utilizzare `http://public_DNS/app_shortname/appname.jsp` o `http://public_IP/app_shortname/appname.jsp`. 

Se hai specificato un dominio per l'app, l'URL è `http://domain/appname.jsp`.

L'URL dell'esempio dovrebbe essere simile a `http://192.0.2.0/simplejsp/simplejsp.jsp`.

Se desideri distribuire più app nella stessa istanza, non devi usare `root` come nome breve. Questo può causare conflitti dell'URL in grado di impedire il corretto funzionamento dell'app. Al contrario, assegna un altro nome di dominio a ogni app.

## Distribuzione di un'app JSP con un database di back-end
<a name="layers-java-deploy-jsp-db"></a>

Le pagine JSP possono utilizzare un oggetto `DataSource` JDBC per la connessione a un database di back-end. Puoi creare e distribuire tale app utilizzando la procedura nella sezione precedente, con un passaggio aggiuntivo per configurare la connessione.

La seguente pagina JSP mostra come connettersi a un oggetto `DataSource`.

```
<html>
  <head>
    <title>DB Access</title>
  </head>
  <body>
    <%@ page language="java" import="java.sql.*,javax.naming.*,javax.sql.*" %>
    <%
      StringBuffer output = new StringBuffer();
      DataSource ds = null;
      Connection con = null;
      Statement stmt = null;
      ResultSet rs = null;
      try {
        Context initCtx = new InitialContext();
        ds = (DataSource) initCtx.lookup("java:comp/env/jdbc/mydb");
        con = ds.getConnection();
        output.append("Databases found:<br>");
        stmt = con.createStatement();
        rs = stmt.executeQuery("show databases");
        while (rs.next()) {
          output.append(rs.getString(1));
          output.append("<br>");
        }
      }
      catch (Exception e) {
        output.append("Exception: ");
        output.append(e.getMessage());
        output.append("<br>");
      }
      finally {
        try {
          if (rs != null) {
            rs.close();
          }
          if (stmt != null) {
            stmt.close();
          }
          if (con != null) {
            con.close();
          }
        }
        catch (Exception e) {
          output.append("Exception (during close of connection): ");
          output.append(e.getMessage());
          output.append("<br>");
        }
      }
    %>
    <%= output.toString() %>
  </body>
</html>
```

OpsWorks Stacks crea e inizializza l'`DataSource`oggetto, lo associa a un nome logico e lo registra con un servizio di denominazione JNDI (Java Naming and Directory Interface). Il nome logico completo è `java:comp/env/user-assigned-name`. Devi specificare la parte del nome assegnata dall'utente aggiungendo attributi JSON personalizzati agli attributi di configurazione e distribuzione dello stack per definire l'attributo `['opsworks_java']['datasources']`, come descritto di seguito. 

**Per distribuire una pagina JSP che si connette a un database MySQL**

1. [Crea uno stack con un](workingstacks-creating.md) [livello Java App Server, [aggiungi istanze 24 ore su 24](workinginstances-add.md), 7 giorni su 7 a ciascun livello e avvialo.](workinginstances-starting.md) 

1. Aggiungere un livello di database allo stack. I dettagli dipendono dal database utilizzato.

   [Per utilizzare un'istanza MySQL per l'esempio, aggiungi un livello [MySQL allo stack, aggiungi un'](workinglayers-db-mysql.md)istanza [24 ore su 24, 7 giorni su 7 al livello e avvialo](workinginstances-add.md).](workinginstances-starting.md#workinginstances-starting-start)

   Per utilizzare un'istanza Amazon RDS (MySQL) per l'esempio:
   + Specificare un motore di database MySQL per l'istanza.
   + Assegna i gruppi di **sicurezza AWS- OpsWorks -DB-master-Server () *security\$1group\$1id* e** **AWS- OpsWorks -Java-App-Server** () all'istanza. *security\$1group\$1id* OpsWorks Stacks crea questi gruppi di sicurezza per te quando crei il tuo primo stack nella regione.
   + Creare un database denominato `simplejspdb`.
   + Verificare che il nome utente e la password master non contengano `&` o altri caratteri che potrebbero causare un errore di Tomcat.

     In particolare durante l'avvio, Tomcat deve analizzare il file di contesto dell'app Web, ovvero un file XML che include il nome utente e la password master. Se una delle stringhe include un carattere `&`, il parser XML la tratta come un'entità XML danneggiata e genera un'eccezione di analisi che impedisce l'avvio di Tomcat. Per ulteriori informazioni sul file di contesto dell'app Web, consulta [tomcat::context](create-custom-configure.md#create-custom-configure-context).
   + [Aggiungi un driver MySQL](workingapps-connectdb.md) al livello Java App Server.
   + [Registrare l'istanza RDS](workinglayers-db-rds.md#workinglayers-db-rds-register) con lo stack. 

   Per ulteriori informazioni su come utilizzare le istanze Amazon RDS con OpsWorks Stacks, consulta. [Livello di servizio Amazon RDS](workinglayers-db-rds.md)

1. Copiare il codice di esempio in un file denominato `simplejspdb.jsp`, inserire il file in una cartella chiamata `simplejspdb` e creare un archivio `.zip` della cartella. I nomi sono arbitrari. È possibile utilizzare qualsiasi nome file o cartella. È inoltre possibile utilizzare altri tipi di archivio, tra cui i file gzip, bzip2 o tarball. Per distribuire più pagine JSP, includerle nello stesso archivio. Per informazioni su come distribuire app da altri tipi di repository, consulta [Origine dell'applicazione](workingapps-creating.md#workingapps-creating-source).

1. Carica l'archivio in un bucket Amazon S3 e rendi pubblico il file. Copiare l'URL del file per utilizzarlo in futuro. Per ulteriori informazioni su come creare bucket e caricare file, consulta [Nozioni di base su Amazon Simple Storage Service](https://docs.aws.amazon.com/AmazonS3/latest/gsg/GetStartedWithS3.html).

1. [Aggiungere un'app](workingapps-creating.md#workingapps-creating-general) allo stack e specificare le impostazioni seguenti:
   + **Nome**: `SimpleJSPDB`
   + **App type (Tipo di app)** - `Java`
   + **Tipo di origine dati**: **OpsWorks**(per un'istanza MySQL) **o** RDS (per un'istanza Amazon RDS).
   + **Istanza di **database: l'istanza** MySQL creata in precedenza, che in genere è **denominata db-master1 (mysql)**, o l'istanza Amazon RDS, che verrà denominata (mysql). *DB\$1instance\$1name***
   + **Database name (Nome del database)** - `simplejspdb`.
   + **Repository type (Tipo di repository)** - `Http Archive`
   + **URL del repository**: l'URL Amazon S3 del tuo file di archivio.

   Utilizzare i valori predefiniti delle impostazioni restanti e fare clic su **Add App (Aggiungi app)** per creare l'app.

1. Aggiungere i seguenti attributi JSON personalizzati agli attributi di configurazione dello stack, dove simplejspdb è il nome breve dell'app.

   ```
   {
     "opsworks_java": {
       "datasources": {
         "simplejspdb": "jdbc/mydb" 
       }
     }
   }
   ```

   OpsWorks Stacks utilizza questa mappatura per generare un file di contesto con le informazioni di database necessarie.

   Per ulteriori informazioni su come aggiungere attributi JSON personalizzati agli attributi di configurazione dello stack, consulta [Utilizzo di un JSON personalizzato](workingstacks-json.md).

1. [Distribuisci l'app nell'istanza](workingapps-deploying.md) di Java App Server.

Adesso, puoi utilizzare l'URL dell'app per visualizzarla. Per informazioni su come creare l'URL, consulta [Distribuzione di un'app JSP](#layers-java-deploy-jsp). 

L'URL dell'esempio dovrebbe essere simile a `http://192.0.2.0/simplejspdb/simplejspdb.jsp`.

**Nota**  
L'attributo `datasources` può contenere più attributi. Ogni attributo viene denominato con il nome breve di un'app e impostato sulla parte appropriata, assegnata dall'utente, di un nome logico. Se disponi di più app, puoi utilizzare nomi logici separati che richiedono un JSON personalizzato analogo a quello riportato di seguito.  

```
{
  "opsworks_java": {
    "datasources": {
      "myjavaapp": "jdbc/myappdb",
      "simplejsp": "jdbc/myjspdb",
      ...
    }
  }
}
```

# Node.js App Server OpsWorks Stacks Layer
<a name="workinglayers-node"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 2024 ed è stato disattivato sia per i clienti nuovi che per quelli esistenti. Consigliamo vivamente ai clienti di migrare i propri carichi di lavoro verso altre soluzioni il prima possibile. Se hai domande sulla migrazione, contatta il Supporto AWS Team su [AWS re:post](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

**Nota**  
Questo livello è disponibile solo per stack basati su Linux.

[Il livello Node.js App Server è un livello OpsWorks Stacks che fornisce un modello per le istanze che funzionano come server di applicazioni Node.js.](http://nodejs.org/) OpsWorks Stacks installa anche [Express](http://expressjs.com/), quindi le istanze del layer supportano sia le applicazioni standard che quelle Express.

**Installazione**: Node.js è installato in `/usr/local/bin/node`.

La pagina **Add Layer (Aggiungi livello)** include le opzioni di configurazione seguenti:

**Node.js version (Versione Node.js)**  
Per un elenco delle versioni attualmente supportate, consulta [OpsWorks Sistemi operativi impilati](workinginstances-os.md).

**Gruppi di sicurezza personalizzati**  
Questa impostazione viene visualizzata se hai scelto di non associare automaticamente un gruppo di sicurezza OpsWorks Stacks integrato ai tuoi livelli. Devi specificare il gruppo di sicurezza da associare al livello. Per ulteriori informazioni, consulta [Creare un nuovo stack](workingstacks-creating.md).

**Elastic Load Balancer**  
Puoi collegare un load balancer Elastic Load Balancing alle istanze del layer.

**Importante**  
[Se l'applicazione Node.js utilizza SSL, si consiglia di disabilitarla, SSLv3 se possibile, per risolvere le vulnerabilità descritte in CVE-2015-8027.](http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-8027) Per farlo, devi impostare **Node.js version (Versione Node.js)** su `0.12.9`.

## Distribuzione di app Node.js
<a name="w2ab1c14c71b9c21c21c19c17"></a>

Per informazioni dettagliate sull'implementazione di un'applicazione Node.js semplice per OpsWorks Stacks e sulla relativa distribuzione in uno stack, consulta [Creazione del primo stack Node.js](gettingstarted-node.md). In generale, le applicazioni Node.js per OpsWorks Stacks devono soddisfare le condizioni seguenti:
+ Il file principale deve essere denominato `server.js` e trovarsi nella directory radice dell'applicazione distribuita.
+ Le app [Express](http://expressjs.com/) devono includere un file `package.json` nella directory radice dell'applicazione.
+ Per impostazione predefinita, l'applicazione deve essere in ascolto sulla porta 80 (HTTP) o 443 (HTTPS).

  È possibile ascoltare su altre porte, ma il gruppo di sicurezza integrato del livello di Node.js App Server, **AWS- OpsWorks -NodeJS-App-Server**, consente il traffico utente in entrata solo verso le porte 80, 443 e 22 (SSH). [Per consentire il traffico utente in entrata verso altre porte, [crea un gruppo di sicurezza](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html) con regole in entrata appropriate e assegnalo al livello Node.js App Server.](workinglayers-basics-edit.md#workinglayers-basics-edit-security) Non modificare le regole in entrata modificando il gruppo di sicurezza predefinito. Ogni volta che crei uno stack, OpsWorks Stacks sovrascrive i gruppi di sicurezza integrati con le impostazioni standard, quindi tutte le modifiche apportate andranno perse.

**Nota**  
OpsWorks Stacks imposta la variabile di ambiente PORT su 80 (impostazione predefinita) o 443 (se abiliti SSL), in modo da poter utilizzare il codice seguente per ascoltare le richieste.  

```
app.listen(process.env.PORT);
```

Se [configuri un'app Node.js per supportare SSL](workingapps-creating.md#workingapps-creating-domain-ssl), devi specificare la chiave e i certificati. OpsWorks Stacks inserisce i dati per ogni istanza del server delle applicazioni come file separati nella `/srv/www/app_shortname/shared/config` directory, come segue.
+ `ssl.crt`— il certificato SSL.
+ `ssl.key`— la chiave SSL.
+ `ssl.ca`— il certificato della catena, se ne hai specificato uno.

La tua applicazione è in grado di ottenere la chiave SSL e i certificati da tali file.

# PHP App Server OpsWorks Stacks Layer
<a name="workinglayers-php"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 2024 ed è stato disabilitato sia per i clienti nuovi che per quelli esistenti. Consigliamo vivamente ai clienti di migrare i propri carichi di lavoro verso altre soluzioni il prima possibile. Se hai domande sulla migrazione, contatta il Supporto AWS Team su [AWS re:post](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

**Nota**  
Questo livello è disponibile solo per stack basati su Linux.

Il livello PHP App Server è un livello OpsWorks Stacks che fornisce un modello per le istanze che funzionano come server di applicazioni PHP. Il livello PHP App Server è basato su [Apache2](http://httpd.apache.org/) con e non ha opzioni di configurazione standard. `mod_php` La versione PHP e Apache dipende dal [sistema operativo](workinginstances-os.md) che specifichi per le istanze del livello. 


| Sistema operativo | Versione PHP | Versione Apache | 
| --- | --- | --- | 
| Amazon Linux 2018.03 | 5.3 | 2.2 | 
| Amazon Linux 2017.09 | 5.3 | 2.2 | 
| Amazon Linux 2017.03 | 5.3 | 2.2 | 
| Amazon Linux 2016.09 | 5.3 | 2.2 | 
| Amazon Linux 2016.03 | 5.3 | 2.2 | 
| Amazon Linux 2015.09 | 5.3 | 2.2 | 
| Amazon Linux 2015.03 | 5.3 | 2.2 | 
| Amazon Linux 2014.09 | 5.3 | 2.2 | 
| Ubuntu 14.04 LTS | 5.5 | 2.4 | 

**Installazione**: OpsWorks Stacks utilizza il programma di installazione del pacchetto dell'istanza per installare Apache2 e nelle relative posizioni predefinite. `mod_php` Per ulteriori informazioni sull'installazione, consulta [Apache](http://httpd.apache.org/).

La pagina **Add Layer (Aggiungi livello)** include le opzioni di configurazione seguenti:

**Gruppi di sicurezza personalizzati**  
Questa impostazione viene visualizzata se scegli di non associare automaticamente un gruppo di sicurezza OpsWorks Stacks integrato ai tuoi livelli. Devi specificare il gruppo di sicurezza da associare al livello. Per ulteriori informazioni, consulta [Creare un nuovo stack](workingstacks-creating.md).

**Elastic Load Balancer**  
Puoi collegare un load balancer Elastic Load Balancing alle istanze del layer.

Puoi modificare alcune impostazioni di configurazione di Apache utilizzando un JSON personalizzato o un file di attributi personalizzato. Per ulteriori informazioni, consulta [Sostituzione degli attributi](workingcookbook-attributes.md). Per un elenco degli attributi Apache che è possibile sostituire, consulta [Attributi apache2](attributes-recipes-apache.md).

Per ottenere un esempio di come distribuire un'app PHP, nonché di come connettere l'app a un database di back-end, consulta [Nozioni di base sugli stack Linux Chef 11](gettingstarted.md).

**Importante**  
[Se la tua applicazione PHP utilizza SSL, ti consigliamo di disabilitarla, SSLv3 se possibile, per risolvere le vulnerabilità descritte in CVE-2014-3566.](http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3566) A tale scopo, devi modificare l'impostazione `SSLProtocol` nel file `ssl.conf` del server Apache. Per ulteriori informazioni su come modificare questa impostazione, consulta [Disabilitazione per SSLv3 i server Apache](layers-java.md#layers-java-sslv3).

# Rails OpsWorks App Server Stacks Layer
<a name="workinglayers-rails"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 2024 ed è stato disabilitato sia per i clienti nuovi che per quelli esistenti. Consigliamo vivamente ai clienti di migrare i propri carichi di lavoro verso altre soluzioni il prima possibile. Se hai domande sulla migrazione, contatta il Supporto AWS Team su [AWS re:post](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

**Nota**  
Questo livello è disponibile solo per stack basati su Linux.

Il livello Rails App Server è un livello OpsWorks Stacks che fornisce un modello per le istanze che funzionano come server di applicazioni Rails.

**Installazione**: OpsWorks Stacks utilizza il programma di installazione dei pacchetti dell'istanza per installare i pacchetti del server nelle loro posizioni predefinite. Per ulteriori informazioni sull' Apache/Passenger installazione, consulta [Phusion](https://www.phusionpassenger.com/) Passenger. Per ulteriori informazioni sulla registrazione, consulta la pagina relativa ai [file di log](http://httpd.apache.org/docs/2.2/logs.html). Per ulteriori informazioni sull' Nginx/Unicorn installazione, consulta [Unicorn](http://unicorn.bogomips.org/).

La pagina **Add Layer (Aggiungi livello)** include le opzioni di configurazione facoltative seguenti.

**Ruby Version (Versione Ruby)**  
La versione di Ruby che verrà utilizzata dalle applicazioni. Il valore predefinito è 2.3.  
Puoi anche specificare la tua versione preferita di Ruby [sostituendo l'attributo `[:opsworks][:ruby_version]`](workingcookbook-attributes.md).  
OpsWorks Stacks installa un pacchetto Ruby separato che può essere utilizzato dalle ricette e dall'agent di istanza. Per ulteriori informazioni, consulta [Versioni di Ruby](workingcookbook-ruby.md).

**Stack Rails**  
Lo stack Rails predefinito è [Apache2](http://httpd.apache.org/) con [Phusion Passenger](https://www.phusionpassenger.com/). Puoi utilizzare anche [Nginx](http://nginx.org/en/) con [Unicorn](http://unicorn.bogomips.org/).  
Se utilizzi Nginx e Unicorn, devi aggiungere il gem unicorn al Gemfile dell'app, come illustrato nell'esempio seguente:  

```
source 'https://rubygems.org'
gem 'rails', '3.2.15'
...
# Use unicorn as the app server
gem 'unicorn'
...
```

**Passenger Version (Versione Passenger)**  
Se hai specificato Apache2/Passenger, devi specificare la versione di Passenger. Il valore predefinito è 5.0.28.

**Rubygems Version (Versione Rubygems)**  
La versione predefinita di [Rubygems](http://rubygems.org/) è la 2.5.1.

**Install and Manage Bundler (Installa e gestisci Bundler)**  
Consente di scegliere se installare e gestire [Bundler](http://gembundler.com/). Il valore predefinito è **Yes (Sì)**.

**Bundler version (Versione Bundler)**  
La versione predefinita di Bundler è la 1.12.5.

**Gruppi di sicurezza personalizzati**  
Questa impostazione viene visualizzata se hai scelto di non associare automaticamente un gruppo di sicurezza OpsWorks Stacks integrato ai tuoi livelli. Devi specificare il gruppo di sicurezza da associare al livello. Per ulteriori informazioni, consulta [Creare un nuovo stack](workingstacks-creating.md).

**Elastic Load Balancer**  
Puoi collegare un load balancer Elastic Load Balancing alle istanze del layer.

Puoi modificare alcune impostazioni di configurazione utilizzando un JSON personalizzato o un file di attributi personalizzato. Per ulteriori informazioni, consulta [Sostituzione degli attributi](workingcookbook-attributes.md). Per un elenco degli attributi Apache, Nginx, Passenger e Unicorn Phusion che possono essere sostituiti, consulta [Attributi dei libri di ricette predefiniti](attributes-recipes.md).

**Importante**  
[Se l'applicazione Ruby on Rails utilizza SSL, si consiglia di disabilitarla, SSLv3 se possibile, per risolvere le vulnerabilità descritte in CVE-2014-3566.](http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3566) Per ulteriori informazioni, consulta [Disabilitazione per i server Rails SSLv3](#workinglayers-rails-sslv3).

**Topics**
+ [Disabilitazione per i server Rails SSLv3](#workinglayers-rails-sslv3)
+ [Connessione a un database](#workinglayers-rails-db)
+ [Distribuzione di app Ruby on Rails](#workinglayers-rails-deploy)

## Disabilitazione per i server Rails SSLv3
<a name="workinglayers-rails-sslv3"></a>

Per disabilitarla SSLv3 per i server Rails, aggiorna l'impostazione della **versione Ruby** del layer alla 2.1 o superiore, che installa Ruby 2.1.4 o superiore come versione utilizzata dalle applicazioni.
+ Aggiorna l'impostazione **Ruby Version (Versione Ruby)** del livello su 2.1 o versione successiva.
+ Aggiorna il file di configurazione per il tuo stack Rails, come segue.

**Apache con Phusion Passenger**  
Aggiorna l'impostazione `SSLProtocol` nel file `ssl.conf` del server Apache, come descritto in [Disabilitazione per SSLv3 i server Apache](layers-java.md#layers-java-sslv3).

**Nginx con Unicorn**  
Aggiungi una direttiva `ssl_protocols` esplicita al file `nginx.conf` del server Nginx. Per disabilitarlo SSLv3, sovrascrivi il file modello `nginx.conf.erb` del [ricettario nginx](https://github.com/aws/opsworks-cookbooks/tree/release-chef-11.10/nginx) integrato, che le ricette di configurazione del livello Rails App Server utilizzano per `nginx.conf` creare, e aggiungi la seguente direttiva:  

```
ssl_protocols TLSv1.2;
```
Per ulteriori informazioni su come configurare `nginx.conf`, consulta la pagina relativa alla [configurazione di server HTTPS](http://nginx.org/en/docs/http/configuring_https_servers.html). Per ulteriori informazioni su come sostituire un modello integrato, consulta [Utilizzo di modelli personalizzati ](workingcookbook-template-override.md).

## Connessione a un database
<a name="workinglayers-rails-db"></a>

[Quando distribuisci un'app, OpsWorks Stacks crea un nuovo `database.yml` file utilizzando le informazioni degli attributi dell'app. `deploy`](workingcookbook-json.md#workingcookbook-json-deploy) Se [colleghi un'istanza MySQL o Amazon](workingapps-creating.md#workingapps-creating-data) RDS all' OpsWorks app, Stacks aggiunge le informazioni `deploy` di connessione agli attributi, in `database.yml` modo che contengano automaticamente i dati di connessione corretti. 

Se un'app non dispone di un database allegato, per impostazione predefinita, OpsWorks Stacks non aggiunge alcuna informazione di connessione agli `deploy` attributi e non crea. `database.yml` Se desideri utilizzare un database diverso, puoi usare un JSON personalizzato per aggiungere attributi di database agli attributi `deploy` dell'app con le informazioni di connessione. Gli attributi sono tutti sotto`["deploy"]["appshortname"]["database"]`, *appshortname* dov'è il nome breve dell'app, che OpsWorks Stacks genera dal nome dell'app. I valori specificati in un JSON personalizzato sostituiscono le impostazioni predefinite. Per ulteriori informazioni, consulta [Aggiunta di app](workingapps-creating.md).

OpsWorks Stacks incorpora i seguenti valori di [`[:...][:database]`](attributes-json-deploy.md#attributes-json-deploy-app-db)attributo in. `database.yml` Gli attributi richiesti dipendono dal particolare database, ma è necessario disporre di un `host` attributo altrimenti OpsWorks Stacks non verrà creato. `database.yml`
+ `[:adapter] (String)`— L'adattatore del database, ad esempio`mysql`.
+ `[:database]`(String) — Il nome del database.
+ `[:encoding]`(String) — La codifica, che in genere è impostata su. `utf8`
+ `[:host]`(String) — L'URL dell'host, ad esempio`railsexample.cdlqlk5uwd0k.us-west-2.rds.amazonaws.com`.
+ `[:reconnect]`(Boolean) — Indica se l'applicazione deve riconnettersi se la connessione non esiste più.
+ `[:password]`(String) — La password del database.
+ `[:port]` (numero). — Il numero di porta del database. Utilizza questo attributo per sostituire il numero di porta predefinito, che viene impostato dall'adattatore.
+ `[:username]`(String) — Il nome utente del database.

L'esempio seguente mostra un JSON personalizzato per un'app il cui nome breve è *myapp*.

```
{
  "deploy" : {
    "myapp" : {
      "database" : {
        "adapter" : "adapter",
        "database" : "databasename",
        "host" : "host",
        "password" : "password",
        "port" : portnumber
        "reconnect" : true/false,
        "username" : "username"
      }
    }
  }
}
```

Per ulteriori informazioni su come specificare un JSON personalizzato, consulta [Utilizzo di un JSON personalizzato](workingstacks-json.md). Per visualizzare il modello utilizzato per creare `database.yml` (`database.yml.erb`), vai al [repository del libro di ricette integrato](https://github.com/aws/opsworks-cookbooks/tree/release-chef-11.4/rails/templates/default).

## Distribuzione di app Ruby on Rails
<a name="workinglayers-rails-deploy"></a>

Puoi distribuire app Ruby on Rails da uno qualsiasi dei repository supportati. Quanto segue mostra come distribuire un'app Ruby on Rails di esempio su un server che esegue uno Apache/Passenger stack Rails. Il codice di esempio è archiviato in un GitHub archivio pubblico, ma la procedura di base è la stessa per gli altri repository supportati. Per ulteriori informazioni su come creare e distribuire app, consulta [App](workingapps.md). [Per visualizzare il codice di esempio, che include commenti dettagliati, vai su -share-app. https://github.com/awslabs/ opsworks-demo-rails-photo](https://github.com/awslabs/opsworks-demo-rails-photo-share-app) 

**Per distribuire un'app Ruby on Rails da un repository GitHub**

1. [Crea uno stack con un](workingstacks-creating.md) [layer Rails App Server Apache/Passenger come stack Rails, [aggiungi un'istanza 24 ore su 24, 7 giorni su 7](workinginstances-add.md) al layer e avvialo.](workinginstances-starting.md) 

1. Una volta che l'istanza è online, [aggiungere un'app](workingapps-creating.md#workingapps-creating-general) allo stack e specificare le impostazioni seguenti:
   + **Name (Nome)** - Il nome preferito. Nell'esempio viene utilizzato `PhotoPoll`.

     OpsWorks [Stacks utilizza questo nome per scopi di visualizzazione e genera un nome breve per uso interno e per identificare l'app negli attributi di configurazione e distribuzione dello stack.](workingcookbook-json.md) Ad esempio, il nome PhotoPoll breve è photopoll.
   + **App type (Tipo di app)** - **Ruby on Rails**.
   + ** Rails environment (Ambiente Rails)** - Gli ambienti disponibili sono determinati dall'applicazione.

     L'app di esempio ne ha tre: **development**, **test** e **production**. In questo esempio impostare l'ambiente su **development**. Vedere il codice di esempio per le descrizioni di ciascun ambiente.
   + Tipo di **repository: qualsiasi tipo** di repository supportato. Specificare `Git` per questo esempio
   + **Repository URL (URL repository)** - Il repository da cui dovrebbe essere distribuito il codice.

     In questo esempio impostare l'URL su **git://github.com/awslabs/opsworks-demo-rails-photo-share-app**.

   Utilizzare i valori predefiniti delle impostazioni restanti e fare clic su **Add App (Aggiungi app)** per creare l'app.

1. [Distribuisci l'app sull'istanza](workingapps-deploying.md) di Rails App Server.

1. Al termine della distribuzione, vai alla pagina **Istanze** e fai clic sull'indirizzo IP pubblico dell'istanza di Rails App Server. Verrà visualizzato un codice analogo al seguente:

![\[Congratulatory message for deploying first app with AWS OpsWorks, with stylized logo.\]](http://docs.aws.amazon.com/it_it/opsworks/latest/userguide/images/rails_example.png)


# Static Web Server OpsWorks Stacks Layer
<a name="workinglayers-static"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 2024 ed è stato disabilitato sia per i clienti nuovi che per quelli esistenti. Consigliamo vivamente ai clienti di migrare i propri carichi di lavoro verso altre soluzioni il prima possibile. Se hai domande sulla migrazione, contatta il Supporto AWS Team su [AWS re:post](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

**Nota**  
Questo livello è disponibile solo per stack basati su Linux.

Il livello Static Web Server è un livello OpsWorks Stacks che fornisce un modello per le istanze per la pubblicazione di pagine HTML statiche, che possono includere script lato client. Questo livello è basato su [Nginx](http://nginx.org/en/).

**Installazione**: Nginx è installato in `/usr/sbin/nginx`.

La pagina **Add Layer (Aggiungi livello)** include le opzioni di configurazione seguenti:

**Gruppi di sicurezza personalizzati**  
Questa impostazione viene visualizzata se si sceglie di non associare automaticamente un gruppo di sicurezza OpsWorks Stacks integrato ai livelli. Devi specificare il gruppo di sicurezza da associare al livello. Per ulteriori informazioni, consulta [Creare un nuovo stack](workingstacks-creating.md).

**Elastic Load Balancer**  
Puoi collegare un load balancer Elastic Load Balancing alle istanze del layer.

Puoi modificare alcune impostazioni di configurazione di Nginx utilizzando un JSON personalizzato o un file di attributi personalizzato. Per ulteriori informazioni, consulta [Sostituzione degli attributi](workingcookbook-attributes.md). Per un elenco degli attributi Apache che è possibile sostituire, consulta [Attributi nginx](attributes-recipes-nginx.md).

**Importante**  
[Se la tua applicazione web utilizza SSL, ti consigliamo di disabilitarla, SSLv3 se possibile, per risolvere le vulnerabilità descritte in CVE-2014-3566.](http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3566)   
Per disabilitarlo SSLv3, è necessario modificare il file del server Nginx. `nginx.conf` Per fare ciò, sovrascrivi il file modello del [ricettario nginx](https://github.com/aws/opsworks-cookbooks/tree/release-chef-11.10/nginx) integrato, che le ricette `nginx.conf.erb` di configurazione del livello Rails App Server utilizzano per `nginx.conf` creare, e aggiungi la seguente direttiva:  

```
ssl_protocols TLSv1.2;
```
Per ulteriori informazioni su come configurare `nginx.conf`, consulta la pagina relativa alla [configurazione di server HTTPS](http://nginx.org/en/docs/http/configuring_https_servers.html). Per ulteriori informazioni su come sostituire un modello integrato, consulta [Utilizzo di modelli personalizzati ](workingcookbook-template-override.md).

## Riferimento al livello del cluster ECS
<a name="w2ab1c14c71b9c21c23"></a>

**Nota**  
Questo livello è disponibile solo per stack basati su Linux.

Un livello ECS Cluster rappresenta un cluster [Amazon Elastic Container Service (Amazon ECS) e semplifica la gestione del cluster](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/Welcome.html).

**Short name (Nome breve):** ecs-cluster

**Compatibilità:** un livello di [servizio Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/Welcome.html) è compatibile solo con livelli personalizzati

**Porte aperte:** ECS Cluster consente l'accesso pubblico alla porta 22 (SSH)

**Autoassign Elastic IP addresses (Assegnazione automatica indirizzi IP elastici):** disattivata per impostazione predefinita

**Default EBS volume (Volume EBS predefinito):** no

**Gruppo di sicurezza predefinito:** AWS-OpsWorks-ECS-Cluster

**Configurazione:** per configurare un livello di cluster ECS, è necessario specificare quanto segue:
+ Se assegnare automaticamente indirizzi IP pubblici o indirizzi IP elastici alle istanze di container
+ Il profilo dell'istanza per l'istanza di container 

**Setup recipes (Ricette di impostazione):**
+  opsworks\$1initial\$1setup
+ ssh\$1host\$1keys
+ ssh\$1users
+ mysql::client
+ dependencies
+ ebs
+ opsworks\$1ganglia::client
+ opsworks\$1ecs::setup

**Configure recipes (Ricette di configurazione):**
+ opsworks\$1ganglia::configure-client
+ ssh\$1users
+ mysql::client
+ agent\$1version
+ opsworks\$1ecs::configure

**Deploy recipes (Ricette di distribuzione):**
+ deploy::default
+ opsworks\$1ecs::deploy 

**Undeploy recipes (Ricette di annullamento distribuzione):**
+ opsworks\$1ecs::undeploy 

**Shutdown recipes (Ricette di arresto):**
+ opsworks\$1shutdown::default
+ opsworks\$1ecs::shutdown

**Installation (Installazione):**
+ OpsWorks Stacks utilizza il programma di installazione del pacchetto dell'istanza per installare Docker nelle posizioni predefinite
+ Il registro Chef per l'evento Setup rileva se l'agente Amazon ECS è stato installato correttamente. Altrimenti, i log forniti da OpsWorks Stacks non includono informazioni sui log degli errori di Amazon ECS. Per ulteriori informazioni su come gestire gli errori di Amazon ECS, consulta [Amazon](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/troubleshooting.html) ECS Troubleshooting.

# Documentazione di riferimento sui livelli personalizzati
<a name="layers-other-custom"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 2024 ed è stato disabilitato sia per i clienti nuovi che per quelli esistenti. Consigliamo vivamente ai clienti di migrare i propri carichi di lavoro verso altre soluzioni il prima possibile. Se hai domande sulla migrazione, contatta il Supporto AWS Team su [AWS re:post](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

Se i livelli standard non rispondono alle specifiche esigenze, puoi creare un livello personalizzato. Uno stack può avere più livelli personalizzati. Per impostazione predefinita, il livello personalizzato esegue un gruppo limitato di ricette standard che supportano le funzionalità di base. Le funzionalità principali del livello vengono quindi implementate tramite un set di ricette Chef personalizzate per ciascun evento del ciclo di vita appropriato per impostare e configurare il software del livello e così via. Le ricette personalizzate vengono aggiunte alle ricette OpsWorks Stacks standard per ogni evento. 

**Short name (Nome breve):** definito dall'utente; ciascun livello personalizzato di uno stack deve avere un nome breve diverso

**Open ports (Porte aperte):** per impostazione predefinita, un livello server personalizzato apre l'accesso pubblico alle porte 22 (SSH), 80 (HTTP), 443 (HTTPS) e a tutte le porte dei livelli dei server di applicazioni Rails e PHP dello stack

**Autoassign Elastic IP Addresses (Assegnazione automatica indirizzi IP elastici):** disattivata per impostazione predefinita

**Default EBS volume (Volume EBS predefinito):** no

**Gruppo di sicurezza predefinito:** AWS-OpsWorks-Custom-Server

**Compatibility (Compatibilità):** i livelli personalizzati sono compatibili con i seguenti livelli: personalizzato, db-master, lb, memcached, monitoring-master, nodejs-app, php-app, rails-app e web

**Configuration (Configurazione):** per configurare un livello personalizzato, è necessario specificare quanto segue:
+ Il nome del livello
+ Il nome breve del livello, che identifica quest'ultimo nelle ricette Chef e devono includere solo lettere (a-z) e numeri

Per gli stack Linux, il livello personalizzato utilizza le seguenti ricette.

**Setup recipes (Ricette di impostazione):**
+  opsworks\$1initial\$1setup
+ ssh\$1host\$1keys
+ ssh\$1users
+ mysql::client
+ dependencies
+ ebs
+ opsworks\$1ganglia::client

**Configure recipes (Ricette di configurazione):**
+ opsworks\$1ganglia::configure-client
+ ssh\$1users
+ agent\$1version 

**Deploy recipes (Ricette di distribuzione):**
+ deploy::default

**Shutdown recipes (Ricette di arresto):**
+ opsworks\$1shutdown::default

# Documentazione di riferimento su altri livelli
<a name="layers-other"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 2024 ed è stato disabilitato sia per i clienti nuovi che per quelli esistenti. Consigliamo vivamente ai clienti di migrare i propri carichi di lavoro verso altre soluzioni il prima possibile. Se hai domande sulla migrazione, contatta il Supporto AWS Team su [AWS re:post](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

OpsWorks Stacks supporta anche i seguenti livelli.

**Topics**
+ [Ganglia Layer Reference](layers-other-ganglia.md)
+ [Riferimento al livello Memcached](layers-other-memcached.md)

# Ganglia Layer Reference
<a name="layers-other-ganglia"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 2024 ed è stato disattivato sia per i clienti nuovi che per quelli esistenti. Consigliamo vivamente ai clienti di migrare i propri carichi di lavoro verso altre soluzioni il prima possibile. Se hai domande sulla migrazione, contatta il Supporto AWS Team su [AWS re:post](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

**Nota**  
Questo livello è disponibile solo per stack basati su Linux.

Un livello Ganglia supporta [Ganglia](http://ganglia.sourceforge.net/), un sistema di monitoraggio distribuito che gestisce l'archiviazione e la visualizzazione delle metriche delle istanze. È concepito per funzionare con topologie di istanza gerarchiche, il che lo rende particolarmente utile per gruppi di istanze. Ganglia dispone di due componenti di base:
+ Un client a sovraccarico ridotto, che è installato in ogni istanza dello stack e invia i parametri al master.
+ Un master, che raccoglie le metriche dei clienti e le archivia su un volume Amazon EBS. Visualizza inoltre i parametri su una pagina Web.

OpsWorks Stacks dispone di un agente di monitoraggio Ganglia su ogni istanza gestita. Quando aggiungi un layer Ganglia allo stack e lo avvii, gli agenti Ganglia di ogni istanza segnalano le metriche all'istanza Ganglia. Per usare Ganglia, aggiungi un livello Ganglia con un'istanza allo stack. I dati sono accessibili tramite il back-end di Ganglia presso l'indirizzo IP del master. Puoi fornire ulteriori definizioni per i parametri scrivendo ricette Chef. 

**Short name (Nome breve):** monitoring-master

**Compatibilità:** un livello Ganglia è compatibile con i seguenti livelli: custom, db-master, memcached, php-app, rails-app.

**Open ports (Porte aperte):** Load-Balancer consente l'accesso pubblico alle porte 22 (SSH), 80 (HTTP) e 443 (HTTPS).

**Autoassign Elastic IP addresses (Assegnazione automatica indirizzi IP elastici):** disattivata per impostazione predefinita

**Default EBS volume (Volume EBS predefinito):** sì, su `/vol/ganglia`

** AWS-OpsWorks-Monitoring-MasterGruppo di** sicurezza predefinito: -Server

**Configurazione:** per configurare un layer Ganglia, è necessario specificare quanto segue:
+ L'URI che fornisce l'accesso ai grafici di monitoraggio. Il valore predefinito è http://*DNSName*/ganglia, dove *DNSName* è il nome DNS dell'istanza Ganglia.
+ Un nome utente e password che controllano l'accesso alle statistiche di monitoraggio.

**Setup recipes (Ricette di impostazione):**
+ opsworks\$1initial\$1setup
+ ssh\$1host\$1keys
+ ssh\$1users
+ mysql::client
+ dependencies
+ ebs
+ opsworks\$1ganglia::client
+ opsworks\$1ganglia::server 

**Configure recipes (Ricette di configurazione):**
+ opsworks\$1ganglia::configure-client
+ ssh\$1users
+ agent\$1version
+ opsworks\$1ganglia::configure-server 

**Deploy recipes (Ricette di distribuzione):**
+ deploy::default
+ opsworks\$1ganglia::configure-server
+ opsworks\$1ganglia::deploy 

**Shutdown recipes (Ricette di arresto):**
+ opsworks\$1shutdown::default
+ apache2::stop 

**Installation (Installazione):**
+ Il client di Ganglia è installato in: `/etc/ganglia`.
+ Il front-end Web di Ganglia è installato in: `/usr/share/ganglia-webfrontend`.
+ Il logtailer di Ganglia è installato in: `/usr/share/ganglia-logtailer`.

# Riferimento al livello Memcached
<a name="layers-other-memcached"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 2024 ed è stato disabilitato sia per i clienti nuovi che per quelli esistenti. Consigliamo vivamente ai clienti di migrare i propri carichi di lavoro verso altre soluzioni il prima possibile. Se hai domande sulla migrazione, contatta il Supporto AWS Team su [AWS re:post](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

**Nota**  
Questo livello è disponibile solo per stack basati su Linux.

[Memcached](http://memcached.org/) è un sistema distribuito di caching su memoria per dati arbitrari. Velocizza i siti Web eseguendo il caching nella RAM di stringhe e oggetti come chiavi e valori per ridurre il numero di volte in cui un'origine dati esterna deve essere letta. 

Per utilizzare Memcached in uno stack, crea un layer Memcached e aggiungi una o più istanze, che funzionano come server Memcached. Le istanze installano automaticamente Memcached e le altre istanze dello stack sono in grado di accedere e utilizzare i server Memcached. Se si utilizza un livello Rails App Server, OpsWorks Stacks inserisce automaticamente un file di configurazione nella directory di `memcached.yml` configurazione di ogni istanza del livello. È possibile ottenere il server Memcached e il numero di porta da questo file.

**Short name (Nome breve):** memcached

**Compatibilità:** un layer Memcached è compatibile con i seguenti livelli: custom, db-master, lb, monitoring-master, nodejs-app, php-app, rails-app e web.

**Porte aperte:** un livello Memcached consente l'accesso pubblico alla porta 22 (SSH) e a tutte le porte dei server Web dello stack, dei server personalizzati e dei server delle applicazioni Rails, PHP e Node.js.

**Autoassign Elastic IP addresses (Assegnazione automatica indirizzi IP elastici):** disattivata per impostazione predefinita

**Default EBS volume (Volume EBS predefinito):** no

**Gruppo di sicurezza predefinito:** AWS-OpsWorks-Memcached-Server 

Per configurare un layer Memcached, è necessario specificare la dimensione della cache, in MB.

**Setup recipes (Ricette di impostazione):**
+ opsworks\$1initial\$1setup
+ ssh\$1host\$1keys
+ ssh\$1users
+ mysql::client
+ dependencies
+ ebs
+ opsworks\$1ganglia::client
+ memcached 

**Configure recipes (Ricette di configurazione):**
+ opsworks\$1ganglia::configure-client
+ ssh\$1users
+ agent\$1version 

**Deploy recipes (Ricette di distribuzione):**
+ deploy::default

**Shutdown recipes (Ricette di arresto):**
+ opsworks\$1shutdown::default
+ memcached::stop

**Installation (Installazione):**
+ OpsWorks Stacks utilizza il programma di installazione del pacchetto dell'istanza per installare Memcached e i relativi file di registro nelle posizioni predefinite.

# Altri livelli
<a name="workinglayers-other"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 2024 ed è stato disattivato sia per i clienti nuovi che per quelli esistenti. Consigliamo vivamente ai clienti di migrare i propri carichi di lavoro verso altre soluzioni il prima possibile. Se hai domande sulla migrazione, contatta il Supporto AWS Team su [AWS re:post](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

**Nota**  
Questi livelli sono disponibili solo per stack Chef 11 e stack basati su Linux di versioni precedenti.

OpsWorks Stacks supporta anche i layer Ganglia e Memcached.

**Topics**
+ [Ganglia Layer](workinglayers-ganglia.md)
+ [Memcached](workinglayers-mem.md)

# Ganglia Layer
<a name="workinglayers-ganglia"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 2024 ed è stato disattivato sia per i clienti nuovi che per quelli esistenti. Consigliamo vivamente ai clienti di migrare i propri carichi di lavoro verso altre soluzioni il prima possibile. Se hai domande sulla migrazione, contatta il Supporto AWS Team su [AWS re:post](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

**Nota**  
Questo livello è disponibile solo per stack Chef 11 e stack basati su Linux di versioni precedenti.

OpsWorks Stacks invia tutte le metriche relative all'istanza e al volume ad [Amazon CloudWatch](https://aws.amazon.com/documentation/cloudwatch/), semplificando la visualizzazione di grafici e l'impostazione di allarmi per aiutarti a risolvere i problemi e intraprendere azioni automatiche in base allo stato delle tue risorse. Puoi anche utilizzare il layer Ganglia OpsWorks Stacks per ulteriori opzioni di monitoraggio delle applicazioni, come la memorizzazione delle metriche scelte.

[Il livello Ganglia è un modello per un'istanza che monitora lo stack utilizzando il monitoraggio distribuito di Ganglia.](http://ganglia.sourceforge.net/) Uno stack di solito ha una sola istanza di Ganglia. Il livello Ganglia include le seguenti impostazioni di configurazione opzionali:

**Ganglia URL (URL Ganglia)**  
Percorso dell'URL della pagina delle statistiche. L'URL completo è http://*DNSName**URLPath*, dove *DNSName* è il nome DNS dell'istanza associata. Il *URLPath* valore predefinito è «/ganglia» che corrisponde a qualcosa come: http://ec2-54-245-151-7.us-west-2.compute.amazonaws.com/ganglia.

**Ganglia user name (Nome utente Ganglia)**  
Nome utente per la pagina Web relativa alle statistiche. È necessario fornire il nome utente quando si visualizza la pagina. Il valore predefinito è «opsworks». 

**Ganglia password (Password Ganglia)**  
Password che controlla l'accesso alle pagina Web relativa alle statistiche. Devi fornire la password quando visualizzi la pagina. Il valore predefinito è una stringa generata casualmente.   
Registra la password per un uso successivo; OpsWorks Stacks non consente di visualizzare la password dopo aver creato il layer. Tuttavia, puoi aggiornare la password. A tale scopo, passa alla pagina Edit (Modifica) del livello e fai clic su **Update password (Aggiorna password)**.

**Gruppi di sicurezza personalizzati**  
Questa impostazione viene visualizzata se si sceglie di non associare automaticamente un gruppo di sicurezza OpsWorks Stacks integrato ai livelli. Devi specificare il gruppo di sicurezza da associare al livello. Per ulteriori informazioni, consulta [Creare un nuovo stack](workingstacks-creating.md).

**Elastic Load Balancer**  
Puoi collegare un load balancer Elastic Load Balancing alle istanze del layer.

**Importante**  
[Se lo stack include un layer Ganglia, ti consigliamo di disabilitarlo, SSLv3 se possibile, per risolvere le vulnerabilità descritte in CVE-2014-3566.](http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3566) A tale scopo, devi sostituire il modello `ssl.conf.erb` del server Apache per modificare l'impostazione `SSLProtocol`. Per informazioni dettagliate, vedi [Disabilitazione per SSLv3 i server Apache](layers-java.md#layers-java-sslv3).

## Visualizza le statistiche di Ganglia
<a name="w2ab1c14c71b9c21c29c11c15"></a>

OpsWorks Le ricette Stacks installano un client Ganglia a basso costo su ogni istanza. Se lo stack include un livello Ganglia, il client Ganglia inizia automaticamente a segnalare a Ganglia non appena l'istanza è online. Ganglia utilizza i dati del client per calcolare una serie di statistiche e visualizza i risultati graficamente sulla sua pagina web dedicata alle statistiche.

**Per visualizzare le statistiche Ganglia**

1. Nella pagina **Layer**, fate clic su Ganglia per aprire la pagina dei dettagli del layer.

1. Nel riquadro di navigazione fare clic su **Instances (Istanze)**. In **Ganglia**, fate clic sul nome dell'istanza.

1.  Copiare il nome dell'istanza visualizzato nel campo **Public DNS (DNS pubblico)**.

1. Usa il nome DNS per costruire l'URL delle statistiche, che sarà simile a: http://ec2-54-245-151-7.us-west-2.compute.amazonaws.com/ganglia.

1. Incollare l'URL completo nel browser, passare alla pagina corrispondente e immettere il nome utente e la password Ganglia per visualizzare la pagina. Di seguito è riportato un esempio.   
![\[ShortStack Cluster Report dashboard showing system metrics and load graph for the past hour.\]](http://docs.aws.amazon.com/it_it/opsworks/latest/userguide/images/ganglia_stats.png)

# Memcached
<a name="workinglayers-mem"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 2024 ed è stato disabilitato sia per i clienti nuovi che per quelli esistenti. Consigliamo vivamente ai clienti di migrare i propri carichi di lavoro verso altre soluzioni il prima possibile. Se hai domande sulla migrazione, contatta il Supporto AWS Team su [AWS re:post](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

**Nota**  
Questo livello è disponibile solo per stack Chef 11 e stack basati su Linux di versioni precedenti.

Un livello Memcached è un livello OpsWorks Stacks che fornisce un modello per le istanze che funzionano come server Memcached, un sistema distribuito di memorizzazione nella [cache della memoria](http://memcached.org/) per dati arbitrari. Il livello Memcached include le seguenti impostazioni di configurazione.

**Allocated memory (MB) (Memoria allocata (MB))**  
(Opzionale) Quantità di memoria cache, espressa in MB, per ogni istanza del livello. Il valore predefinito è 512 MB.

**Gruppi di sicurezza personalizzati**  
Questa impostazione viene visualizzata se si sceglie di non associare automaticamente un gruppo di sicurezza OpsWorks Stacks integrato ai livelli. Devi specificare il gruppo di sicurezza da associare al livello. Per ulteriori informazioni, consulta [Creare un nuovo stack](workingstacks-creating.md).