Memperbarui tipe endpoint AWS Transfer Family server dari VPC_ENDPOINT ke VPC - AWS Transfer Family

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_ENDPOINT ke VPC

Anda dapat menggunakan AWS Management Console, AWS CloudFormation, atau Transfer Family API untuk memperbarui server EndpointType dari VPC_ENDPOINT keVPC. 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.

Mengidentifikasi server menggunakan tipe VPC_ENDPOINT endpoint

Anda dapat mengidentifikasi server mana yang VPC_ENDPOINT menggunakan AWS Management Console.

Untuk mengidentifikasi server menggunakan tipe VPC_ENDPOINT endpoint menggunakan konsol
  1. Buka AWS Transfer Family konsol di https://console.aws.amazon.com/transfer/.

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

  3. Urutkan daftar server berdasarkan jenis Endpoint untuk melihat semua server yang menggunakanVPC_ENDPOINT.

Untuk mengidentifikasi server yang menggunakan VPC_ENDPOINT berbagai 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 DescribeRegionsdan panggilan Transfer Family ListServers API untuk mendapatkan daftar ID server dan wilayah dari semua server yang Anda gunakan. VPC_ENDPOINT 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)
  2. Setelah Anda memiliki daftar server untuk diperbarui, Anda dapat menggunakan salah satu metode yang dijelaskan di bagian berikut untuk memperbarui EndpointType keVPC.

Memperbarui tipe endpoint server menggunakan AWS Management Console

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

  2. Di panel navigasi, pilih Server.

  3. Pilih kotak centang server yang ingin Anda ubah tipe endpoint.

    penting

    Anda harus menghentikan server sebelum Anda dapat mengubah titik akhirnya.

  4. Untuk Tindakan, pilih Berhenti.

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

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

  7. Di bagian Detail titik akhir, pilih Edit.

  8. Pilih VPC yang dihosting untuk tipe Endpoint.

  9. Pilih Simpan.

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

Memperbarui tipe endpoint server menggunakan AWS CloudFormation

Bagian ini menjelaskan cara menggunakan AWS CloudFormation untuk memperbarui server EndpointType keVPC. Gunakan prosedur ini untuk server Transfer Family yang telah Anda gunakan AWS CloudFormation. Dalam contoh ini, AWS 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:

  • EndpointTypeItu diubah menjadiVPC.

  • AWS::EC2::VPCEndpointSumber daya dihapus.

  • Itu SecurityGroupIdSubnetIds,, dan VpcId dipindahkan ke EndpointDetails bagian AWS::Transfer::Server sumber daya,

  • VpcEndpointIdProperti 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 AWS 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/.

    2. Di panel navigasi, pilih Server.

    3. Pilih kotak centang server yang ingin Anda ubah tipe endpoint.

      penting

      Anda harus menghentikan server sebelum Anda dapat mengubah titik akhirnya.

    4. Untuk Tindakan, pilih Berhenti.

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

  2. Perbarui CloudFormation tumpukan

    1. Buka AWS CloudFormation konsol di https://console.aws.amazon.com/cloudformation.

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

    3. Pilih Perbarui.

    4. Pilih Ganti template saat ini

    5. Unggah template baru. CloudFormation Ubah Set membantu Anda memahami bagaimana perubahan template akan memengaruhi sumber daya yang sedang berjalan sebelum Anda menerapkannya. Dalam contoh ini, sumber daya server Transfer akan dimodifikasi, dan sumber daya VPcendPoint 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 AWS CloudFormation template saat ini.
    6. Perbarui tumpukan.

  3. Setelah pembaruan tumpukan selesai, navigasikan ke konsol manajemen Transfer Family di https://console.aws.amazon.com/transfer/.

  4. Mulai ulang server. Pilih server yang Anda perbarui AWS CloudFormation, lalu pilih Mulai dari menu Tindakan.

Memperbarui server EndpointType menggunakan API

Anda dapat menggunakan perintah deskripsi-server, atau AWS CLI perintah API. UpdateServer Contoh skrip berikut menghentikan server Transfer Family, memperbarui EndpointType, menghapus VPC_ENDPOINT, 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])