

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à.

# Come impostare una connessione di database
<a name="customizing-rds-setup"></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).

Configurare la connessione tra un server di applicazione e il suo database di back-end utilizzando una ricetta personalizzata. La ricetta configura il server di applicazione come richiesto, in genere mediante la creazione di un file di configurazione. La ricetta ottiene i dati di connessione, come il nome dell'host e del database, da un set di attributi negli attributi di [configurazione e distribuzione dello stack](workingcookbook-json.md) che OpsWorks Stacks installa su ogni istanza.

Ad esempio, Step 2 of si [Nozioni di base sugli stack Linux Chef 11](gettingstarted.md) basa su uno stack denominato MyStack con due livelli, PHP App Server e MySQL, ciascuno con un'istanza. Si distribuisce un'app denominata PHPApp Simple nell'istanza PHP App Server che utilizza il database sull'istanza MySQL come archivio dati di back-end. Quando si distribuisce l'applicazione, OpsWorks Stacks installa la configurazione stack e gli attributi di distribuzione che contengono le informazioni di connessione al database. L'esempio seguente mostra gli attributi di connessione al database, rappresentati come JSON:

```
{
  ...
  "deploy": {
    "simplephpapp": {
      ...
      "database": {
        "reconnect": true,
        "password": null,
        "username": "root",
        "host": null,
        "database": "simplephpapp"
        ...
      },
      ...
    }
  }
}
```

I valori degli attributi sono forniti da OpsWorks Stacks e sono generati o basati sulle informazioni fornite dall'utente.

[Per consentire a Simple di accedere PHPApp al data store, è necessario configurare la connessione tra il server delle applicazioni PHP e il database MySQL assegnando una ricetta personalizzata `appsetup.rb` denominata all'evento Deploy del ciclo di vita Deploy del livello PHP App Server.](workingcookbook-events.md) Quando si distribuisce SimplePHPApp, viene eseguito OpsWorks Stacks`appsetup.rb`, che crea un file di configurazione denominato `db-connect.php` che configura la connessione, come illustrato nel seguente estratto.

```
node[:deploy].each do |app_name, deploy|
  ...
  template "#{deploy[:deploy_to]}/current/db-connect.php" do
    source "db-connect.php.erb"
    mode 0660
    group deploy[:group]

    if platform?("ubuntu")
      owner "www-data"
    elsif platform?("amazon")   
      owner "apache"
    end

    variables(
      :host =>     (deploy[:database][:host] rescue nil),
      :user =>     (deploy[:database][:username] rescue nil),
      :password => (deploy[:database][:password] rescue nil),
      :db =>       (deploy[:database][:database] rescue nil),
      :table =>    (node[:phpapp][:dbtable] rescue nil)
    )
    ...
  end
end
```

[Le variabili che caratterizzano la connessione, e così via `host``user`, vengono impostate con i valori corrispondenti dagli attributi JSON di deploy.](workingcookbook-json.md#workingcookbook-json-deploy) `[:deploy][:app_name][:database]` Per semplicità, l'esempio presuppone sia già stata creata una tabella denominata `urler`, quindi il nome della tabella è rappresentato da `[:phpapp][:dbtable]` nel file attributi del libro di cucina.

Questa ricetta può effettivamente connettere il server delle applicazioni PHP a qualsiasi server di database MySQL, non solo ai membri di un livello MySQL. [Per utilizzare un server MySQL diverso, devi solo impostare gli attributi su valori appropriati per `[:database]` il tuo server, cosa che puoi fare utilizzando JSON personalizzato.](workingstacks-json.md) OpsWorks Stacks incorpora quindi tali attributi e valori negli attributi di configurazione e distribuzione dello stack e li `appsetup.rb` utilizza per creare il modello che configura la connessione. Per ulteriori informazioni sulla sostituzione della configurazione stack e implementazione JSON, consulta [Sostituzione degli attributi](workingcookbook-attributes.md).