

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

# Applicazione delle politiche ad Amazon MQ for RabbitMQ
<a name="rabbitmq-defaults-applying-policies"></a>

 Puoi applicare politiche e limiti personalizzati con i valori predefiniti consigliati di Amazon MQ. Se sono stati eliminati i limiti e le policy predefiniti consigliati e si desidera ricrearli oppure sono stati creati altri vhost e si desidera applicare policy e limiti predefiniti ai nuovi vhost, è possibile eseguire la procedura seguente. 

**Importante**  
 Nelle versioni 3.13 e precedenti del motore Amazon MQ for RabbitMQ, l'attuale politica dell'operatore predefinita è:   

```
vhost name pattern apply-to definition priority/ default_operator_policy_AWS_managed .* classic_queues {"ha-mode":"all","ha-sync-mode":"automatic","queue-version":2} 0
```
 Nelle versioni 4.0 e successive, la politica dell'operatore predefinita è stata modificata in:   

```
vhost name pattern apply-to definition priority/ default_operator_policy_AWS_managed .* classic_queues {"queue-version":2} 0
```
 Questa modifica è necessaria perché il classico mirroring della coda e le impostazioni dei criteri HA non sono supportati in RabbitMQ 4.   
 Non è possibile creare una policy che si applichi sia alle code con mirroring classiche che alle code quorum. Se desideri che la tua politica si applichi solo alle code quorum, devi impostarla su. `--apply-to` `quorum_queues` Se si utilizzano le classiche code speculari e le code quorum, è necessario creare una politica separata con `--apply-to:classic_queues` oltre a una politica per le code quorum. 

**Importante**  
 Per eseguire la procedura seguente, è necessario un utente del broker Amazon MQ per RabbitMQ con autorizzazioni di amministratore. È possibile utilizzare l'utente amministratore creato al momento della creazione del broker o un altro utente che potrebbe essere stato creato successivamente. Nella tabella seguente vengono forniti i tag dell'utente amministratore necessari e le autorizzazioni come modelli di espressione regolare (regexp).   


| Tag | Lettura di regexp | Configurazione di regexp | Scrittura di regexp | 
| --- | --- | --- | --- | 
| administrator | .\* | .\* | .\* | 
Per ulteriori informazioni sulla creazione di utenti RabbitMQ e sulla gestione di tag e autorizzazioni degli utenti, consultare [Amazon MQ per gli utenti del broker RabbitMQ](rabbitmq-simple-auth-broker-users.md#rabbitmq-basic-elements-user).

**Applicazione di policy e limiti predefiniti di host virtuali utilizzando la console Web RabbitMQ**

1. Accedere alla [console Amazon MQ](https://console.aws.amazon.com/amazon-mq/).

1. Nel pannello di navigazione a sinistra selezionare **Brokers** (Broker).

1. Nell'elenco dei broker, scegliere il nome del broker a cui si desidera applicare la nuova policy.

1. Nella pagina dei dettagli del broker, alla sezione **Connections** (Connessioni), scegliere l'URL della **Console web RabbitMQ**URL. La console Web RabbitMQ si apre in una nuova scheda o finestra del browser.

1. Accedere alla console Web RabbitMQ con il nome utente e la password dell'amministratore del broker.

1. Nella console Web RabbitMQ, nella parte superiore della pagina, selezionare **Admin** (Amministratore).

1. Alla pagina **Admin** (Amministratore), nel pannello di navigazione destro, selezionare **Policies** (Policy).

1. Alla pagina **Policies** (Policy), comparirà un elenco delle **policy dell'utente** connesso del broker. Sotto **User policies** (Policy utente), espandere **Add / update a policy** (Aggiungere/aggiornare una policy).

1. Per creare una nuova policy del broker in **Add / update a policy** (Aggiungere/aggiornare una policy), effettua le seguenti operazioni:

   1. Per **Virtual host** (Host virtuale), selezionare il nome del vhost a cui si desidera collegare le policy dall'elenco a discesa. Per scegliere il vhost predefinito, scegliere **/**.
**Nota**  
Se non sono stati creati vhost aggiuntivi, l'opzione **Virtual host** (Host virtuale) non viene visualizzata nella console RabbitMQ e le policy vengono applicate solo al vhost predefinito.

   1. Per **Name** (Nome), immettere un nome per la policy, ad esempio **policy-defaults**.

   1. Per **Pattern** (Modello), inserisci il modello regexp **.\*** in modo che la policy corrisponda a tutte le code nel broker.

   1. Per **Apply to** (Applica a), scegliere **Exchanges and queues** (Scambi e code) dall'elenco a discesa.

   1. Per **Priority** (Priorità), immetti un numero intero maggiore di tutte le altre policy applicate al vhost. È possibile applicare esattamente un set di definizioni di policy alle code e agli scambi di RabbitMQ in qualsiasi momento. RabbitMQ sceglie la policy corrispondente al valore di priorità più alto. Per ulteriori informazioni sulle priorità delle policy e su come combinare le policy, consultare [Policy](https://www.rabbitmq.com/parameters.html#policies) nella documentazione del server RabbitMQ.

   1. Per **Definition** (Definizione), aggiungere le seguenti coppie chiave-valore:
      + **queue-mode**=**lazy**. Scegliere **String** (Stringa) dall'elenco a discesa.
      + **overflow**=**reject-publish**. Scegliere **String** (Stringa) dall'elenco a discesa.
**Nota**  
Non si applica ai broker a istanza singola.
      + **max-length**=. **{{number-of-messages}}** Sostituisci {{number-of-messages}} con il [valore consigliato di Amazon MQ](rabbitmq-defaults.md#rabbitmq-defaults-values) in base alla dimensione dell'istanza e alla modalità di distribuzione del broker, ad esempio **8000000** per un `mq.m7g.large` cluster. Scegliere **Number** (Numero) dall'elenco a discesa.
**Nota**  
Non si applica ai broker a istanza singola.

   1. Scegliere **Add / update policy** (Aggiungi/aggiorna policy).

1. Verificare che la nuova policy sia visualizzata nell'elenco delle **policy dell'utente**.
**Nota**  
Per i broker di cluster, Amazon MQ applica automaticamente le definizioni delle policy `ha-mode: all` e `ha-sync-mode: automatic`.

1. Nel pannello di navigazione destro, scegliere **Limits** (Limiti).

1. Alla pagina **Limits** (Limiti), compare un elenco dei **limiti dell'host virtuale attuali** del broker. Sotto **Virtual host limits** (Limiti dell'host virtuale), espandere **Set / update a virtual host limit** (Imposta/aggiorna un limite dell'host virtuale).

1. Per creare un nuovo limite vhost, in **Set / update a virtual host limit** (Imposta/aggiorna un limite dell'host virtuale), effettuare le seguenti operazioni:

   1. Per **Virtual host** (Host virtuale), selezionare il nome del vhost a cui si desidera collegare le policy dall'elenco a discesa. Per scegliere il vhost predefinito, scegliere **/**.

   1. Per **Limit** (Limite), scegliere **max-connections** (connessioni-max) dalle opzioni a discesa.

   1. Per **Value** (Valore), inserisci il [valore consigliato da Amazon MQ](rabbitmq-defaults.md#rabbitmq-defaults-values) in base alle dimensioni dell'istanza e alla modalità di implementazione del broker, ad esempio **15000** per un cluster `mq.m5.large`.

   1. Scegliere **Set / update limit** (Imposta/aggiorna limite).

   1. Ripetere i passaggi precedenti e per **Limit** (Limite), scegliere **max-code** (codice-max) dalle opzioni a discesa.

1. Verificare che i nuovi limiti siano visualizzati nell'elenco **Virtual host limits** (Limiti dell'host virtuale).

**Applicazione di policy e limiti predefiniti di host virtuali utilizzando l'API di gestione RabbitMQ**

1. Accedere alla [console Amazon MQ](https://console.aws.amazon.com/amazon-mq/).

1. Nel pannello di navigazione a sinistra selezionare **Brokers** (Broker).

1. Nell'elenco dei broker, scegliere il nome del broker a cui si desidera applicare la nuova policy.

1. Alla pagina del broker, nella sezione **Connections** (Connessioni), prendere nota dell'URL della **Console Web RabbitMQ**. Questo è l'endpoint del broker che si utilizza in una richiesta HTTP.

1. Aprire un nuovo terminale o una finestra della riga di comando a scelta.

1. Per creare una nuova policy del broker, inserisci il seguente comando `curl`. Questo comando presuppone una coda sul vhost predefinito `/`, che è codificato come `%2F`. Per applicare la policy a un altro vhost, sostituire `%2F` con il nome del vhost.
**Nota**  
Sostituisci {{username}} e {{password}} con le credenziali di accesso dell'amministratore. Sostituisci {{number-of-messages}} con il [valore consigliato di Amazon MQ](rabbitmq-defaults.md#rabbitmq-defaults-values) in base alla dimensione dell'istanza e alla modalità di distribuzione del broker. {{policy-name}}Sostituiscilo con un nome per la tua polizza. Sostituiscilo {{broker-endpoint}} con l'URL che hai annotato in precedenza.

   ```
   curl -i -u {{username}}:{{password}} -H "content-type:application/json" -XPUT \
   -d '{"pattern":".*", "priority":1, "definition":{"queue-mode":lazy, "overflow":"reject-publish", "max-length":"{{number-of-messages}}"}}' \
   {{broker-endpoint}}/api/policies/%2F/{{policy-name}}
   ```

1. Per confermare che la nuova policy sia stata aggiunta alle policy dell'utente del broker, inserisci il comando `curl` per elencare tutte le policy del broker.

   ```
   curl -i -u {{username}}:{{password}} {{broker-endpoint}}/api/policies
   ```

1. Per creare un nuovo limite dell'host virtuale `max-connections`, inserisci il comando `curl`. Questo comando presuppone una coda sul vhost predefinito `/`, che è codificato come `%2F`. Per applicare la policy a un altro vhost, sostituire `%2F` con il nome del vhost.
**Nota**  
Sostituisci {{username}} e {{password}} con le credenziali di accesso dell'amministratore. Sostituisci {{max-connections}} con il [valore consigliato di Amazon MQ](rabbitmq-defaults.md#rabbitmq-defaults-values) in base alla dimensione dell'istanza e alla modalità di distribuzione del broker. Sostituire l'endpoint del broker con l'URL annotato in precedenza.

   ```
   curl -i -u {{username}}:{{password}} -H "content-type:application/json" -XPUT \
   -d '{"value":"{{number-of-connections}}"}' \
   {{broker-endpoint}}/api/vhost-limits/%2F/max-connections
   ```

1. Per creare un nuovo limite dell'host virtuale `max-queues`, ripetere il passaggio precedente, modificando il comando curl come illustrato di seguito.

   ```
   curl -i -u {{username}}:{{password}} -H "content-type:application/json" -XPUT \
   -d '{"value":"{{number-of-queues}}"}' \
   {{broker-endpoint}}/api/vhost-limits/%2F/max-queues
   ```

1. Per confermare l'aggiunta dei nuovi limiti ai limiti dell'host virtuale del broker, inserisci il comando `curl` per elencare tutti i limiti degli host virtuali del broker.

   ```
   curl -i -u {{username}}:{{password}} {{broker-endpoint}}/api/vhost-limits
   ```