

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

# Mengirimkan log akses server ke CloudWatch Log
<a name="sal-cw-enabling"></a>

Anda dapat mengirimkan log akses server Amazon S3 ke grup log Log menggunakan CloudWatch pengiriman CloudWatch log penjual Amazon Logs. Setelah log berada di CloudWatch Log, Anda dapat melakukan kueri dengan Wawasan CloudWatch Log, menggabungkannya di seluruh akun dan Wilayah, mengenkripsinya dengan AWS Key Management Service (AWS KMS), dan secara opsional mengirimkannya ke Tabel Amazon S3 dalam format Apache Iceberg untuk analisis SQL. Anda juga dapat mengirimkan log ke Amazon S3 dalam format JSON atau Apache Parquet atau merutekkannya melalui Amazon Data Firehose.

Anda mengonfigurasi pengiriman menggunakan API CloudWatch Log, bukan API Amazon S3. Anda menentukan grup log untuk setiap bucket sumber. Beberapa bucket dapat berbagi grup log yang sama, atau setiap bucket dapat mengirimkannya sendiri.

**Tip**  
Anda dapat mengatur beberapa tujuan untuk ember yang sama. Misalnya, kirimkan ke grup CloudWatch log Log untuk kueri interaktif dan kirimkan secara bersamaan ke Amazon S3 dalam format Parket untuk retensi jangka panjang dengan biaya lebih rendah.

**catatan**  
CloudWatch Pengiriman log vended log juga mendukung Amazon Data Firehose dan Amazon S3 sebagai tujuan pengiriman, termasuk format keluaran Apache Parquet. Halaman ini mencakup tujuan grup CloudWatch log Log, yang juga mendukung integrasi Tabel S3 untuk analitik SQL. Untuk informasi tentang tujuan Firehose dan Amazon S3, [lihat Mengaktifkan pencatatan AWS dari layanan di Panduan](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html) Pengguna Log * CloudWatch Amazon*.

**catatan**  
Untuk informasi tentang mengirimkan log akses server ke bucket tujuan umum Amazon S3, lihat. [Mengaktifkan pencatatan akses server Amazon S3](enable-server-access-logging.md)

## Prasyarat
<a name="sal-cw-prerequisites"></a>

Sebelum Anda mengatur pengiriman, Anda memerlukan yang berikut:
+ Bucket tujuan umum Amazon S3 (bucket sumber yang ingin Anda log).
+ Grup CloudWatch log Log Wilayah AWS sama dengan bucket sumber.
+ Izin IAM untuk pemanggil. Minimal, Anda memerlukan izin berikut:
  + `logs:PutDeliverySource`
  + `logs:PutDeliveryDestination`
  + `logs:CreateDelivery`
  + `s3:AllowVendedLogDeliveryForResource`(di ember sumber)

  Jika Anda berencana untuk mengaktifkan integrasi Tabel S3, Anda juga perlu:
  + `observabilityadmin:CreateS3TableIntegration`
  + `logs:AssociateSourceToS3TableIntegration`
  + `s3tables:CreateTableBucket`
  + `s3tables:PutTableBucketEncryption`
  + `s3tables:PutTableBucketPolicy`

## Menyiapkan pengiriman (AWS CLI)
<a name="sal-cw-setup-cli"></a>

Untuk mengatur pengiriman log akses server ke CloudWatch Log menggunakan AWS Command Line Interface, selesaikan tiga langkah berikut.

1. **Buat sumber pengiriman.** Ini mendaftarkan bucket Amazon S3 Anda sebagai sumber CloudWatch log dengan Log.

   ```
   aws logs put-delivery-source \
     --name {{my-sal-source}} \
     --resource-arn arn:aws:s3:::{{my-bucket}} \
     --log-type S3_SERVER_ACCESS_LOGS
   ```

1. **Buat tujuan pengiriman.** Ini menentukan grup CloudWatch log Log di mana log akan dikirimkan.

   ```
   aws logs put-delivery-destination \
     --name {{my-sal-destination}} \
     --delivery-destination-configuration '{"destinationResourceArn": "arn:aws:logs:{{us-east-1}}:{{123456789012}}:log-group:{{my-sal-logs}}"}'
   ```

1. **Buat pengiriman.** Ini menautkan sumber ke tujuan dan memulai pengiriman log.

   ```
   aws logs create-delivery \
     --delivery-source-name {{my-sal-source}} \
     --delivery-destination-arn arn:aws:logs:{{us-east-1}}:{{123456789012}}:delivery-destination:{{my-sal-destination}}
   ```

Setelah Anda menyelesaikan langkah-langkah ini, Amazon S3 mulai mengirimkan log akses server ke grup log Log Anda CloudWatch . Konfigurasi membutuhkan waktu 15-20 menit untuk disebarkan. Setelah propagasi, pengiriman log biasanya dimulai dalam beberapa jam. Hanya permintaan baru yang dicatat — tidak ada isi ulang data historis.

## Menyiapkan pengiriman (konsol Amazon S3)
<a name="sal-cw-setup-console"></a>

1. Masuk ke konsol Amazon S3 di. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Di panel navigasi kiri, pilih **Bucket**.

1. Pilih nama bucket sumber yang ingin Anda aktifkan logging.

1. Pilih tab **Properti**.

1. Di bagian **Pengiriman log akses server ke CloudWatch Log**, pilih **Edit**.

1. Pilih **Aktifkan**.

1. Pilih atau buat grup CloudWatch log Log sebagai tujuan pengiriman.

1. (Opsional) Untuk mengirimkan log ke Tabel S3 dalam format Apache Iceberg, pilih **Aktifkan** integrasi Tabel S3.

1. Pilih **Simpan perubahan**.

Setelah Anda menyimpan, bagian **Pengiriman log akses Server ke CloudWatch Log** menampilkan grup log yang diaktifkan.

## Menyiapkan pengiriman (CloudFormation)
<a name="sal-cw-setup-cfn"></a>

Anda dapat menggunakan AWS CloudFormation untuk mengotomatiskan pengaturan pengiriman log akses server ke CloudWatch Log. Template berikut membuat sumber daya yang diperlukan: peran IAM, grup CloudWatch log Log, sumber pengiriman, tujuan pengiriman, dan pengiriman.

```
AWSTemplateFormatVersion: '2010-09-09'
Description: S3 Access Logs delivery to CloudWatch Logs

Parameters:
  SourceBucketArn:
    Type: String
    Description: ARN of the S3 bucket to enable access logging
  LogGroupName:
    Type: String
    Default: /aws/s3/access-logs
    Description: CloudWatch Log Group name for SAL delivery

Resources:
  SALLogGroup:
    Type: AWS::Logs::LogGroup
    Properties:
      LogGroupName: !Ref LogGroupName
      RetentionInDays: 180

  SALDeliverySource:
    Type: AWS::Logs::DeliverySource
    Properties:
      Name: !Sub '${AWS::StackName}-sal-source'
      ResourceArn: !Ref SourceBucketArn
      LogType: S3_SERVER_ACCESS_LOGS

  SALDeliveryDestination:
    Type: AWS::Logs::DeliveryDestination
    Properties:
      Name: !Sub '${AWS::StackName}-sal-destination'
      DestinationResourceArn: !GetAtt SALLogGroup.Arn

  SALDelivery:
    Type: AWS::Logs::Delivery
    Properties:
      DeliverySourceName: !Ref SALDeliverySource
      DeliveryDestinationArn: !GetAtt SALDeliveryDestination.Arn
```

## Mengaktifkan integrasi Tabel S3 (opsional)
<a name="sal-cw-tables-integration"></a>

Saat Anda mengaktifkan integrasi Tabel S3, CloudWatch Log secara otomatis mengirimkan log akses server Anda dalam format Apache Iceberg ke bucket tabel `aws-cloudwatch` terkelola di akun Anda. Anda kemudian dapat menanyakan data ini menggunakan Amazon Athena, Amazon Redshift, atau alat apa pun. Iceberg-compatible 

Tidak ada biaya tambahan untuk penyimpanan atau pemeliharaan meja dalam integrasi Tabel S3. Anda hanya membayar untuk konsumsi CloudWatch Log dan untuk permintaan kueri dengan harga Tabel S3.

1. **Buat integrasi Tabel S3** (sekali per akun per Wilayah).

   ```
   aws observabilityadmin create-s3-table-integration \
     --role-arn arn:aws:iam::{{123456789012}}:role/{{CWLogsS3TableIntegrationRole}} \
     --encryption '{"SseAlgorithm": "AES256"}'
   ```

   Peran IAM harus mempercayai kepala `logs.amazonaws.com` layanan dan memberikan `logs:integrateWithS3Table` izin. Berikut ini adalah contoh kebijakan kepercayaan:

   ```
   		 	 	 {
     "Version": "2012-10-17",
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "Service": "logs.amazonaws.com"
         },
         "Action": "sts:AssumeRole",
         "Condition": {
           "StringEquals": {
             "aws:SourceAccount": "{{123456789012}}"
           },
           "ArnLike": {
             "aws:SourceArn": "arn:aws:logs:{{us-east-1}}:{{123456789012}}:log-group:{{log-group-name}}"
           }
         }
       }
     ]
   }
   ```

   Peran tersebut juga memerlukan kebijakan izin berikut:

   ```
   		 	 	 {
     "Version": "2012-10-17",
     "Statement": [
       {
         "Effect": "Allow",
         "Action": "logs:integrateWithS3Table",
         "Resource": "arn:aws:logs:{{us-east-1}}:{{123456789012}}:log-group:{{log-group-name}}",
         "Condition": {
           "StringEquals": {
             "aws:ResourceAccount": "{{123456789012}}"
           }
         }
       }
     ]
   }
   ```

1. **Kaitkan sumber pengiriman Anda dengan integrasi.**

   ```
   aws logs associate-source-to-s3-table-integration \
     --integration-arn {{integration-arn}} \
     --data-source '{"name":"amazon_s3","type":"server_access"}'
   ```

Setelah langkah-langkah ini, CloudWatch Log membuat bucket tabel `aws-cloudwatch` terkelola dan mulai mengirimkan log dalam format Iceberg. Data biasanya muncul dalam waktu satu jam setelah pengiriman pertama ke CloudWatch Log.

Untuk informasi tentang kueri integrasi Tabel S3, lihat. [Menanyakan log akses di Tabel S3](sal-cw-querying-s3tables.md)

## Cross-account dan agregasi lintas wilayah
<a name="sal-cw-cross-account"></a>

Jalur pengiriman CloudWatch Log mendukung agregasi log lintas akun dan lintas wilayah dengan dua opsi:
+ **CloudWatch observabilitas lintas akun** memungkinkan Anda untuk menanyakan log di tempat di seluruh akun tanpa menyalin data.
+ **CloudWatch Sentralisasi log** memungkinkan Anda untuk mengkonsolidasikan log dari beberapa akun dan Wilayah ke dalam grup log pusat, secara opsional menggunakan filter langganan untuk penerusan selektif.

Untuk pengaturan multi-akun, administrator dapat menggunakan aturan pengaktifan CloudWatch Konfigurasi Telemetri AWS Organizations untuk secara otomatis mengaktifkan pengiriman log akses server di seluruh akun anggota.

**catatan**  
Aturan pemberdayaan saat ini tidak mendukung pengaktifan otomatis integrasi Tabel S3. Anda harus mengaktifkan integrasi secara terpisah di setiap akun.

## Enkripsi
<a name="sal-cw-encryption"></a>

Anda dapat mengenkripsi log akses server yang dikirimkan ke CloudWatch Log dengan mengonfigurasi AWS KMS enkripsi pada grup log Anda. Ketika log akses server dikirim ke grup log itu, log tersebut dienkripsi dengan kunci Anda AWS KMS . Ini membahas batasan utama jalur pengiriman bucket tujuan umum Amazon S3, yang hanya SSE-S3 mendukung enkripsi.

Jika Anda mengaktifkan integrasi Tabel S3 dengan grup log AWS KMS-enkripsi, Anda harus memberikan izin tambahan dalam kebijakan AWS KMS kunci Anda ke prinsip layanan berikut:

```
		 	 	 {
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "EnableCWSystemTablesKeyUsage",
      "Effect": "Allow",
      "Principal": {
        "Service": "systemtables.cloudwatch.amazonaws.com"
      },
      "Action": [
        "kms:DescribeKey",
        "kms:GenerateDataKey",
        "kms:Decrypt"
      ],
      "Resource": "arn:aws:kms:{{us-east-1}}:{{123456789012}}:key/{{key-id}}",
      "Condition": {
        "StringEquals": {
          "aws:SourceAccount": "{{123456789012}}"
        }
      }
    },
    {
      "Sid": "EnableS3TablesMaintenanceKeyUsage",
      "Effect": "Allow",
      "Principal": {
        "Service": "maintenance.s3tables.amazonaws.com"
      },
      "Action": [
        "kms:GenerateDataKey",
        "kms:Decrypt"
      ],
      "Resource": "arn:aws:kms:{{us-east-1}}:{{123456789012}}:key/{{key-id}}",
      "Condition": {
        "StringLike": {
          "kms:EncryptionContext:aws:s3:arn": "{{table-bucket-arn}}/*"
        }
      }
    }
  ]
}
```

`systemtables.cloudwatch.amazonaws.com`Prinsipal digunakan oleh CloudWatch Log untuk menulis log ke Tabel S3. `maintenance.s3tables.amazonaws.com`Prinsipal digunakan oleh Tabel S3 untuk operasi Gunung Es seperti pemadatan.

## Menonaktifkan pengiriman
<a name="sal-cw-disabling"></a>

Untuk menghentikan pengiriman log akses server ke CloudWatch Log, Anda dapat menghapus pengiriman atau sumber pengiriman:
+ **Hapus pengiriman** — menghentikan pengiriman log tetapi menjaga konfigurasi sumber pengiriman tetap utuh. Anda dapat membuat pengiriman baru nanti tanpa mengonfigurasi ulang sumbernya.

  ```
  aws logs delete-delivery \
    --id {{delivery-id}}
  ```
+ **Hapus sumber pengiriman** — menghapus konfigurasi sumber sepenuhnya. Gunakan ini jika Anda tidak lagi menginginkan bucket terkait dengan pengiriman CloudWatch Log.

  ```
  aws logs delete-delivery-source \
    --name {{delivery-source-name}}
  ```

Log yang dikirim sebelumnya tetap berada di grup log dan dalam integrasi Tabel S3 (jika diaktifkan). Menghapus pengiriman tidak menghapus data log yang ada.