

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Memperbarui tipe endpoint AWS Transfer Family server dari VPC\$1ENDPOINT ke VPC
<a name="update-endpoint-type-vpc"></a>

Anda dapat menggunakan Konsol Manajemen AWS, CloudFormation, atau Transfer Family API untuk memperbarui server `EndpointType` dari `VPC_ENDPOINT` ke`VPC`. Prosedur dan contoh terperinci untuk menggunakan masing-masing metode ini untuk memperbarui jenis endpoint server disediakan di bagian berikut. Jika Anda memiliki server di beberapa AWS wilayah dan di beberapa AWS akun, Anda dapat menggunakan contoh skrip yang disediakan di bagian berikut, dengan modifikasi, untuk mengidentifikasi server menggunakan `VPC_ENDPOINT` jenis yang perlu Anda perbarui.

**Topics**
+ [Mengidentifikasi server menggunakan tipe `VPC_ENDPOINT` endpoint](#id-servers)
+ [Memperbarui tipe endpoint server menggunakan Konsol Manajemen AWS](#update-endpoint-console)
+ [Memperbarui tipe endpoint server menggunakan CloudFormation](#update-endpoint-cloudformation)
+ [Memperbarui server EndpointType menggunakan API](#update-endpoint-cli)

## Mengidentifikasi server menggunakan tipe `VPC_ENDPOINT` endpoint
<a name="id-servers"></a>

Anda dapat mengidentifikasi server mana yang `VPC_ENDPOINT` menggunakan Konsol Manajemen AWS.

**Untuk mengidentifikasi server menggunakan tipe `VPC_ENDPOINT` endpoint menggunakan konsol**

1. Buka AWS Transfer Family konsol di [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/).

1. Pilih **Server** di panel navigasi untuk menampilkan daftar server di akun Anda di wilayah tersebut.

1. Urutkan daftar server berdasarkan **jenis Endpoint** untuk melihat semua server yang menggunakan`VPC_ENDPOINT`.

**Untuk mengidentifikasi server yang menggunakan `VPC_ENDPOINT` di beberapa AWS Wilayah dan akun**

Jika Anda memiliki server di beberapa AWS wilayah dan di beberapa AWS akun, Anda dapat menggunakan contoh skrip berikut, dengan modifikasi, untuk mengidentifikasi server menggunakan tipe `VPC_ENDPOINT` endpoint. Skrip contoh menggunakan Amazon EC2 [DescribeRegions](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeRegions.html)dan operasi Transfer Family [https://docs.aws.amazon.com/transfer/latest/APIReference/API_ListServers.html](https://docs.aws.amazon.com/transfer/latest/APIReference/API_ListServers.html)API. Jika Anda memiliki banyak AWS akun, Anda dapat melakukan loop melalui akun Anda menggunakan Peran IAM dengan akses auditor hanya baca jika Anda mengautentikasi menggunakan profil sesi ke penyedia identitas Anda.

1. Berikut ini adalah contoh sederhana.

   ```
   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. Setelah Anda memiliki daftar server untuk diperbarui, Anda dapat menggunakan salah satu metode yang dijelaskan di bagian berikut untuk memperbarui `EndpointType` ke`VPC`.

## Memperbarui tipe endpoint server menggunakan Konsol Manajemen AWS
<a name="update-endpoint-console"></a>

1. Buka AWS Transfer Family konsol di [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/).

1. Di panel navigasi, pilih **Server**.

1. Pilih kotak centang server yang ingin Anda ubah tipe endpoint.
**penting**  
Anda harus menghentikan server sebelum Anda dapat mengubah titik akhirnya.

1. Untuk **Tindakan**, pilih **Berhenti**.

1. Di kotak dialog konfirmasi yang muncul, pilih **Berhenti** untuk mengonfirmasi bahwa Anda ingin menghentikan server.
**catatan**  
Sebelum melanjutkan ke langkah berikutnya, tunggu **Status** server berubah menjadi **Offline**; ini bisa memakan waktu beberapa menit. Anda mungkin harus memilih **Refresh** di halaman **Server** untuk melihat perubahan status.

1. Setelah status berubah menjadi **Offline**, pilih server untuk menampilkan halaman detail server.

1. Di bagian **Detail titik akhir**, pilih **Edit**.

1. Pilih **VPC yang dihosting untuk tipe** **Endpoint**.

1. Pilih **Simpan**.

1. Untuk **Tindakan**, pilih **Mulai** dan tunggu status server berubah menjadi **Online**; ini bisa memakan waktu beberapa menit.

## Memperbarui tipe endpoint server menggunakan CloudFormation
<a name="update-endpoint-cloudformation"></a>

Bagian ini menjelaskan cara menggunakan CloudFormation untuk memperbarui server `EndpointType` ke`VPC`. Gunakan prosedur ini untuk server Transfer Family yang telah Anda gunakan CloudFormation. Dalam contoh ini, CloudFormation template asli yang digunakan untuk menyebarkan server Transfer Family ditampilkan sebagai berikut:

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

Template diperbarui dengan perubahan berikut:
+ `EndpointType`Itu diubah menjadi`VPC`.
+ `AWS::EC2::VPCEndpoint`Sumber daya dihapus.
+ Itu `SecurityGroupId``SubnetIds`,, dan `VpcId` dipindahkan ke `EndpointDetails` bagian `AWS::Transfer::Server` sumber daya,
+ `VpcEndpointId`Properti `EndpointDetails` telah dihapus.

Template yang diperbarui terlihat sebagai berikut:

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

**Untuk memperbarui jenis endpoint dari server Transfer Family yang digunakan CloudFormation**

1. Hentikan server yang ingin Anda perbarui menggunakan langkah-langkah berikut.

   1. Buka AWS Transfer Family konsol di [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/).

   1. Di panel navigasi, pilih **Server**.

   1. Pilih kotak centang server yang ingin Anda ubah tipe endpoint.
**penting**  
Anda harus menghentikan server sebelum Anda dapat mengubah titik akhirnya.

   1. Untuk **Tindakan**, pilih **Berhenti**.

   1. Di kotak dialog konfirmasi yang muncul, pilih **Berhenti** untuk mengonfirmasi bahwa Anda ingin menghentikan server.
**catatan**  
Sebelum melanjutkan ke langkah berikutnya, tunggu **Status** server berubah menjadi **Offline**; ini bisa memakan waktu beberapa menit. Anda mungkin harus memilih **Refresh** di halaman **Server** untuk melihat perubahan status.

1. Perbarui CloudFormation tumpukan

   1. Buka CloudFormation konsol di [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

   1. Pilih tumpukan yang digunakan untuk membuat server Transfer Family.

   1. Pilih **Perbarui**.

   1. Pilih **Ganti template saat ini**

   1. Unggah template baru. CloudFormation Ubah Set membantu Anda memahami bagaimana perubahan template akan memengaruhi sumber daya yang berjalan sebelum Anda menerapkannya. Dalam contoh ini, sumber daya server Transfer akan dimodifikasi, dan VPCEndpoint sumber daya akan dihapus. Server tipe titik akhir VPC membuat titik akhir VPC atas nama Anda, menggantikan sumber daya asli. `VPCEndpoint`

      Setelah mengunggah template baru, set perubahan akan terlihat mirip dengan yang berikut ini:  
![\[Menampilkan Ubah halaman pratinjau set untuk mengganti CloudFormation template saat ini.\]](http://docs.aws.amazon.com/id_id/transfer/latest/userguide/images/vpc-endpoint-update-cfn.png)

   1. Perbarui tumpukan.

1. Setelah pembaruan tumpukan selesai, navigasikan ke konsol manajemen Transfer Family di [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/).

1. Mulai ulang server. Pilih server yang Anda perbarui CloudFormation, lalu pilih **Mulai** dari menu **Tindakan**.

## Memperbarui server EndpointType menggunakan API
<a name="update-endpoint-cli"></a>

Anda dapat menggunakan [perintah deskripsi-server](https://docs.aws.amazon.com/cli/latest/reference/transfer/update-server.html), atau AWS CLI perintah API. [UpdateServer](https://docs.aws.amazon.com/transfer/latest/APIReference/API_UpdateServer.html) Contoh skrip berikut menghentikan server Transfer Family, memperbarui EndpointType, menghapus VPC\$1ENDPOINT, dan memulai 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])
```