

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Aktualisierung des AWS Transfer Family Serverendpunkttyps von VPC\$1ENDPOINT auf VPC
<a name="update-endpoint-type-vpc"></a>

Sie können die AWS-Managementkonsole CloudFormation, oder die Transfer Family Family-API verwenden, um die Daten `EndpointType` von bis eines Servers `VPC_ENDPOINT` zu aktualisieren`VPC`. In den folgenden Abschnitten finden Sie detaillierte Verfahren und Beispiele für die Verwendung jeder dieser Methoden zur Aktualisierung eines Serverendpunkttyps. Wenn Sie Server in mehreren AWS Regionen und in mehreren AWS Konten haben, können Sie das Beispielskript im folgenden Abschnitt mit Änderungen verwenden, um Server zu identifizieren, die den `VPC_ENDPOINT` Typ verwenden, den Sie aktualisieren müssen.

**Topics**
+ [Identifizieren von Servern anhand des `VPC_ENDPOINT` Endpunkttyps](#id-servers)
+ [Aktualisierung des Serverendpunkt-Typs mit dem AWS-Managementkonsole](#update-endpoint-console)
+ [Den Serverendpunkttyp aktualisieren mit CloudFormation](#update-endpoint-cloudformation)
+ [Den Server EndpointType mithilfe der API aktualisieren](#update-endpoint-cli)

## Identifizieren von Servern anhand des `VPC_ENDPOINT` Endpunkttyps
<a name="id-servers"></a>

Mithilfe von können Sie feststellen, welche Server das `VPC_ENDPOINT` verwenden AWS-Managementkonsole.

**Um Server zu identifizieren, die den `VPC_ENDPOINT` Endpunkttyp mithilfe der Konsole verwenden**

1. Öffnen Sie die AWS Transfer Family Konsole unter [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/).

1. Wählen Sie im Navigationsbereich **Server** aus, um die Liste der Server in Ihrem Konto in dieser Region anzuzeigen.

1. Sortieren Sie die Liste der Server nach dem **Endpunkttyp**, um zu sehen, dass alle Server diese verwenden`VPC_ENDPOINT`.

**Um Server zu identifizieren, die mehrere `VPC_ENDPOINT` AWS Regionen und Konten verwenden**

Wenn Sie Server in mehreren AWS Regionen und in mehreren AWS Konten haben, können Sie das folgende Beispielskript mit Änderungen verwenden, um Server zu identifizieren, die den `VPC_ENDPOINT` Endpunkttyp verwenden. Das Beispielskript verwendet die [https://docs.aws.amazon.com/transfer/latest/APIReference/API_ListServers.html](https://docs.aws.amazon.com/transfer/latest/APIReference/API_ListServers.html)API-Operationen Amazon EC2 [DescribeRegions](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeRegions.html)und Transfer Family. Wenn Sie viele AWS Konten haben, können Sie Ihre Konten mithilfe einer IAM-Rolle mit schreibgeschütztem Auditor-Zugriff durchgehen, wenn Sie sich mithilfe von Sitzungsprofilen bei Ihrem Identitätsanbieter authentifizieren.

1. Es folgt ein einfaches Beispiel.

   ```
   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. Nachdem Sie die Liste der zu aktualisierenden Server erstellt haben, können Sie eine der in den folgenden Abschnitten beschriebenen Methoden verwenden, um den Server `EndpointType` zu aktualisieren`VPC`.

## Aktualisierung des Serverendpunkt-Typs mit dem AWS-Managementkonsole
<a name="update-endpoint-console"></a>

1. Öffnen Sie die AWS Transfer Family Konsole unter [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/).

1. Klicken Sie im Navigationsbereich auf **Servers (Server)**.

1. Aktivieren Sie das Kontrollkästchen des Servers, für den Sie den Endpunkttyp ändern möchten.
**Wichtig**  
Sie müssen den Server anhalten, bevor Sie dessen Endpunkttyp ändern können.

1. Wählen Sie für **Actions (Aktionen)** die Option **Stop (Stopp)**.

1. Wählen Sie im daraufhin angezeigten Bestätigungsdialogfeld die Option **Stopp** aus, um zu bestätigen, dass Sie den Server beenden möchten.
**Anmerkung**  
Bevor Sie mit dem nächsten Schritt fortfahren, warten Sie, bis sich der **Status** des Servers auf **Offline** ändert. Dies kann einige Minuten dauern. Möglicherweise müssen Sie auf der Seite **Server** die Option **Aktualisieren** auswählen, um die Statusänderung zu sehen.

1. Nachdem sich der Status auf **Offline** geändert hat, wählen Sie den Server aus, auf dem die Serverdetailseite angezeigt werden soll.

1. Wählen Sie im Abschnitt **Endpunktdetails** die Option **Bearbeiten** aus.

1. Wählen Sie **VPC Hosted** für den **Endpoint-Typ** aus.

1. Wählen Sie **Speichern** aus.

1. Wählen Sie für **Aktionen** die Option **Start** und warten Sie, bis sich der Status des Servers auf **Online** ändert. Dies kann einige Minuten dauern.

## Den Serverendpunkttyp aktualisieren mit CloudFormation
<a name="update-endpoint-cloudformation"></a>

In diesem Abschnitt wird beschrieben, wie CloudFormation Sie das auf einem Server aktualisieren `EndpointType` können`VPC`. Verwenden Sie dieses Verfahren für Transfer Family Family-Server, mit denen Sie bereitgestellt haben CloudFormation. In diesem Beispiel wird die ursprüngliche CloudFormation Vorlage, die für die Bereitstellung des Transfer Family Family-Servers verwendet wurde, wie folgt dargestellt:

```
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
```

Die Vorlage wurde mit den folgenden Änderungen aktualisiert:
+ Das `EndpointType` wurde geändert in`VPC`.
+ Die `AWS::EC2::VPCEndpoint` Ressource wurde entfernt.
+ Die `SecurityGroupId``SubnetIds`, und `VpcId` wurden in den `EndpointDetails` Abschnitt der `AWS::Transfer::Server` Ressource verschoben
+ Die `VpcEndpointId` Eigenschaft von `EndpointDetails` wurde entfernt.

Die aktualisierte Vorlage sieht wie folgt aus:

```
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
```

**Um den Endpunkttyp von Transfer Family Family-Servern zu aktualisieren, die bereitgestellt werden mit CloudFormation**

1. Stoppen Sie den Server, den Sie aktualisieren möchten, indem Sie die folgenden Schritte ausführen.

   1. Öffnen Sie die AWS Transfer Family Konsole unter [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/).

   1. Klicken Sie im Navigationsbereich auf **Servers (Server)**.

   1. Aktivieren Sie das Kontrollkästchen des Servers, für den Sie den Endpunkttyp ändern möchten.
**Wichtig**  
Sie müssen den Server anhalten, bevor Sie dessen Endpunkttyp ändern können.

   1. Wählen Sie für **Actions (Aktionen)** die Option **Stop (Stopp)**.

   1. Wählen Sie im daraufhin angezeigten Bestätigungsdialogfeld die Option **Stopp** aus, um zu bestätigen, dass Sie den Server beenden möchten.
**Anmerkung**  
Bevor Sie mit dem nächsten Schritt fortfahren, warten Sie, bis sich der **Status** des Servers auf **Offline** ändert. Dies kann einige Minuten dauern. Möglicherweise müssen Sie auf der Seite **Server** die Option **Aktualisieren** auswählen, um die Statusänderung zu sehen.

1. Aktualisieren Sie den CloudFormation Stack

   1. Öffnen Sie die CloudFormation Konsole unter [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

   1. Wählen Sie den Stack aus, der zur Erstellung des Transfer Family Family-Servers verwendet wurde.

   1. Wählen Sie **Aktualisieren** aus.

   1. Wählen Sie **Aktuelle Vorlage ersetzen**

   1. Laden Sie die neue Vorlage hoch. CloudFormation Mithilfe von Änderungssätzen können Sie verstehen, wie sich Vorlagenänderungen auf laufende Ressourcen auswirken, bevor Sie sie implementieren. In diesem Beispiel wird die Transfer-Serverressource geändert und die VPCEndpoint Ressource wird entfernt. Der VPC-Endpunktserver erstellt in Ihrem Namen einen VPC-Endpunkt und ersetzt die ursprüngliche `VPCEndpoint` Ressource.

      Nach dem Hochladen der neuen Vorlage sieht der Änderungssatz etwa wie folgt aus:  
![\[Zeigt die Vorschauseite des Änderungssatzes an, auf der die aktuelle CloudFormation Vorlage ersetzt werden kann.\]](http://docs.aws.amazon.com/de_de/transfer/latest/userguide/images/vpc-endpoint-update-cfn.png)

   1. Aktualisieren Sie den Stack.

1. Sobald das Stack-Update abgeschlossen ist, navigieren Sie zur Transfer Family Family-Verwaltungskonsole unter [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/).

1. Starten Sie den Server neu. Wählen Sie den Server aus, auf dem Sie aktualisiert haben CloudFormation, und wählen Sie dann im Menü **Aktionen** die Option **Start**.

## Den Server EndpointType mithilfe der API aktualisieren
<a name="update-endpoint-cli"></a>

Sie können den Befehl [describe-server](https://docs.aws.amazon.com/cli/latest/reference/transfer/update-server.html) oder den AWS CLI [UpdateServer](https://docs.aws.amazon.com/transfer/latest/APIReference/API_UpdateServer.html)API-Befehl verwenden. Das folgende Beispielskript stoppt den Transfer Family Family-Server, aktualisiert den EndpointType, entfernt den VPC\$1ENDPOINT und startet den 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])
```