

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

# Utilizzo di Infrastructure Composer con Amazon Relational Database Service (Amazon RDS)
<a name="using-composer-services-rds"></a>

AWS Infrastructure Composer presenta un'integrazione con Amazon Relational Database Service (Amazon RDS). Utilizzando la scheda componente avanzata del **database RDS (esterno)** in Infrastructure Composer, puoi connettere la tua applicazione a DB cluster, istanze e proxy Amazon RDS definiti su un altro modello o (). CloudFormation AWS Serverless Application Model AWS SAM

La scheda componente avanzata del **database RDS (esterno)** rappresenta le risorse Amazon RDS definite su un altro modello. Questo include:
+ DBCluster o istanza Amazon RDS definito su un altro modello
+ Proxy Amazon RDS DB

La scheda componente avanzata del **database RDS (esterno)** è disponibile nella palette **Risorse**.

![Una scheda componente avanzata per database Amazon RDS (esterna).](http://docs.aws.amazon.com/it_it/infrastructure-composer/latest/dg/images/aac_use_rds_01.png)


Per utilizzare questa scheda, trascinala sul canvas di Infrastructure Composer, configurala e collegala ad altre risorse.

Puoi connettere la tua applicazione al DB cluster o all'istanza Amazon RDS esterni tramite una funzione Lambda.

## Requisiti
<a name="using-composer-services-rds-requirements"></a>

Per utilizzare questa funzionalità, è necessario soddisfare i seguenti requisiti:

1. È necessario utilizzare il DB cluster, l'istanza o il proxy Amazon RDS esterno Gestione dei segreti AWS per gestire la password dell'utente. Per ulteriori informazioni, consulta [la sezione Gestione delle password con Amazon RDS e Gestione dei segreti AWS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html) la *Amazon RDS User Guide*.

1. L'applicazione in Infrastructure Composer deve essere un nuovo progetto o deve essere stata originariamente creata in Infrastructure Composer.

## Procedura
<a name="using-composer-services-rds-connect"></a>

### Fase 1: Configurare la scheda RDS Database esterna
<a name="using-composer-services-rds-connect-step1"></a>

Dalla palette **Risorse**, trascina una scheda componente avanzata del **database RDS (esterno)** sull'area di lavoro. 

Seleziona la scheda e scegli **Dettagli** o fai doppio clic sulla scheda per visualizzare il pannello **delle proprietà delle risorse**. Apparirà il pannello delle proprietà delle risorse della scheda:

![Il pannello delle proprietà delle risorse di una scheda componente avanzata del database RDS (esterno).](http://docs.aws.amazon.com/it_it/infrastructure-composer/latest/dg/images/aac_use_rds_03.png)


È possibile configurare quanto segue qui:
+ **ID logico**: un nome univoco per il DB cluster, l'istanza o il proxy Amazon RDS esterno. Questo ID non deve necessariamente corrispondere al valore dell'ID logico della DB risorsa Amazon RDS esterna.
+ **Segreto del database**: un identificatore per il Gestione dei segreti AWS segreto associato al DB cluster, all'istanza o al proxy Amazon RDS. Questo campo accetta i seguenti valori:
  + **Valore statico**: un identificatore univoco del segreto del database, ad esempio l'ARN segreto. Di seguito è riportato un esempio: `arn:aws:secretsmanager:us-west-2:123456789012:secret:my-path/my-secret-name-1a2b3c`. Per ulteriori informazioni, consulta [Concetti di Gestione dei segreti AWS](https://docs.aws.amazon.com/secretsmanager/latest/userguide/getting-started.html) nella *Guida per l'utente di Gestione dei segreti AWS *.
  + **Valore di output**: quando viene distribuito un segreto di Secrets Manager su AWS CloudFormation, viene creato un valore di output. È possibile specificare qui il valore di output utilizzando la funzione `[Fn::ImportValue](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-importvalue.html)` intrinseca. Ad esempio, `!ImportValue MySecret`.
  + **Valore dall'archivio dei parametri SSM**: è possibile memorizzare il segreto nell'archivio dei parametri SSM e specificarne il valore utilizzando un riferimento dinamico. Ad esempio, `{{resolve:ssm:MySecret}}`. *Per ulteriori informazioni, consulta i [parametri SSM](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html#dynamic-references-ssm) nella Guida per l'AWS CloudFormation utente.*
+ **Nome host del database**: il nome host che può essere utilizzato per connettersi al DB cluster, all'istanza o al proxy Amazon RDS. Questo valore è specificato nel modello esterno che definisce la tua risorsa Amazon RDS. Sono accettati i seguenti valori:
  + **Valore statico**: un identificatore univoco del nome host del database, ad esempio l'indirizzo dell'endpoint. Di seguito è riportato un esempio: `mystack-mydb-1apw1j4phylrk.cg034hpkmmjt.us-east-2.rds.amazonaws.com`.
  + **Valore** di output: il valore di output di un DB cluster, istanza o proxy Amazon RDS distribuito. È possibile specificare il valore di output utilizzando la funzione `[Fn::ImportValue](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-importvalue.html)` intrinseca. Ad esempio, `!ImportValue myStack-myDatabase-abcd1234`.
  + **Valore dall'archivio dei parametri SSM: è possibile memorizzare** il nome host del database nell'archivio dei parametri SSM e specificarne il valore utilizzando un riferimento dinamico. Ad esempio, `{{resolve:ssm:MyDatabase}}`.
+ **Porta del database**: il numero di porta che può essere utilizzato per connettersi al DB cluster, all'istanza o al proxy Amazon RDS. Questo valore è specificato nel modello esterno che definisce la tua risorsa Amazon RDS. Sono accettati i seguenti valori:
  + **Valore statico**: la porta del database. Ad esempio, `3306`.
  + **Valore** di output: il valore di output di un DB cluster, istanza o proxy Amazon RDS distribuito. Ad esempio, `!ImportValue myStack-MyRDSInstancePort`.
  + **Valore da SSM Parameter Store**: puoi memorizzare il nome host del database nell'SSM Parameter Store e specificarne il valore utilizzando un riferimento dinamico. Ad esempio, `{{resolve:ssm:MyRDSInstancePort}}`.

**Nota**  
Qui deve essere configurato solo il valore dell'ID logico. Se preferisci, puoi configurare le altre proprietà al momento della distribuzione.

### Fase 2: Connect una scheda Lambda Function
<a name="using-composer-services-rds-connect-step2"></a>

Dalla palette **Risorse**, trascina una scheda componente avanzata **della funzione Lambda** sull'area di disegno.

Connect la porta sinistra della scheda **Function Lambda** alla porta destra della scheda **RDS Database (esterna)**.

![Una scheda funzione Lambda collegata a una scheda componente avanzata del database RDS (esterna).](http://docs.aws.amazon.com/it_it/infrastructure-composer/latest/dg/images/aac_use_rds_02.png)


Infrastructure Composer fornirà il modello per facilitare questa connessione.

## Cosa fa Infrastructure Composer per creare la tua connessione
<a name="using-composer-services-rds-ref-how"></a>

Una volta completata la procedura sopra elencata, Infrastructure Composer esegue azioni specifiche per connettere la funzione Lambda al database.

### Quando si specifica il DB cluster, l'istanza o il proxy Amazon RDS esterno
<a name="using-composer-services-rds-ref-how-specify"></a>

Quando trascini una scheda del **database RDS (esterna)** sull'area di disegno, Infrastructure Composer aggiorna le `Parameters` sezioni `Metadata` e le sezioni del modello in base alle esigenze. Di seguito è riportato un esempio:

```
Metadata:
  AWS::Composer::ExternalResources:
    ExternalRDS:
      Type: externalRDS
      Settings:
        Port: !Ref ExternalRDSPort
        Hostname: !Ref ExternalRDSHostname
        SecretArn: !Ref ExternalRDSSecretArn
Parameters:
  ExternalRDSPort:
    Type: Number
  ExternalRDSHostname:
    Type: String
  ExternalRDSSecretArn:
    Type: String
```

[I metadati](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html) sono una sezione CloudFormation del modello che viene utilizzata per memorizzare i dettagli sul modello. I metadati specifici di Infrastructure Composer vengono archiviati nella chiave dei `AWS::Composer::ExternalResources` metadati. Qui, Infrastructure Composer memorizza i valori specificati per il DB cluster, l'istanza o il proxy Amazon RDS.

La sezione [Parametri](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html) di un CloudFormation modello viene utilizzata per memorizzare valori personalizzati che possono essere inseriti nel modello al momento della distribuzione. A seconda del tipo di valori che fornisci, Infrastructure Composer può memorizzare qui i valori per il tuo DB cluster, istanza o proxy Amazon RDS e specificarli in tutto il modello.

I valori di stringa nella `Parameters` sezione `Metadata` and utilizzano il valore dell'ID logico specificato sulla scheda del **database RDS (esterna)**. Se aggiorni l'ID logico, i valori della stringa cambieranno.

### Quando si collega la funzione Lambda al database
<a name="using-composer-services-rds-ref-how-connecting"></a>

Quando si collega una scheda **Lambda Function** alla scheda **RDS Database (esterna)**, Infrastructure Composer esegue il provisioning delle variabili di ambiente e delle politiche AWS Identity and Access Management (IAM). Di seguito è riportato un esempio:

```
Resources:
  Function:
    Type: AWS::Serverless::Function
    Properties:
      ...
      Environment:
        Variables:
          EXTERNALRDS_PORT: !Ref ExternalRDSPort
          EXTERNALRDS_HOSTNAME: !Ref ExternalRDSHostname
          EXTERNALRDS_SECRETARN: !Ref ExternalRDSSecretArn
      Policies:
        - AWSSecretsManagerGetSecretValuePolicy:
            SecretArn: !Ref ExternalRDSSecretArn
```

Le variabili di [ambiente](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-function.html#sam-function-environment) sono variabili che possono essere utilizzate dalla funzione in fase di esecuzione. Per ulteriori informazioni, consulta [Using Lambda Environmental Variables](https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html) nella *AWS Lambda Developer* Guide.

[Le politiche](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-function.html#sam-function-policies) forniscono le autorizzazioni per la tua funzione. Qui, Infrastructure Composer crea una policy per consentire l'accesso in lettura dalla tua funzione a Secrets Manager per ottenere la password per l'accesso al DB cluster, all'istanza o al proxy Amazon RDS.