Personalizzare lo Stack per la connessione al database RDS - AWS OpsWorks

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

Personalizzare lo Stack per la connessione al database RDS

Importante

AWS OpsWorks Stacksnon accetta più nuovi clienti. I clienti esistenti potranno utilizzare la OpsWorks console, l'API, l'interfaccia a riga di comando e CloudFormation le risorse normalmente fino al 26 maggio 2024, momento in cui non saranno più disponibili. Per prepararti a questa transizione, ti consigliamo di trasferire i tuoi stack AWS Systems Manager il prima possibile. Per ulteriori informazioni, consultare AWS OpsWorks StacksDomande frequenti sulla fine del ciclo di vita e Migrazione AWS OpsWorks Stacks delle applicazioni su AWS Systems Manager Application Manager.

Dopo aver creato un'istanza RDS da utilizzare come database di back-end per il server delle applicazioni PHP, puoi personalizzare da. MyStack Nozioni di base sugli stack Linux Chef 11

Per connettere il server PHP App a un database RDS
  1. Apri la console AWS OpsWorks Stacks e crea uno stack con un livello PHP App Server che contiene un'istanza e distribuisci SimplePHPapp, come descritto in. Nozioni di base sugli stack Linux Chef 11 Questo stack utilizza la versione 1 di SimplePHPApp, che non utilizza una connessione al database.

  2. Aggiornare la configurazione dello stack per utilizzare i libri di cucina personalizzati che includono la ricetta appsetup.rb e i relativi file di modello e attributo.

    1. Impostare Use custom Chef Cookbooks (Utilizza i libri di ricette di Chef personalizzati) su Yes (Sì).

    2. Impostare Repository type (Tipo archivio) su Git e Repository URL (Archivio URL) su git://github.com/amazonwebservices/opsworks-example-cookbooks.git.

  3. Aggiungere alla casella dello stack Custom Chef JSON (Chef JSON personalizzato) per assegnare i dati di connessione RDS agli attributi [:database] che appsetup.rb utilizza per creare il file di configurazione.

    { "deploy": { "simplephpapp": { "database": { "username": "opsworksuser", "password": "your_password", "database": "rdsexampledb", "host": "rds_endpoint", "adapter": "mysql" } } } }

    Utilizzare i seguenti valori di attributo:

    • username (nome utente): il nome utente master specificato durante la creazione dell'istanza RDS.

      Questo esempio usa opsworksuser.

    • password: la password master specificata durante la creazione dell'istanza RDS.

      Inserire la password specificata.

    • database: il database creato durante la creazione dell'istanza RDS.

      Questo esempio usa rdsexampledb.

    • host: l'endpoint dell'istanza RDS, ottenuta dalla console di RDS durante la creazione dell'istanza nella sezione precedente. Non includere il numero di porta.

    • adapter (adattatore): l'adattatore.

      L'istanza RDS per questo esempio utilizza MySQL, perciò adapter (adattatore) è impostato su mysql. A differenza degli altri attributi, adapter (adattatore) non viene utilizzato da appsetup.rb. Viene invece utilizzato dalla ricetta Configure integrata del livello PHP App Server per creare un file di configurazione diverso.

  4. Modifica la configurazione SimplePHPApp per specificare una versione di SimplePHPApp che utilizza un database back-end, come segue:

    • Document root (Documento root): impostare questa opzione su web.

    • Branch/Revision (Ramo/Revisione): impostare questa opzione su version2.

    Lasciare le opzioni rimanenti invariate.

  5. Modifica il livello PHP App Server per configurare la connessione phpapp::appsetup al database aggiungendo le ricette Deploy del layer.

  6. Distribuire la nuova versione SimplePHPApp.

  7. Quando SimplePHPApp viene distribuita, eseguire l'applicazione visitando la pagina Instances (Istanze) e facendo clic sull'indirizzo IP pubblico dell'istanza php-app1. Dovrebbe apparire la pagina seguente nel browser, che consente di immettere testo e memorizzarlo nel database.

Nota

Se il tuo stack ha un layer MySQL, AWS OpsWorks Stacks assegna automaticamente i dati di connessione corrispondenti agli attributi. [:database] Tuttavia, se si assegna JSON personalizzato allo stack che definisce valori diversi [:database], sostituiscono i valori predefiniti. Poiché gli [:deploy] attributi sono installati su ogni istanza, tutte le ricette che dipendono dagli [:database] attributi utilizzeranno i dati di connessione personalizzati, non i dati del livello MySQL per il. Se si desidera che un determinato livello di server di applicazione utilizzi dati di connessione personalizzati, assegnare JSON personalizzato all'evento di distribuzione del livello e limitare tale distribuzione a quel livello. Per ulteriori informazioni su come utilizzare gli attributi di distribuzione, consulta Distribuzione di app. Per ulteriori informazioni sulla sostituzione di attributi integrati AWS OpsWorks Stacks, consulta Sostituzione degli attributi.