

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

# Aggiornamento del tipo di endpoint AWS Transfer Family del server da VPC\$1ENDPOINT a VPC
<a name="update-endpoint-type-vpc"></a>

Puoi utilizzare Console di gestione AWS CloudFormation, o l'API Transfer Family per aggiornare un server `EndpointType` da `VPC_ENDPOINT` a`VPC`. Nelle sezioni seguenti sono disponibili procedure ed esempi dettagliati per l'utilizzo di ciascuno di questi metodi per aggiornare un tipo di endpoint del server. Se disponi di server in più AWS regioni e in più AWS account, puoi utilizzare lo script di esempio fornito nella sezione seguente, con le modifiche, per identificare i server utilizzando il `VPC_ENDPOINT` tipo che dovrai aggiornare.

**Topics**
+ [Identificazione dei server utilizzando il tipo di `VPC_ENDPOINT` endpoint](#id-servers)
+ [Aggiornamento del tipo di endpoint del server utilizzando il Console di gestione AWS](#update-endpoint-console)
+ [Aggiornamento del tipo di endpoint del server tramite CloudFormation](#update-endpoint-cloudformation)
+ [Aggiornamento del server EndpointType tramite l'API](#update-endpoint-cli)

## Identificazione dei server utilizzando il tipo di `VPC_ENDPOINT` endpoint
<a name="id-servers"></a>

È possibile identificare quali server `VPC_ENDPOINT` utilizzano il Console di gestione AWS.

**Per identificare i server utilizzando il tipo di `VPC_ENDPOINT` endpoint utilizzando la console**

1. Apri la AWS Transfer Family console all'indirizzo [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/).

1. Scegli **Server** nel riquadro di navigazione per visualizzare l'elenco dei server del tuo account in quella regione.

1. Ordina l'elenco dei server in base al **tipo di endpoint** per visualizzare tutti i server utilizzati`VPC_ENDPOINT`.

**Per identificare i server che utilizzano più `VPC_ENDPOINT` AWS regioni e account**

Se disponi di server in più AWS regioni e in più AWS account, puoi utilizzare il seguente script di esempio, con modifiche, per identificare i server che utilizzano il tipo di `VPC_ENDPOINT` endpoint. Lo script di esempio utilizza le operazioni delle [https://docs.aws.amazon.com/transfer/latest/APIReference/API_ListServers.html](https://docs.aws.amazon.com/transfer/latest/APIReference/API_ListServers.html)API Amazon EC2 [DescribeRegions](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeRegions.html)e Transfer Family. Se disponi di molti AWS account, puoi eseguire l'autenticazione utilizzando i profili di sessione utilizzando un ruolo IAM con accesso da revisore in sola lettura se esegui l'autenticazione utilizzando i profili di sessione presso il tuo provider di identità.

1. Di seguito è riportato un semplice esempio.

   ```
   import boto3
   
   profile = input("Enter the name of the AWS account you'll be working in: ")
   session = boto3.Session(profile_name=profile)
   
   ec2 = session.client("ec2")
   
   regions = ec2.describe_regions()
   
   for region in regions['Regions']:
       region_name = region['RegionName']
       if region_name=='ap-northeast-3': #https://github.com/boto/boto3/issues/1943
           continue
       transfer = session.client("transfer", region_name=region_name)
       servers = transfer.list_servers()
       for server in servers['Servers']:
          if server['EndpointType']=='VPC_ENDPOINT':
              print(server['ServerId'], region_name)
   ```

1. Dopo aver ottenuto l'elenco dei server da aggiornare, è possibile utilizzare uno dei metodi descritti nelle sezioni seguenti per `EndpointType` aggiornare il file`VPC`.

## Aggiornamento del tipo di endpoint del server utilizzando il Console di gestione AWS
<a name="update-endpoint-console"></a>

1. Aprire la AWS Transfer Family console all'indirizzo [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/).

1. Nel riquadro di navigazione, selezionare **Servers (Server)**.

1. Seleziona la casella di controllo del server di cui desideri modificare il tipo di endpoint.
**Importante**  
È necessario arrestare il server prima di poter modificare l'endpoint.

1. In **Actions (Operazioni)**, scegliere **Stop (Arresta)**.

1. Nella finestra di dialogo di conferma che appare, scegli **Stop** per confermare che desideri arrestare il server.
**Nota**  
Prima di procedere al passaggio successivo, attendi che lo **stato** del server passi a **Offline; l'**operazione può richiedere un paio di minuti. Potrebbe essere necessario scegliere **Aggiorna** nella pagina **Server** per vedere la modifica dello stato.

1. Dopo che lo stato è passato a **Offline**, scegli il server per visualizzare la pagina dei dettagli del server.

1. Nella sezione **Dettagli dell'endpoint**, scegli **Modifica**.

1. Scegli **VPC ospitato** per il tipo di **endpoint**.

1. Seleziona **Salva**

1. Per **Azioni**, scegli **Avvia** e attendi che lo stato del server passi a **Online**; l'operazione può richiedere un paio di minuti.

## Aggiornamento del tipo di endpoint del server tramite CloudFormation
<a name="update-endpoint-cloudformation"></a>

Questa sezione descrive come utilizzare CloudFormation per aggiornare un server `EndpointType` a`VPC`. Usa questa procedura per i server Transfer Family che hai distribuito utilizzando CloudFormation. In questo esempio, il CloudFormation modello originale utilizzato per distribuire il server Transfer Family è illustrato come segue:

```
AWS TemplateFormatVersion: '2010-09-09'
Description: 'Create AWS Transfer Server with VPC_ENDPOINT endpoint type'
Parameters:
  SecurityGroupId:
    Type: AWS::EC2::SecurityGroup::Id
  SubnetIds:
    Type: List<AWS::EC2::Subnet::Id>
  VpcId:
    Type: AWS::EC2::VPC::Id
Resources:
  TransferServer:
    Type: AWS::Transfer::Server
    Properties:
      Domain: S3
      EndpointDetails:
        VpcEndpointId: !Ref VPCEndpoint
      EndpointType: VPC_ENDPOINT
      IdentityProviderType: SERVICE_MANAGED
      Protocols:
        - SFTP
  VPCEndpoint:
    Type: AWS::EC2::VPCEndpoint
    Properties:
      ServiceName: com.amazonaws.us-east-1.transfer.server
      SecurityGroupIds:
        - !Ref SecurityGroupId
      SubnetIds:
        - !Select [0, !Ref SubnetIds]
        - !Select [1, !Ref SubnetIds]
        - !Select [2, !Ref SubnetIds]
      VpcEndpointType: Interface
      VpcId: !Ref VpcId
```

Il modello viene aggiornato con le seguenti modifiche:
+ `EndpointType`È stato modificato in`VPC`.
+ La `AWS::EC2::VPCEndpoint` risorsa viene rimossa.
+ I `SecurityGroupId``SubnetIds`, e `VpcId` sono stati spostati nella `EndpointDetails` sezione della `AWS::Transfer::Server` risorsa,
+ La `VpcEndpointId` proprietà di `EndpointDetails` è stata rimossa.

Il modello aggiornato ha il seguente aspetto:

```
AWS TemplateFormatVersion: '2010-09-09'
Description: 'Create AWS Transfer Server with VPC endpoint type'
Parameters:
  SecurityGroupId:
    Type: AWS::EC2::SecurityGroup::Id
  SubnetIds:
    Type: List<AWS::EC2::Subnet::Id>
  VpcId:
    Type: AWS::EC2::VPC::Id
Resources:
  TransferServer:
    Type: AWS::Transfer::Server
    Properties:
      Domain: S3
      EndpointDetails:
        SecurityGroupIds:
          - !Ref SecurityGroupId
        SubnetIds:
          - !Select [0, !Ref SubnetIds]
          - !Select [1, !Ref SubnetIds]
          - !Select [2, !Ref SubnetIds]
        VpcId: !Ref VpcId
      EndpointType: VPC
      IdentityProviderType: SERVICE_MANAGED
      Protocols:
        - SFTP
```

**Per aggiornare il tipo di endpoint dei server Transfer Family distribuiti utilizzando CloudFormation**

1. Arresta il server che desideri aggiornare utilizzando i seguenti passaggi.

   1. Apri la AWS Transfer Family console all'indirizzo [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/).

   1. Nel riquadro di navigazione, selezionare **Servers (Server)**.

   1. Seleziona la casella di controllo del server di cui desideri modificare il tipo di endpoint.
**Importante**  
È necessario arrestare il server prima di poter modificare l'endpoint.

   1. In **Actions (Operazioni)**, scegliere **Stop (Arresta)**.

   1. Nella finestra di dialogo di conferma che appare, scegli **Stop** per confermare che desideri arrestare il server.
**Nota**  
Prima di procedere al passaggio successivo, attendi che lo **stato** del server passi a **Offline; l'**operazione può richiedere un paio di minuti. Potrebbe essere necessario scegliere **Aggiorna** nella pagina **Server** per vedere la modifica dello stato.

1. Aggiorna lo stack CloudFormation 

   1. Apri la CloudFormation console in [https://console.aws.amazon.com/cloudformation.](https://console.aws.amazon.com/cloudformation/)

   1. Scegli lo stack utilizzato per creare il server Transfer Family.

   1. Scegliere **Aggiorna**.

   1. Scegli **Sostituisci il modello corrente**

   1. Carica il nuovo modello. CloudFormation I set di modifiche ti aiutano a capire in che modo le modifiche ai modelli influiranno sulle risorse in esecuzione prima di implementarle. In questo esempio, la risorsa del server di trasferimento verrà modificata e la VPCEndpoint risorsa verrà rimossa. Il server di tipo endpoint VPC crea un endpoint VPC per tuo conto, sostituendo la risorsa originale. `VPCEndpoint`

      Dopo aver caricato il nuovo modello, il set di modifiche sarà simile al seguente:  
![\[Mostra la pagina di anteprima del set di modifiche per la sostituzione del CloudFormation modello corrente.\]](http://docs.aws.amazon.com/it_it/transfer/latest/userguide/images/vpc-endpoint-update-cfn.png)

   1. Aggiornare lo stack.

1. Una volta completato l'aggiornamento dello stack, accedi alla console di gestione di Transfer Family all'indirizzo [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/).

1. Riavvia il server. Scegli il server in cui hai eseguito l'aggiornamento CloudFormation, quindi scegli **Avvia** dal menu **Azioni**.

## Aggiornamento del server EndpointType tramite l'API
<a name="update-endpoint-cli"></a>

È possibile utilizzare il comando [describe-server](https://docs.aws.amazon.com/cli/latest/reference/transfer/update-server.html) o AWS CLI il [UpdateServer](https://docs.aws.amazon.com/transfer/latest/APIReference/API_UpdateServer.html)comando API. Lo script di esempio seguente arresta il server Transfer Family, aggiorna EndpointType, rimuove VPC\$1ENDPOINT e avvia il server.

```
import boto3
import time

profile = input("Enter the name of the AWS account you'll be working in: ")
region_name = input("Enter the AWS Region you're working in: ")
server_id = input("Enter the AWS Transfer Server Id: ")

session = boto3.Session(profile_name=profile)

ec2 = session.client("ec2", region_name=region_name)
transfer = session.client("transfer", region_name=region_name)

group_ids=[]

transfer_description = transfer.describe_server(ServerId=server_id)
if transfer_description['Server']['EndpointType']=='VPC_ENDPOINT':
    transfer_vpc_endpoint = transfer_description['Server']['EndpointDetails']['VpcEndpointId']
    transfer_vpc_endpoint_descriptions = ec2.describe_vpc_endpoints(VpcEndpointIds=[transfer_vpc_endpoint])
    for transfer_vpc_endpoint_description in transfer_vpc_endpoint_descriptions['VpcEndpoints']:
        subnet_ids=transfer_vpc_endpoint_description['SubnetIds']
        group_id_list=transfer_vpc_endpoint_description['Groups']
        vpc_id=transfer_vpc_endpoint_description['VpcId']
        for group_id in group_id_list:
             group_ids.append(group_id['GroupId'])
    if transfer_description['Server']['State']=='ONLINE':
        transfer_stop = transfer.stop_server(ServerId=server_id)
        print(transfer_stop)
        time.sleep(300) #safe
        transfer_update = transfer.update_server(ServerId=server_id,EndpointType='VPC',EndpointDetails={'SecurityGroupIds':group_ids,'SubnetIds':subnet_ids,'VpcId':vpc_id})
        print(transfer_update)
        time.sleep(10) 
        transfer_start = transfer.start_server(ServerId=server_id)
        print(transfer_start)
        delete_vpc_endpoint = ec2.delete_vpc_endpoints(VpcEndpointIds=[transfer_vpc_endpoint])
```