

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

# AWS Amazon MWAA 的共同責任模型
<a name="shared-responsibility"></a>

本指南適用於 Amazon MWAA 佈建環境。在佈建環境中，您可以選取環境類別，並設定工作者和 Web 伺服器擴展限制。

安全與合規是 AWS 與您之間的共同責任。[共同責任模型](https://aws.amazon.com/compliance/shared-responsibility-model/)將其描述為雲端**「的」安全性和雲端「中」**的安全性：對於 Amazon MWAA，此模型將安全性延伸至營運責任。我們操作、管理和控制基礎元件。這些範圍從主機作業系統和虛擬化層，到服務運作所在設施的實體安全性。

您負責管理部署到環境的內容。在 Amazon MWAA 上，該內容包含您的 DAG 程式碼和您在 中宣告的Python相依性`requirements.txt`。它還包含您的自訂外掛程式以及您提供的任何啟動指令碼。您的責任涵蓋您選擇的組態、網路和許可。您也必須負責環境上執行之工作流程的day-to-day操作。Amazon MWAA 會在您提供內容時執行您提供的內容。Amazon MWAA 不會檢查、驗證或修改它。

**注意**  
雖然 會為您的環境 AWS 操作基礎設施，但工作流程寫入中繼資料資料庫的資料會直接影響服務執行的方式。未限制的中繼資料成長可能會降低排程器和 Web 伺服器回應時間。您負責管理環境中的資料量。

## AWS 管理 的基礎設施
<a name="shared-responsibility-aws"></a>

我們負責保護在 中執行 AWS 服務的基礎設施 AWS 雲端。對於 Amazon MWAA，這包括下列項目：
+ **Apache Airflow 設定** – Amazon MWAA 會為您設定 Apache Airflow。它使用網際網路上可用的相同 Apache Airflow 使用者介面和開放原始碼。如需詳細資訊，請參閱[什麼是 Amazon Managed Workflows for Apache Airflow？](what-is-mwaa.md)。
+ **受管元件的運算** – Amazon MWAA 為您的環境佈建和操作 AWS Fargate 運算。此運算會執行 Apache Airflow 排程器、工作者和 Web 伺服器。Amazon MWAA 也會佈建和操作 Apache Airflow 中繼資料資料庫。對於每個環境，Amazon MWAA 會建立 AWS 擁有的 Amazon VPC，以託管 Web 伺服器和中繼資料資料庫。排程器和工作者會連接到您擁有和設定的 環境的 Amazon VPC 中的私有子網路。如需詳細資訊，請參閱[《Amazon MWAA 遷移指南》中的探索 Amazon MWAA 網路架構](https://docs.aws.amazon.com/mwaa/latest/migrationguide/mwaa-architecture.html)。 **
+ **Apache Airflow 中繼資料資料庫** – Amazon MWAA 會為每個環境佈建和操作 Apache Airflow 中繼資料資料庫。您仍需對工作流程寫入的資料量負責。如需詳細資訊，請參閱[您管理的卓越營運](#shared-responsibility-operations)。
+ **版本映像和修補** – Amazon MWAA 會建置容器映像，將 Apache Airflow 版本與其他常見的二進位檔和Python程式庫綁定。Amazon MWAA 會修補這些映像。環境會繼續使用其指定的映像版本，直到您發出更新環境動作以將其移至更新版本為止。如需詳細資訊，請參閱[關於 Amazon MWAA 版本](airflow-versions.md#airflow-versions-image)。映像定義可在 GitHub 網站上的 [amazon-mwaa-docker-images](https://github.com/aws/amazon-mwaa-docker-images) 儲存庫中取得。
+ **版本支援生命週期** – Amazon MWAA 會發佈每個 Apache Airflow 版本的可用性和支援結束日期。當您帳戶中的環境執行即將終止支援的版本 Health 儀板表 時，Amazon MWAA 會透過 通知您。如需目前的支援承諾和日期，請參閱 [End-of-support版本](airflow-versions.md#airflow-versions-eos)。
+ **受管元件的自動擴展** – Amazon MWAA 會擴展工作者和 Web 伺服器以回應需求。擴展會保持在您設定的限制內。您可以選擇環境類別、工作者和 Web 伺服器擴展設定，以及排程器計數。如需詳細資訊，請參閱[設定 Amazon MWAA 工作者自動擴展](mwaa-autoscaling.md)、[設定 Amazon MWAA Webserver 自動擴展](mwaa-web-server-autoscaling.md)及[設定 Amazon MWAA 環境類別](environment-class.md)。
+ **資料加密** – Amazon MWAA 會加密靜態和傳輸中的資料。Amazon MWAA 也會代表您將必要的授予附加到客戶管理的 KMS 金鑰。如需詳細資訊，請參閱[Amazon Managed Workflows for Apache Airflow 中的資料保護](data-protection.md)。
+ **指標和日誌** – Amazon MWAA 會將環境指標發佈至 Amazon CloudWatch。Amazon MWAA 會將您啟用的日誌類型的 Apache Airflow 日誌交付至 CloudWatch Logs。如需詳細資訊，請參閱[Amazon MWAA 的監控概觀](monitoring-overview.md)。
+ **合規計劃** – 第三方稽核人員會定期測試和驗證 AWS 安全性的有效性。如需詳細資訊，請參閱[Amazon Managed Workflows for Apache Airflow 的合規驗證](compliance-validation.md)。

## 您管理的工作流程程式碼和內容
<a name="shared-responsibility-content"></a>

您有責任控制您在此基礎設施上託管的內容。此內容包含下列項目：
+ **DAG 程式碼** – 您複製到 Amazon S3 儲存貯體中`dags`資料夾的 DAG 定義。您要負責這些 DAGs存取的內容及其執行的操作。如需詳細資訊，請參閱[新增或更新 DAGs](configuring-dag-folder.md)。
+ **Python 相依性** – 您透過將`requirements.txt`檔案上傳至 Amazon S3 儲存貯體所安裝的程式庫。這包括工作流程所需的每個套件的安全性和相容性。不相容或資源密集的套件可能會降低排程器和工作者效能，或防止容器啟動。如需詳細資訊，請參閱[安裝 Python 相依性](working-dags-dependencies.md)及[在 requirements.txt 中管理 Python 相依性](best-practices-dependencies.md)。
+ **自訂外掛程式** – 您上傳至 Amazon S3 儲存貯體`plugins.zip`的檔案內容。我們建議您在上傳檔案之前驗證檔案的內容。如需詳細資訊，請參閱[安裝自訂外掛程式](configuring-dag-import-plugins.md)。
+ **啟動指令碼** – Amazon MWAA 在啟動時在每個元件上執行的 Shell 指令碼。您也可以指定指令碼的 Amazon S3 版本 ID。如需詳細資訊，請參閱[搭配 Amazon MWAA 使用啟動指令碼](using-startup-script.md)。
+ **測試** – 在將 DAGs、自訂外掛程式和Python相依性部署到環境之前，驗證它們。建議您在開發環境中測試 Apache Airflow 版本升級，然後再將其套用至生產環境。您可以使用GitHub網站上的 [amazon-mwaa-docker-images](https://github.com/aws/amazon-mwaa-docker-images) 容器映像，在本機進行開發和測試。
+ **您的 Amazon S3 儲存貯體及其內容** – 與環境相關聯的儲存貯體的儲存貯體政策和物件 ACLs。Amazon MWAA 不會代表您備份儲存貯體內容。如果您的 DAGs、外掛程式和需求檔案需要災難復原狀態，我們建議您啟用版本控制和設定跨區域複寫。我們也建議您不要將其他物件存放在儲存貯體中，或將儲存貯體與其他服務搭配使用。
+ **您輸入的資料** – 強烈建議您絕對不要將機密或敏感資訊放入標籤或自由格式欄位，例如**名稱**欄位。

## 您管理的卓越營運
<a name="shared-responsibility-operations"></a>

Amazon MWAA 會操作受管基礎設施。您仍需對在該基礎設施上執行的工作流程負責。您部署的程式碼、相依性和組態會決定環境的執行方式。Amazon MWAA 會發佈描述環境運作狀態的指標和日誌。解讀該資料、對其設定警示，以及對其報告的內容採取行動**是您的責任**。
+ **監控環境運作狀態** – 檢閱 Amazon MWAA 為您的環境發佈的 CloudWatch 指標。這些包括容器、佇列和資料庫指標，可協助您偵測飽和和降級。如需詳細資訊，請參閱[Amazon Managed Workflows for Apache Airflow 的監控和指標](cw-metrics.md)及[Amazon MWAA 的容器、佇列和資料庫指標](accessing-metrics-cw-container-queue-db.md)。
+ **儀表板和警示** – 建立 CloudWatch 儀表板和警示，在您的環境接近其限制時通知您。如需詳細資訊，請參閱[在 Amazon MWAA 上監控儀表板和警示](monitoring-dashboard.md)。
+ **日誌分析** – 啟用您需要的 Apache Airflow 日誌類型。然後，您可以分析排程器、工作者、Web 伺服器和任務日誌，以診斷工作流程失敗。如需詳細資訊，請參閱[在 Amazon CloudWatch 中存取 Airflow 日誌](monitoring-airflow.md)及[故障診斷：CloudWatch Logs 和 CloudTrail 錯誤](t-cloudwatch-cloudtrail-logs.md)。
+ **CloudWatch 服務配額** – 確保您帳戶中的 CloudWatch 配額可以處理您環境產生的日誌磁碟區。超過 等 CloudWatch Logs 配額`CreateLogStream`可能會導致工作者降級。如需詳細資訊，請參閱 [CloudWatch Logs 配額](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/cloudwatch_limits_cwl.html)。
+ **中繼資料資料庫維護** – 保持 Apache Airflow 中繼資料資料庫照明。定期移除工作流程不再需要的中繼資料。未限制的中繼資料資料庫可能會降低排程器和 Web 伺服器效能。如需詳細資訊，請參閱[Amazon MWAA 環境上的 Aurora PostgreSQL 資料庫清除](samples-database-cleanup.md)。
+ **DAG 設計和排程頻率** – 您的 DAG 計數、每個 DAG 的任務和排程間隔會直接決定受管排程器的負載。Amazon MWAA 不會調節或拒絕超過環境容量的工作負載。您必須設計符合所設定資源DAGs。
+ **任務資源控管** – 設定任務層級逾時、Apache Airflow 集區大小和每個 DAG 並行限制。Amazon MWAA 不會代表您強制執行每個任務的護欄。如果沒有這些設定，單一長時間執行或高並行 DAG 可以使用所有可用的工作者。
+ **容量和效能調校** – 選擇環境類別、工作者和 Web 伺服器擴展限制，以及適合您工作負載的 Apache Airflow 組態選項。自動擴展在您設定的邊界內運作，不會補償超過環境設計容量的工作負載。您必須調整工作負載描述檔的環境類別大小。如需詳細資訊，請參閱[Amazon MWAA 上 Apache Airflow 的效能調校](best-practices-tuning.md)及[設定 Amazon MWAA 環境類別](environment-class.md)。
+ **您透過啟動指令碼所做的變更** – 啟動指令碼會在您環境中的每個元件上執行。它可以變更這些元件的組態。您必須對您以此方式進行的變更負責，包括它們對環境穩定性的任何影響。建議您先測試啟動指令碼，再將其套用至生產環境。如需詳細資訊，請參閱[搭配 Amazon MWAA 使用啟動指令碼](using-startup-script.md)。
+ **環境更新** – 啟動環境更新是您的動作。更新會觸發容器重新啟動，並可能影響執行中的工作流程。您有責任選擇何時更新和評估對進行中任務的影響。我們建議您在沒有執行關鍵 DAGs 的時段內更新 。若要在不暫停和取消暫停 DAGs 的情況下更新，請考慮進行正常的更新，這可讓工作者在關閉之前完成進行中的任務。適用條件和限制；如需詳細資訊，請參閱[更新 Amazon MWAA 環境](update-environment.md)。
+ **第一級分類**：在與 AWS Support 互動之前，使用可用的指標和日誌來診斷問題。Support AWS 可用來協助您的詳細資訊層級，取決於您為環境啟用的記錄層級。
+ **跨環境協調** – 協調跨多個 Amazon MWAA 環境的工作流程。如果您使用 Apache Airflow REST API 或外部感應器等機制來連結環境，您必須負責該協調邏輯。
+ **遵循 Amazon MWAA 最佳實務** – 套用記錄的效能、相依性和環境組態指引。如需詳細資訊，請參閱[Amazon Managed Workflows for Apache Airflow 的最佳實務](best-practices.md)。

## 您管理的組態和存取權
<a name="shared-responsibility-configuration"></a>

您可以選擇環境的設定方式，以及誰可以連接它。您必須負責下列事項：
+ **保持您的版本為最新版本** – 您有責任保持 Amazon MWAA 版本為最新版本。將環境升級至較新的 Apache Airflow 版本是您啟動的動作。如需詳細資訊，請參閱[變更 Apache Airflow 版本](upgrading-environment.md)及[End-of-support版本](airflow-versions.md#airflow-versions-eos)。
+ **執行角色** – 建立環境後，Amazon MWAA 無法新增或編輯現有執行角色的許可政策。您必須使用環境所需的其他許可來更新執行角色。如需詳細資訊，請參閱[Amazon MWAA 執行角色](mwaa-create-role.md)。
+ **IAM 存取控制** – 決定誰可以存取您環境和 Apache Airflow UI 的政策。僅將許可授予使用者所需的資源和動作。如需詳細資訊，請參閱[AWS Identity and Access Management](security-iam.md)及[存取 Amazon MWAA 環境](access-policies.md)。
+ **Apache Airflow 使用者權限** – Apache Airflow 不是多租戶。DAG 作者可以撰寫 DAGs，以變更 Apache Airflow 使用者權限並與基礎中繼資料資料庫互動。對於具有 DAG 寫入存取權的個別團隊，我們建議您使用不同的環境。如需詳細資訊，請參閱[Apache Airflow 中的安全最佳實務](security-best-practices.md#security-best-practices-for-airflow)。
+ **Web 伺服器存取模式** – 選擇 `PUBLIC_ONLY`或 `PRIVATE_ONLY` 以存取 Apache Airflow UI。這是決定 Web 伺服器端點是否可從網際網路連線的安全性決策。如需詳細資訊，請參閱[Amazon MWAA 上 VPC 的安全性](vpc-security.md)。
+ **網路組態** – 您的 Amazon VPC、子網路、安全群組和網路 ACLs。這包括引導 NAT 閘道流量的傳入和傳出規則。如果您選擇管理自己的 Amazon VPC 端點，您必須負責建立這些端點。如需詳細資訊，請參閱[Amazon MWAA 上 VPC 的安全性](vpc-security.md)及[在 Amazon MWAA 上管理您自己的 Amazon VPC 端點](vpc-endpoint-management.md)。
+ **加密金鑰選擇** – 要使用 AWS 擁有的 KMS 金鑰或客戶管理的 KMS 金鑰。如果您使用客戶管理的 KMS 金鑰，則必須將必要的政策陳述式連接到金鑰。如需詳細資訊，請參閱[Amazon Managed Workflows for Apache Airflow 中的資料保護](data-protection.md)。
+ **秘密和連線** – 您的工作流程使用的登入資料。建議您將秘密儲存在 Secrets Manager 中。如需詳細資訊，請參閱[使用 AWS Secrets Manager 秘密設定 Apache Airflow 連線](connections-secrets-manager.md)。
+ **Apache Airflow 組態選項** – 您在環境中覆寫的組態選項。如需詳細資訊，請參閱[在 Amazon MWAA 上使用 Apache Airflow 組態選項](configuring-env-variables.md)。

## 相關資源
<a name="shared-responsibility-more-info"></a>
+ [AWS 共同責任模型](https://aws.amazon.com/compliance/shared-responsibility-model/)
+ *AWS Well-Architected 架構*中的[共同責任](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/shared-responsibility.html) 
+ [Amazon Managed Workflows for Apache Airflow 的最佳實務](best-practices.md)
+ [Amazon MWAA 上 Apache Airflow 的效能調校](best-practices-tuning.md)
+ [在 Amazon MWAA 上監控儀表板和警示](monitoring-dashboard.md)
+ [Amazon MWAA 的容器、佇列和資料庫指標](accessing-metrics-cw-container-queue-db.md)
+ [Amazon MWAA 的安全最佳實務](security-best-practices.md)