

La AWS SDK per JavaScript v2 è arrivata. end-of-support [Ti consigliamo di migrare alla AWS SDK per JavaScript v3.](https://docs.aws.amazon.com//sdk-for-javascript/v3/developer-guide/) [Per ulteriori dettagli e informazioni su come effettuare la migrazione, consulta questo annuncio.](https://aws.amazon.com/blogs//developer/announcing-end-of-support-for-aws-sdk-for-javascript-v2/)

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 indirizzi IP elastici in Amazon EC2
<a name="ec2-example-elastic-ip-addresses"></a>

![JavaScript code example that applies to Node.js execution](http://docs.aws.amazon.com/it_it/sdk-for-javascript/v2/developer-guide/images/nodeicon.png)

**Questo esempio di codice di Node.js illustra:**
+ Come recuperare le descrizioni degli indirizzi IP elastici.
+ Come allocare e pubblicare un indirizzo IP elastico.
+ Come associare un indirizzo IP elastico a un' EC2 istanza Amazon.

## Lo scenario
<a name="ec2-example-elastic-ip-addresses-scenario"></a>

Un *indirizzo IP elastico* è un indirizzo IP statico progettato per il cloud computing dinamico. Un indirizzo IP elastico è associato al tuo AWS account. Si tratta di un indirizzo IP pubblico, raggiungibile da Internet. Se l'istanza in uso non dispone di un indirizzo IP pubblico, puoi associare un indirizzo IP elastico all'istanza per abilitare la comunicazione con Internet.

In questo esempio, utilizzi una serie di moduli Node.js per eseguire diverse EC2 operazioni Amazon che coinvolgono indirizzi IP elastici. I moduli Node.js utilizzano l'SDK per JavaScript gestire gli indirizzi IP elastici utilizzando questi metodi della classe EC2 client Amazon:
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/EC2.html#describeAddresses-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/EC2.html#describeAddresses-property)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/EC2.html#allocateAddress-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/EC2.html#allocateAddress-property)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/EC2.html#associateAddress-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/EC2.html#associateAddress-property)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/EC2.html#releaseAddress-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/EC2.html#releaseAddress-property)

Per ulteriori informazioni sugli indirizzi IP elastici in Amazon EC2, consulta [Elastic IP Addresses](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html) nella *Amazon EC2 User Guide* o [Elastic IP Addresses](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-ip-addresses-eip.html) nella *Amazon EC2 User Guide*.

## Attività prerequisite
<a name="ec2-example-elastic-ip-addresses-prerequisites"></a>

Per configurare ed eseguire questo esempio, è necessario completare queste attività:
+ Installa Node.js. Per ulteriori informazioni sull'installazione di Node.js, consulta il [sito Web Node.js](https://nodejs.org).
+ Creazione di un file di configurazione condiviso con le credenziali utente. Per ulteriori informazioni sulla fornitura di un file delle credenziali condiviso, consulta [Caricamento delle credenziali su Node.js dal file delle credenziali condiviso](loading-node-credentials-shared.md).
+ Crea un' EC2 istanza Amazon. Per ulteriori informazioni sulla creazione di EC2 istanze Amazon, consulta [Amazon EC2 Instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Instances.html) nella Amazon * EC2 User Guide* o Amazon [ EC2 Instances nella *Amazon EC2 *](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/Instances.html) User Guide.

## Descrizione degli indirizzi IP elastici
<a name="ec2-example-elastic-ip-addresses-describing"></a>

Crea un modulo Node.js con il nome del file `ec2_describeaddresses.js`. Assicurati di configurare il kit SDK come mostrato in precedenza. Per accedere ad Amazon EC2, crea un oggetto `AWS.EC2` di servizio. Crea un oggetto JSON da passare come parametro, filtrando gli indirizzi restituiti tra quelli nel VPC. Per recuperare le descrizioni di tutti gli indirizzi IP elastici, ometti un filtro nel JSON dei parametri. Quindi chiama il `describeAddresses` metodo dell'oggetto di EC2 servizio Amazon.

```
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set the region
AWS.config.update({ region: "REGION" });

// Create EC2 service object
var ec2 = new AWS.EC2({ apiVersion: "2016-11-15" });

var params = {
  Filters: [{ Name: "domain", Values: ["vpc"] }],
};

// Retrieve Elastic IP address descriptions
ec2.describeAddresses(params, function (err, data) {
  if (err) {
    console.log("Error", err);
  } else {
    console.log("Success", JSON.stringify(data.Addresses));
  }
});
```

Digita la seguente riga di comando per eseguire l'esempio.

```
node ec2_describeaddresses.js
```

Questo codice di esempio può essere trovato [qui GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascript/example_code/ec2/ec2_describeaddresses.js).

## Allocazione e associazione di un indirizzo IP elastico a un'istanza Amazon EC2
<a name="ec2-example-elastic-ip-addresses-allocating-associating"></a>

Crea un modulo Node.js con il nome del file `ec2_allocateaddress.js`. Assicurati di configurare il kit SDK come mostrato in precedenza. Per accedere ad Amazon EC2, crea un oggetto `AWS.EC2` di servizio. Crea un oggetto JSON per i parametri utilizzati per allocare un indirizzo IP elastico, che in questo caso specifica che `Domain` è un VPC. Chiama il `allocateAddress` metodo dell'oggetto di EC2 servizio Amazon.

Se la chiamata riesce, il parametro `data` della funzione di callback ha una proprietà `AllocationId` che identifica l'indirizzo IP elastico allocato.

Crea un oggetto JSON per i parametri utilizzati per associare un indirizzo IP elastico a un' EC2 istanza Amazon, incluso quello `AllocationId` proveniente dall'indirizzo appena assegnato e quello `InstanceId` dell'istanza Amazon EC2 . Quindi chiama il `associateAddresses` metodo dell'oggetto di EC2 servizio Amazon.

```
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set the region
AWS.config.update({ region: "REGION" });

// Create EC2 service object
var ec2 = new AWS.EC2({ apiVersion: "2016-11-15" });

var paramsAllocateAddress = {
  Domain: "vpc",
};

// Allocate the Elastic IP address
ec2.allocateAddress(paramsAllocateAddress, function (err, data) {
  if (err) {
    console.log("Address Not Allocated", err);
  } else {
    console.log("Address allocated:", data.AllocationId);
    var paramsAssociateAddress = {
      AllocationId: data.AllocationId,
      InstanceId: "INSTANCE_ID",
    };
    // Associate the new Elastic IP address with an EC2 instance
    ec2.associateAddress(paramsAssociateAddress, function (err, data) {
      if (err) {
        console.log("Address Not Associated", err);
      } else {
        console.log("Address associated:", data.AssociationId);
      }
    });
  }
});
```

Digita la seguente riga di comando per eseguire l'esempio.

```
node ec2_allocateaddress.js
```

Questo codice di esempio può essere trovato [qui GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascript/example_code/ec2/ec2_allocateaddress.js).

## Rilascio di un indirizzo IP elastico
<a name="ec2-example-elastic-ip-addresses-releasing"></a>

Crea un modulo Node.js con il nome del file `ec2_releaseaddress.js`. Assicurati di configurare il kit SDK come mostrato in precedenza. Per accedere ad Amazon EC2, crea un oggetto `AWS.EC2` di servizio. Crea un oggetto JSON per i parametri utilizzati per rilasciare un indirizzo IP elastico, che in questo caso specifica `AllocationId` per l'indirizzo IP elastico. Il rilascio di un indirizzo IP elastico consente inoltre di dissociarlo da qualsiasi istanza Amazon. EC2 Chiama il `releaseAddress` metodo dell'oggetto di EC2 servizio Amazon.

```
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set the region
AWS.config.update({ region: "REGION" });

// Create EC2 service object
var ec2 = new AWS.EC2({ apiVersion: "2016-11-15" });

var paramsReleaseAddress = {
  AllocationId: "ALLOCATION_ID",
};

// Disassociate the Elastic IP address from EC2 instance
ec2.releaseAddress(paramsReleaseAddress, function (err, data) {
  if (err) {
    console.log("Error", err);
  } else {
    console.log("Address released");
  }
});
```

Digita la seguente riga di comando per eseguire l'esempio.

```
node ec2_releaseaddress.js
```

Questo codice di esempio può essere trovato [qui GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascript/example_code/ec2/ec2_releaseaddress.js).