使用適用於 SFTP 的 AWS 轉移,將現場部署 SFTP 伺服器遷移到 AWS - AWS 方案指引

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用適用於 SFTP 的 AWS 轉移,將現場部署 SFTP 伺服器遷移到 AWS

由阿卡什·庫馬爾(AWS)創建

環境:生產

來源:存儲

目標:Amazon S3

R 類型:重新主機

技術:移轉、儲存與備份、網站與網路應用程式

AWS 服務:Amazon S3;AWS Transfer Family;Amazon CloudWatch 日誌

Summary

此模式說明如何使用 AWS 傳輸 SFTP 服務,將使用安全殼層 (SSH) 檔案傳輸協定 (SFTP) 的現場部署檔案傳輸解決方案遷移到 Amazon Web Services 務 (AWS) 雲端。使用者通常透過其網域名稱或固定 IP 連線至 SFTP 伺服器。這種圖案涵蓋了兩種情況。

AWS Transfer for SFTP 是 AWS Transfer Family 的成員。這是一種安全的傳輸服務,可用來透過 SFTP 將檔案傳入和傳出 AWS 儲存服務。您可以將 AWS 轉移用於 SFTP 與亞馬遜簡單儲存服務 (Amazon S3) 或亞馬 Amazon Elastic File System (Amazon EFS) 搭配使用。此模式使用 Amazon S3 進行存儲。

先決條件和限制

先決條件

  • 作用中的 AWS 帳戶

  • 現有的 SFTP 網域名稱或固定的 SFTP 網域名稱。

限制

  • 您可以在一個請求中傳輸的最大對象是目前 5 GiB。對於大於 100 MiB 的檔案,請考慮使用 Amazon S3 分段上傳。

架構

源, 技術, 堆棧

  • 內部部署平面檔案或資料庫傾印檔案。

目標技術堆疊

  • AWS Transfer for SFTP

  • Amazon S3

  • Amazon Virtual Private Cloud (Amazon VPC)

  • AWS Identity and Access Management (IAM) 角色和政策

  • 彈性 IP 地址

  • 安全群組

  • Amazon CloudWatch 日誌(可選)

目標架構

自動化和規模

若要自動化此模式的目標架構,請使用附加的 AWS CloudFormation 範本:

  • amazon-vpc-subnets.yml佈建具有兩個公有子網路和兩個私有子網路的虛擬私有雲 (VPC)。

  • amazon-sftp-server.yml提供 SFTP 伺服器。

  • amazon-sftp-customer.yml添加用戶。

工具

AWS 服務

  • Amazon CloudWatch Logs 可協助您集中管理所有系統、應用程式和 AWS 服務的日誌,以便您可以監控和安全地存檔日誌。

  • AWS Identity and Access Management (IAM) 可透過控制誰經過身份驗證和授權使用 AWS 資源,協助您安全地管理對 AWS 資源的存取。

  • Amazon Simple Storage Service (Amazon S3) 是一種雲端型物件儲存服務,可協助您儲存、保護和擷取任何數量的資料。此模式使用 Amazon S3 做為檔案傳輸的儲存系統。

  • 適用於 SFTP 的 AWS 傳輸可協助您透過 SFTP 協定將檔案傳入和傳出 AWS 儲存服務。

  • Amazon Virtual Private Cloud (Amazon VPC) 可協助您將 AWS 資源啟動到您已定義的虛擬網路中。這個虛擬網路類似於您在自己的資料中心中操作的傳統網路,並具有使用 AWS 可擴展基礎設施的好處。

史诗

任務描述所需技能

使用子網路建立 VPC。

前往 https://console.aws.amazon.com/vpc/ 開啟 Amazon VPC 主控台。建立具有兩個公有子網路的虛擬私有雲 (VPC)。(第二個子網路提供高可用性。)

—或—

您可以在CloudFormation 控制台中部署附加的 CloudFormation 模板amazon-vpc-subnets.yml,以自動執行此史詩中的任務。

系統管理員開發人員

新增網際網路閘道。

佈建網際網路閘道並將其連接到 VPC。

系統管理員開發人員

遷移現有的 IP。

將現有 IP 附加至彈性 IP 位址。您可以從地址池創建彈性 IP 地址並使用它。

系統管理員開發人員
任務描述所需技能

建立一個 SFTP 伺服器。

開啟 AWS Transfer Family 主控台,網址為 https://console.aws.amazon.com/transfer/。按照 AWS Transfer Family 文件中為您的伺服器建立網際網路對向端點中的指示,建立具有面向網際網路的端點的 SFTP 伺服器。針對「端點類型」,選擇「VPC 託管」。若要存取,請選擇 [網際網路面對 對於 VPC,請選擇您在上一個史詩中創建的 VPC。

—或—

您可以在CloudFormation 控制台中部署附加的 CloudFormation 模板amazon-sftp-server.yml,以自動執行此史詩中的任務。

系統管理員開發人員

移轉網域名稱。

將現有網域名稱附加到自訂主機名稱。如果您使用的是新的網域名稱,請使用 Amazon Route 53 DNS 別名。對於現有的網域名稱,請選擇「其他 DNS」。如需詳細資訊,請參閱 AWS Transfer Family 文件中的使用自訂主機名稱

系統管理員開發人員

新增記 CloudWatch 錄角色。

(可選)如果要啟用日誌 CloudWatch 記錄,請使用 CloudWatch 日誌 API 操作logs:CreateLogGrouplogs:CreateLogStream logs:DescribeLogStreams、和創建Transfer 角色logs:PutLogEvents。如需詳細資訊,請參閱 AWS Transfer Family 文件 CloudWatch中的日誌活動

開發人員,系統管理

儲存並提交。

選擇儲存。對於「動作」,請選擇「動」,然後等待 SFTP 伺服器建立狀態為「線上」。

系統管理員開發人員
任務描述所需技能

停止伺服器,以便您可以修改設定。

AWS Transfer Family 主控台上,選擇 [伺服器],然後選取您建立的 SFTP 伺服器。針對 Actions (動作),選擇 Stop (停止)。當伺服器離線時,請選擇 [編輯] 修改其設定。

開發人員,系統管理

選擇可用區域和子網路。

在 [可用區域] 區段中,選擇 VPC 的可用區域和子網路。

系統管理員開發人員

新增彈性 IP 位址。

針對 IPv4 位址,請為每個子網路選擇一個彈性 IP 位址,然後選擇 [儲存]。

系統管理員開發人員
任務描述所需技能

為使用者建立 IAM 角色以存取 S3 儲存貯體。

為 S3 儲存貯體名稱建立 IAM 角色  s3:ListBucket s3:GetBucketLocation,並s3:PutObject將其新增為資源。Transfer如需詳細資訊,請參閱 AWS Transfer Family 文件中的建立 IAM 角色和政策

—或—

您可以在CloudFormation 控制台中部署附加的 CloudFormation 模板amazon-sftp-customer.yml,以自動執行此史詩中的任務。

系統管理員開發人員

建立 S3 儲存貯體。

為應用程式建立 S3 儲存貯體。

系統管理員開發人員

建立選擇性資料夾。

(選擇性) 如果您要分別為使用者存放檔案,請在特定的 Amazon S3 資料夾中,視需要新增資料夾。

系統管理員開發人員

建立安全殼層公開金鑰。

若要建立安全殼層 key pair,請參閱 AWS Transfer Family 文件中的產生 SSH 金鑰

系統管理員開發人員

新增使用者。

AWS Transfer Family 主控台上,選擇 [伺服器],選取您建立的 SFTP 伺服器,然後選擇 [新增使用者]。對於主目錄,請選擇您建立的 S3 儲存貯體。對於 SSH 公開金鑰,請指定安全殼層 key pair 的公開金鑰部分。新增 SFTP 伺服器的使用者,然後選擇 [新增]。

系統管理員開發人員
任務描述所需技能

更新安全性群組。

在 SFTP 伺服器的「安全群組」區段中,新增測試機器的 IP 以取得 SFTP 存取權。

開發人員

使用 SFTP 用戶端公用程式來測試伺服器。

使用任何 SFTP 用戶端公用程式測試檔案傳輸。如需用戶端和指示的清單,請參閱 AWS 傳輸系列文件中的使用用戶端傳輸檔案。

開發人員

相關資源

附件

若要存取與此文件相關聯的其他內容,請解壓縮下列檔案:attachment.zip