

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

# 監控和稽核 S3 檔案
<a name="s3-files-monitoring-logging"></a>

S3 檔案與下列 AWS 服務整合，以協助您監控檔案系統：

**Amazon CloudWatch**  
根據預設，S3 檔案指標資料會在 1 分鐘內自動傳送至 CloudWatch，除非針對某些個別指標另有說明。您也可以在指定的期間內監看單一指標，並根據多個期間內相對於指定閾值的指標值執行一或多個動作。此動作是傳送到 Amazon Simple Notification Service (Amazon SNS) 主題或 Amazon EC2 Auto Scaling 政策的通知。  
如需詳細資訊，請參閱[使用 Amazon CloudWatch 監控 S3 檔案](s3-files-monitoring-cloudwatch.md)。

**CloudTrail**  
CloudTrail 會擷取由您的帳戶 AWS 發出或代表您的帳戶發出的 API 呼叫和相關事件，並將日誌檔案交付至您指定的 Amazon S3 儲存貯體。S3 檔案會記錄管理事件，包括建立檔案系統、建立掛載目標，以及掛載檔案系統以運算執行個體。S3 檔案不會記錄資料事件，例如檔案讀取和寫入操作。  
如需詳細資訊，請參閱[使用適用於 S3 檔案的 CloudTrail 記錄](s3-files-logging-cloudtrail.md)。

**Topics**
+ [使用 Amazon CloudWatch 監控 S3 檔案](s3-files-monitoring-cloudwatch.md)
+ [使用適用於 S3 檔案的 CloudTrail 記錄](s3-files-logging-cloudtrail.md)

# 使用 Amazon CloudWatch 監控 S3 檔案
<a name="s3-files-monitoring-cloudwatch"></a>

您可以使用 [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) 監控 S3 檔案系統，該系統會收集來自 Amazon S3 檔案的原始資料並將其處理為可讀指標。這些指標會保留 15 個月，因此您可以存取歷史資訊，並更清楚檔案系統的效能。

S3 檔案指標資料會自動傳送至 CloudWatch。大多數指標會每隔 1 分鐘傳送一次，而儲存指標則會每 15 分鐘傳送一次。您可以建立 [CloudWatch 警示](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Alarms.html)，在指標超過您指定的閾值時傳送通知。您也可以使用 CloudWatch 儀表板，這是 CloudWatch 主控台中可自訂的首頁，可用於在單一檢視中監控資源。如需詳細資訊，請參閱[建立自訂 CloudWatch 儀表板](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/create_dashboard.html)。

## S3 檔案 CloudWatch 指標
<a name="s3-files-monitoring-cloudwatch-metrics"></a>

S3 檔案指標使用 `AWS/S3Files` 命名空間。系統會針對單一維度 報告所有指標`FileSystemId`。`AWS/S3Files` 命名空間包含下列指標：


| 指標 | Description | 單位和有效統計資料 | 
| --- | --- | --- | 
| StorageBytes | 檔案系統的總大小，以位元組為單位，其中包含資料和中繼資料。此指標每 15 分鐘會發送到 CloudWatch。 | 單位：位元組。最小值、最大值、平均值 | 
| Inodes | S3 檔案檔案系統中的索引 （例如檔案、目錄、符號連結） 總數。此指標每 15 分鐘會發送到 CloudWatch。 | 單位：計數。總和 | 
| PendingExports | 待匯出至 S3 儲存貯體的檔案和目錄總數。 | 單位：計數。總和 | 
| ImportFailures | 重試後無法匯入檔案系統的物件總數 （例如，不正確的 IAM 許可）。 | 單位：計數。總和 | 
| ExportFailures | 匯出失敗且不會重試的檔案和目錄總數。此指標可協助您識別終端機匯出失敗，以便疑難排解並採取動作 （例如，更新 IAM 許可）。 | 單位：計數。總和 | 
| DataReadBytes | 從檔案系統讀取的位元組數。 SampleCount會提供資料讀取操作的數量。您可以檢視每個單位時間的此指標，來計算資料讀取輸送量。 | 單位：位元組 （最小值、最大值、平均值、總和）、計數 (SampleCount) | 
| DataWriteBytes | 寫入檔案系統的位元組數。 SampleCount會提供資料寫入操作的數量。您可以檢視每個單位時間的此指標，來計算資料寫入輸送量。 | 單位：位元組 （最小值、最大值、平均值、總和）、計數 (SampleCount) | 
| MetadataReadBytes | 從檔案系統讀取的中繼資料位元組數目。 SampleCount會提供中繼資料讀取操作數目。 | 單位：位元組 （最小值、最大值、平均值、總和）、計數 (SampleCount) | 
| MetadataWriteBytes | 寫入檔案系統的中繼資料位元組數。 SampleCount會提供中繼資料寫入操作的數量。 | 單位：位元組 （最小值、最大值、平均值、總和）、計數 (SampleCount) | 
| LostAndFoundFiles | 失物招領目錄中的檔案總數。失物招領目錄位於檔案系統的根目錄中，名稱為 .s3files-lost\$1found-file-system-id。失物招領目錄中的檔案不會複製到 S3 儲存貯體。當因為同時變更檔案系統和 S3 儲存貯體中的相同資料而發生衝突時，S3 檔案會將 S3 儲存貯體視為事實來源，並將衝突的檔案移至遺失和找到的目錄。 | 單位：計數。總和 | 
| ClientConnections | 檔案系統的作用中用戶端連線數目。 | 單位：計數。總和 | 

## 用戶端連線指標
<a name="s3-files-monitoring-cloudwatch-client-metrics"></a>

S3 檔案可讓用戶端直接從連結的 S3 儲存貯體讀取檔案資料，以最佳化讀取效能。為了支援此功能，S3 Files 用戶端會發出連線指標，以監控用戶端是否可以建立必要的連線。

這些指標由 S3 Files 用戶端 (amazon-efs-utils) 發出，並發佈至 `efs-utils/S3Files` CloudWatch 命名空間。指標發射預設為啟用，作為 S3 檔案體驗的一部分。


| 指標 | Description | 單位和有效統計資料 | 
| --- | --- | --- | 
| NFSConnectionAccessible | 指出用戶端是否可以透過 NFS 掛載連線至檔案系統。值為 1 表示可存取連線。值為 0 表示無法存取連線。 | 單位：無。最小值、最大值、平均值 | 
| S3BucketAccessible | 指出用戶端是否具有從連結的 S3 儲存貯體讀取資料所需的許可。值為 1 表示用戶端具有必要的許可。值為 0 表示用戶端沒有必要的許可。 | 單位：無。最小值、最大值、平均值 | 
| S3BucketReachable | 指出連結的 S3 儲存貯體和字首是否存在，並且可從用戶端連線。值為 1 表示可以連接儲存貯體和字首。值 0 表示無法存取儲存貯體或字首。 | 單位：無。最小值、最大值、平均值 | 

## 存取 CloudWatch 指標
<a name="s3-files-monitoring-cloudwatch-access"></a>

您可以使用 CloudWatch 主控台、CLI AWS 或 CloudWatch API 檢視 S3 檔案指標。

### 使用 CloudWatch 主控台檢視指標
<a name="s3-files-monitoring-cloudwatch-access-console"></a>

1. 在 [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) 開啟 CloudWatch 主控台。

1. 在導覽窗格中，選擇**指標**，然後選擇**所有指標**。

1. 選擇 **S3Files** 命名空間。

1. 選擇**檔案系統指標**。

1. 選取您要檢視的指標。

1. 選擇**圖形化指標**索引標籤來設定圖形顯示。

### 使用 AWS CLI 檢視指標
<a name="s3-files-monitoring-cloudwatch-access-cli"></a>

使用 `get-metric-statistics` 命令。例如，若要檢視 `DataReadBytes`：

```
aws cloudwatch get-metric-statistics \
  --namespace AWS/S3Files \
  --metric-name DataReadBytes \
  --dimensions Name=FileSystemId,Value=file-system-id \
  --start-time 2025-01-20T00:00:00Z \
  --end-time 2025-01-20T23:59:59Z \
  --period 3600 \
  --statistics Sum
```

# 使用適用於 S3 檔案的 CloudTrail 記錄
<a name="s3-files-logging-cloudtrail"></a>

Amazon S3 Files 已與 CloudTrail 整合，CloudTrail 是一種服務，可提供由使用者、角色或 S3 Files 中的 AWS 服務所採取之動作的記錄。CloudTrail 會將 S3 檔案的所有 API 呼叫擷取為事件，包括來自 S3 檔案主控台的呼叫，以及對 S3 檔案 API 操作的程式碼呼叫。

如果您建立線索，您可以將 CloudTrail 事件持續交付至 Amazon S3 儲存貯體，包括 S3 檔案的事件。即使您未設定追蹤，依然可以透過 CloudTrail 主控台中的**事件歷史記錄**檢視最新事件。您可以使用 CloudTrail 所收集的資訊，判斷對 S3 檔案提出的請求、提出請求的 IP 地址、提出請求的人員、提出請求的時間，以及其他詳細資訊。

## CloudTrail 中的 S3 檔案資訊
<a name="s3-files-logging-cloudtrail-info"></a>

當您建立 AWS 帳戶時，會在您的帳戶上啟用 CloudTrail。當 Amazon S3 檔案中的活動發生時，該活動會與**事件歷史記錄**中的其他 AWS 服務事件一起記錄在 CloudTrail 事件中。您可以在 AWS 帳戶中檢視、搜尋和下載最近的事件。如需詳細資訊，請參閱《[CloudTrail 使用者指南》中的使用 CloudTrail 事件歷史記錄檢視](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html)事件。 *CloudTrail *

若要持續記錄您 AWS 帳戶中的事件，包括 S3 檔案的事件，請建立追蹤。線索能讓 CloudTrail 將日誌檔案交付至 Amazon S3 儲存貯體。根據預設，當您在主控台中建立線索時，線索會套用至所有 AWS 區域。線索會記錄 AWS 分割區中所有區域的事件，並將日誌檔案交付至您指定的 Amazon S3 儲存貯體。此外，您可以設定其他 AWS 服務，以進一步分析和處理 CloudTrail 日誌中所收集的事件資料。

如需詳細資訊，請參閱 *CloudTrail 使用者指南*中的下列主題：
+ [為 AWS 您的帳戶建立追蹤](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)
+ [AWS 服務與 CloudTrail 日誌的整合](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-aws-service-specific-topics.html)
+ [設定 CloudTrail 的 Amazon SNS 通知](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/configure-sns-notifications-for-cloudtrail.html)
+ [接收多個區域的 CloudTrail 日誌檔案](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/receive-cloudtrail-log-files-from-multiple-regions.html)及[接收多個帳戶的 CloudTrail 日誌檔案](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-receive-logs-from-multiple-accounts.html)

CloudTrail 會記錄所有 [S3 檔案 APIs](https://docs.aws.amazon.com/AmazonS3/latest/API/API_Operations_Amazon_S3_Files.html)。例如，對 `CreateFileSystem`、`CreateMountTarget` 和 `TagResource` 作業的呼叫都會在 CloudTrail 日誌檔案中產生項目。當您在運算資源上掛載檔案系統時，S3 檔案也會產生 CloudTrail 日誌。

每一筆事件或日誌專案都會包含產生請求者的資訊。身分資訊可協助您判斷下列事項：
+ 是否使用根使用者或 IAM 使用者憑證提出該請求。
+ 提出該請求時，是否使用了特定角色或聯合身分使用者的暫時安全憑證。
+ 該請求是否由另一項 AWS 服務提出。

如需詳細資訊，請參閱《[CloudTrail 使用者指南》中的 CloudTrail userIdentity 元素](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html)。 *CloudTrail *

S3 檔案不會記錄資料事件。資料事件包括在檔案系統上執行的檔案讀取和寫入操作。

## 了解 S3 檔案日誌檔案項目
<a name="s3-files-logging-cloudtrail-entries"></a>

追蹤是一種組態，能讓事件以日誌檔案的形式交付到您指定的 Amazon S3 儲存貯體。CloudTrail 日誌檔案包含一或多個日誌專案。一個事件為任何來源提出的單一請求，並包含請求動作、請求的日期和時間、請求參數等資訊。CloudTrail 日誌檔並非依公有 API 呼叫的堆疊追蹤排序，因此不會以任何特定順序出現。

### 範例：CreateFileSystem
<a name="s3-files-logging-cloudtrail-example-createfs"></a>

以下範例顯示的是展示 `CreateFileSystem` 動作的 CloudTrail 日誌項目：

```
{
    "eventVersion": "1.11",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "111122223333",
        "arn": "arn:aws:sts::111122223333:assumed-role/myRole/i-0123456789abcdef0",
        "accountId": "111122223333",
        "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
        "sessionContext": {
            "sessionIssuer": {
                "type": "Role",
                "principalId": "111122223333",
                "arn": "arn:aws:iam::111122223333:role/myRole",
                "accountId": "111122223333",
                "userName": "myRole"
            },
            "attributes": {
                "creationDate": "2026-03-20T12:58:28Z",
                "mfaAuthenticated": "false"
            },
            "ec2RoleDelivery": "2.0"
        }
    },
    "eventTime": "2026-03-20T17:43:19Z",
    "eventSource": "s3files.amazonaws.com",
    "eventName": "CreateFileSystem",
    "awsRegion": "us-west-2",
    "sourceIPAddress": "192.0.2.0",
    "userAgent": "aws-cli/2.0",
    "requestParameters": {
        "bucket": "arn:aws:s3:::amzn-s3-demo-bucket",
        "prefix": "images/",
        "clientToken": "myClientToken",
        "roleArn": "arn:aws:iam::111122223333:role/myS3FilesRole"
    },
    "responseElements": {
        "creationTime": "Mar 20, 2026, 5:43:19 PM",
        "fileSystemArn": "arn:aws:s3files:us-west-2:111122223333:file-system/fs-abcd123456789ef0",
        "fileSystemId": "fs-abcd123456789ef0",
        "bucket": "arn:aws:s3:::amzn-s3-demo-bucket",
        "prefix": "images/",
        "clientToken": "myClientToken",
        "status": "creating",
        "roleArn": "arn:aws:iam::111122223333:role/myS3FilesRole",
        "ownerId": "111122223333",
        "tags": []
    },
    "requestID": "dEXAMPLE-feb4-11e6-85f0-736EXAMPLE75",
    "eventID": "eEXAMPLE-2d32-4619-bd00-657EXAMPLEe4",
    "readOnly": false,
    "resources": [
        {
            "accountId": "111122223333",
            "type": "AWS::S3Files::FileSystem",
            "ARN": "arn:aws:s3files:us-west-2:111122223333:file-system/fs-abcd123456789ef0"
        }
    ],
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "111122223333",
    "eventCategory": "Management",
    "tlsDetails": {
        "tlsVersion": "TLSv1.3",
        "cipherSuite": "TLS_AES_128_GCM_SHA256",
        "clientProvidedHostHeader": "s3files.us-west-2.api.aws"
    }
}
```

### 範例：CreateMountTarget
<a name="s3-files-logging-cloudtrail-example-createmt"></a>

下列範例顯示 `CreateMountTarget`動作的 CloudTrail 日誌項目：

```
{
    "eventVersion": "1.11",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "111122223333",
        "arn": "arn:aws:sts::111122223333:assumed-role/myRole/i-0123456789abcdef0",
        "accountId": "111122223333",
        "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
        "sessionContext": {
            "sessionIssuer": {
                "type": "Role",
                "principalId": "111122223333",
                "arn": "arn:aws:iam::111122223333:role/myRole",
                "accountId": "111122223333",
                "userName": "myRole"
            },
            "attributes": {
                "creationDate": "2026-03-20T13:09:56Z",
                "mfaAuthenticated": "false"
            },
            "ec2RoleDelivery": "2.0"
        }
    },
    "eventTime": "2026-03-20T18:05:14Z",
    "eventSource": "s3files.amazonaws.com",
    "eventName": "CreateMountTarget",
    "awsRegion": "us-west-2",
    "sourceIPAddress": "192.0.2.0",
    "userAgent": "aws-cli/2.0",
    "requestParameters": {
        "fileSystemId": "fs-abcd123456789ef0",
        "subnetId": "subnet-01234567890abcdef",
        "securityGroups": [
            "sg-c16d65b6"
        ]
    },
    "responseElements": {
        "availabilityZoneId": "usw2-az2",
        "ownerId": "111122223333",
        "mountTargetId": "fsmt-1234567",
        "fileSystemId": "fs-abcd123456789ef0",
        "subnetId": "subnet-01234567890abcdef",
        "ipv4Address": "192.0.2.0",
        "ipv6Address": "2001:db8::1",
        "networkInterfaceId": "eni-0123456789abcdef0",
        "vpcId": "vpc-01234567",
        "securityGroups": [
            "sg-c16d65b6"
        ],
        "status": "creating"
    },
    "requestID": "dEXAMPLE-feb4-11e6-85f0-736EXAMPLE75",
    "eventID": "eEXAMPLE-2d32-4619-bd00-657EXAMPLEe4",
    "readOnly": false,
    "resources": [
        {
            "accountId": "111122223333",
            "type": "AWS::S3Files::FileSystem",
            "ARN": "arn:aws:s3files:us-west-2:111122223333:file-system/fs-abcd123456789ef0"
        },
        {
            "accountId": "111122223333",
            "type": "AWS::S3Files::MountTarget",
            "ARN": "arn:aws:s3files:us-west-2:111122223333:mount-target/fsmt-1234567"
        },
        {
            "accountId": "111122223333",
            "type": "AWS::EC2::Subnet",
            "ARN": "arn:aws:ec2:us-west-2:111122223333:subnet/subnet-01234567890abcdef"
        },
        {
            "accountId": "111122223333",
            "type": "AWS::EC2::NetworkInterface",
            "ARN": "arn:aws:ec2:us-west-2:111122223333:network-interface/eni-0123456789abcdef0"
        }
    ],
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "111122223333",
    "eventCategory": "Management",
    "tlsDetails": {
        "tlsVersion": "TLSv1.3",
        "cipherSuite": "TLS_AES_128_GCM_SHA256",
        "clientProvidedHostHeader": "s3files.us-west-2.api.aws"
    }
}
```