Habilitar publicação no CloudWatch para o S3 Storage Lens - Amazon Simple Storage Service

Habilitar publicação no CloudWatch para o S3 Storage Lens

É possível publicar métricas da Lente de Armazenamento do S3 no Amazon CloudWatch para criar uma visão unificada de sua integridade operacional nos painéis do CloudWatch. Também é possível usar os recursos do CloudWatch, como alarmes e ações acionadas, matemática métrica e detecção de anomalias, para monitorar e realizar ações sobre as métricas da Lente de Armazenamento do S3. Além disso, as operações de API do CloudWatch permitem que aplicações, inclusive provedores de terceiros, acessem as métricas da Lente de Armazenamento do S3. Para obter mais informações sobre os recursos do CloudWatch, consulte o Guia do usuário do Amazon CloudWatch Events.

As métricas do S3 Storage Lens são publicadas no CloudWatch na conta proprietária da configuração do S3 Storage Lens. Depois de habilitar a opção de publicação no CloudWatch em métricas e recomendações avançadas, você pode acessar as métricas por organização, conta e bucket no CloudWatch. As métricas de nível prefixo não estão disponíveis no CloudWatch.

Você pode habilitar o suporte do CloudWatch a configurações de painéis novos ou existentes usando o console do S3, as APIs REST do Amazon S3, a AWS CLI e os AWS SDKs. A opção de publicação no CloudWatch está disponível para painéis com upgrade para métricas e recomendações avançadas da Lente de Armazenamento do S3. Para saber mais sobre o preço das métricas e recomendações avançadas da Lente de Armazenamento do S3, consulte Definição de preço do Amazon S3. Não são aplicadas cobranças adicionais para publicação de métricas no CloudWatch, mas outras cobranças do CloudWatch, como painéis, alarmes e chamadas de API, são aplicáveis.

Para habilitar a opção de publicação de métricas do S3 Storage Lens no CloudWatch, consulte os tópicos a seguir.

nota

As métricas do S3 Storage Lens são métricas diárias e são publicadas no CloudWatch uma vez por dia. Quando você consulta métricas do S3 Storage Lens no CloudWatch, o período para a consulta deve ser de 1 dia (86.400 segundos). Depois que as métricas diárias do S3 Storage Lens são exibidas no painel do S3 Storage Lens no console do Amazon S3, essas mesmas métricas podem demorar algumas horas para serem exibidas no CloudWatch. Quando você habilita a opção de publicação do CloudWatch para métricas do S3 Storage Lens pela primeira vez, as métricas podem levar até 24 horas para serem publicadas no CloudWatch.

No momento, as métricas da Lente de Armazenamento do S3 não podem ser consumidas por fluxos do CloudWatch.

Ao atualizar um painel da Lente de Armazenamento do S3, não é possível alterar o nome do painel nem a região inicial. Também não é possível alterar o escopo do painel padrão, que está definido como o armazenamento de toda a sua conta.

Como atualizar um painel da Lente de Armazenamento do S3 para habilitar a publicação no CloudWatch
  1. Faça login no AWS Management Console e abra o console do Amazon S3 em https://console.aws.amazon.com/s3/.

  2. No painel de navegação esquerdo, escolha S3 Storage Lens (Lente de Armazenamento do S3) e Dashboards (Painéis).

  3. Escolha o painel que você deseja editar e escolha Edit (Editar).

  4. Em Metrics selection (Seleção de métricas), escolha Advanced metrics and recommendations (Métricas e recomendações avançadas).

    As métricas e recomendações avançadas estão disponíveis mediante cobranças adicionais. As métricas e recomendações avançadas incluem um período de 15 meses para consultas de dados, métricas de uso agregadas por prefixo, métricas de atividade agregadas por bucket, opção de publicação no CloudWatch e recomendações contextuais que ajudam a otimizar os custos de armazenamento e aplicar as práticas recomendadas de proteção de dados. Para obter mais informações, consulte Definição de preço do Amazon S3.

  5. Em Select Advanced metrics and recommendations features, (Selecionar recursos de métricas e recomendações avançadas), escolha CloudWatch publishing (Publicação no CloudWatch).

    Importante

    Se a configuração permitir a agregação de prefixos para métricas de uso, as métricas de nível de prefixo não serão publicadas no CloudWatch. Somente métricas em nível de organização, conta e bucket do S3 Storage Lens são publicadas no CloudWatch.

  6. Escolha Save changes (Salvar alterações).

Para criar um novo painel do S3 Storage Lens que habilite o suporte ao CloudWatch
  1. Faça login no AWS Management Console e abra o console do Amazon S3 em https://console.aws.amazon.com/s3/.

  2. No painel de navegação esquerdo, escolha Storage Lens (Lente de Armazenamento) e Dashboards (Painéis).

  3. Escolha Create dashboard (Criar painel).

  4. Em General (Geral), defina as seguintes opções de configuração:

    1. Em Dashboard name (Nome do painel), insira o nome do painel.

      Os nomes do painel devem ter menos de 65 caracteres e não devem conter caracteres ou espaços especiais. Não é possível alterar o nome do painel depois que o painel é criado.

    2. Escolha a Home Region (Região inicial) do painel.

      As métricas de todas as regiões incluídas neste escopo do painel são armazenadas centralmente nesta região inicial designada. No CloudWatch, as métricas do S3 Storage Lens também estão disponíveis na região inicial. Não é possível alterar a região inicial depois que o painel é criado.

  5. (Opcional) Para adicionar etiquetas, escolha Add tag (Adicionar etiqueta) e insira a Key (Chave) e o Value (Valor) da etiqueta.

    nota

    Você pode adicionar até 50 tags à configuração do painel.

  6. Defina o escopo de sua configuração:

    1. Se você estiver criando uma configuração no nível da organização, escolha as contas a serem incluídas na configuração: Include all accounts in your configuration (Incluir todas as contas na configuração) ou Limit the scope to your signed-in account (Limitar o escopo à sua conta conectada).

      nota

      Ao criar uma configuração no nível da organização que inclui todas as contas, não será possível incluir ou excluir buckets, apenas regiões.

    2. Escolha as regiões e os buckets que deseja que a Lente de Armazenamento do S3 inclua na configuração do painel fazendo o seguinte:

      • Para incluir todas as regiões, selecione Include Regions and buckets (Incluir regiões e buckets).

      • Para incluir regiões específicas, desmarque a opção Include all Regions (Incluir todas as regiões). Em Choose Regions to include (Escolher regiões a serem incluídas), escolha as regiões que deseja que o S3 Storage Lens inclua no painel.

      • Para incluir bucket específicos, desmarque a opção Include all buckets (Incluir todos os buckets). Em Choose buckets to include (Escolher buckets a serem incluídos), escolha os buckets que deseja que o S3 Storage Lens inclua no painel.

        nota

        Você pode escolher até 50 buckets.

  7. Em Metrics selection (Seleção de métricas), escolha Advanced metrics and recommendations (Métricas e recomendações avançadas).

    Para obter mais informações sobre o preço das métricas e recomendações avançadas, consulte Preços do Amazon S3.

  8. Em Advanced metrics and recommendations features (Recursos de métricas e recomendações avançadas), selecione as opções que deseja habilitar:

    • Advanced metrics (Métricas avançadas)

    • Publicação no CloudWatch

      Importante

      Se você habilitar a agregação de prefixos na configuração do S3 Storage Lens, as métricas de nível de prefixo não serão publicadas no CloudWatch. Somente métricas em nível de organização, conta e bucket do S3 Storage Lens são publicadas no CloudWatch.

    • Agregação de prefixo

    nota

    Para obter mais informações sobre os recursos de métricas e recomendações avançadas, consulte Seleção de métricas.

  9. Se você ativou Advanced metrics (Métricas avançadas), selecione as Advanced metrics categories (Categorias de métricas avançadas) que deseja exibir no painel da Lente de Armazenamento do S3:

    • Métricas de atividade

    • Detailed status code metrics (Métricas detalhadas do código de status)

    • Advanced cost optimization metrics (Métricas avançadas de otimização de custos)

    • Advanced data protection metrics (Métricas avançadas de proteção de dados)

    Para obter mais informações sobre categorias de métricas, consulte Categorias de métricas. Para obter uma lista completa de métricas, consulte Glossário de métricas de lente de armazenamento do Amazon S3.

  10. (Opcional) Configure a exportação de métricas.

    Para obter mais informações sobre como configurar a exportação de métricas, consulte Criação de um painel do Amazon S3 Storage Lens.

  11. Escolha Create dashboard (Criar painel).

O seguinte exemplo da AWS CLI habilita a opção de publicação no CloudWatch usando uma configuração de métricas e recomendações avançadas em nível de organização da Lente de Armazenamento do S3. Para usar esse exemplo, substitua os user input placeholders por suas próprias informações.

aws s3control put-storage-lens-configuration --account-id=555555555555 --config-id=your-configuration-id --region=us-east-1 --storage-lens-configuration=file://./config.json config.json { "Id": "SampleS3StorageLensConfiguration", //Use this property to identify your S3 Storage Lens configuration. "AwsOrg": { //Use this property when enabling S3 Storage Lens for AWS Organizations. "Arn": "arn:aws:organizations::123456789012:organization/o-abcdefgh" }, "AccountLevel": { "ActivityMetrics": { "IsEnabled":true }, "AdvancedCostOptimizationMetrics": { "IsEnabled":true }, "AdvancedDataProtectionMetrics": { "IsEnabled":true }, "DetailedStatusCodesMetrics": { "IsEnabled":true }, "BucketLevel": { "ActivityMetrics": { "IsEnabled":true //Mark this as false if you want only free metrics. }, "ActivityMetrics": { "IsEnabled":true //Mark this as false if you want only free metrics. }, "AdvancedCostOptimizationMetrics": { "IsEnabled":true //Mark this as false if you want only free metrics. }, "DetailedStatusCodesMetrics": { "IsEnabled":true //Mark this as false if you want only free metrics. }, "PrefixLevel":{ "StorageMetrics":{ "IsEnabled":true, //Mark this as false if you want only free metrics. "SelectionCriteria":{ "MaxDepth":5, "MinStorageBytesPercentage":1.25, "Delimiter":"/" } } } } }, "Exclude": { //Replace with "Include" if you prefer to include Regions. "Regions": [ "eu-west-1" ], "Buckets": [ //This attribute is not supported for AWS Organizations-level configurations. "arn:aws:s3:::source_bucket1" ] }, "IsEnabled": true, //Whether the configuration is enabled "DataExport": { //Details about the metrics export "S3BucketDestination": { "OutputSchemaVersion": "V_1", "Format": "CSV", //You can add "Parquet" if you prefer. "AccountId": "111122223333", "Arn": "arn:aws:s3:::destination-bucket-name", // The destination bucket for your metrics export must be in the same Region as your S3 Storage Lens configuration. "Prefix": "prefix-for-your-export-destination", "Encryption": { "SSES3": {} } }, "CloudWatchMetrics": { "IsEnabled": true //Mark this as false if you want to export only free metrics. } } }
package aws.example.s3control; import com.amazonaws.AmazonServiceException; import com.amazonaws.SdkClientException; import com.amazonaws.auth.profile.ProfileCredentialsProvider; import com.amazonaws.services.s3control.AWSS3Control; import com.amazonaws.services.s3control.AWSS3ControlClient; import com.amazonaws.services.s3control.model.AccountLevel; import com.amazonaws.services.s3control.model.ActivityMetrics; import com.amazonaws.services.s3control.model.BucketLevel; import com.amazonaws.services.s3control.model.CloudWatchMetrics; import com.amazonaws.services.s3control.model.Format; import com.amazonaws.services.s3control.model.Include; import com.amazonaws.services.s3control.model.OutputSchemaVersion; import com.amazonaws.services.s3control.model.PrefixLevel; import com.amazonaws.services.s3control.model.PrefixLevelStorageMetrics; import com.amazonaws.services.s3control.model.PutStorageLensConfigurationRequest; import com.amazonaws.services.s3control.model.S3BucketDestination; import com.amazonaws.services.s3control.model.SSES3; import com.amazonaws.services.s3control.model.SelectionCriteria; import com.amazonaws.services.s3control.model.StorageLensAwsOrg; import com.amazonaws.services.s3control.model.StorageLensConfiguration; import com.amazonaws.services.s3control.model.StorageLensDataExport; import com.amazonaws.services.s3control.model.StorageLensDataExportEncryption; import com.amazonaws.services.s3control.model.StorageLensTag; import java.util.Arrays; import java.util.List; import static com.amazonaws.regions.Regions.US_WEST_2; public class CreateAndUpdateDashboard { public static void main(String[] args) { String configurationId = "ConfigurationId"; String sourceAccountId = "Source Account ID"; String exportAccountId = "Destination Account ID"; String exportBucketArn = "arn:aws:s3:::destBucketName"; // The destination bucket for your metrics export must be in the same Region as your S3 Storage Lens configuration. String awsOrgARN = "arn:aws:organizations::123456789012:organization/o-abcdefgh"; Format exportFormat = Format.CSV; try { SelectionCriteria selectionCriteria = new SelectionCriteria() .withDelimiter("/") .withMaxDepth(5) .withMinStorageBytesPercentage(10.0); PrefixLevelStorageMetrics prefixStorageMetrics = new PrefixLevelStorageMetrics() .withIsEnabled(true) .withSelectionCriteria(selectionCriteria); BucketLevel bucketLevel = new BucketLevel() .withActivityMetrics(new ActivityMetrics().withIsEnabled(true)) .withAdvancedCostOptimizationMetrics(new AdvancedCostOptimizationMetrics().withIsEnabled(true)) .withAdvancedDataProtectionMetrics(new AdvancedDataProtectionMetrics().withIsEnabled(true)) .withDetailedStatusCodesMetrics(new DetailedStatusCodesMetrics().withIsEnabled(true)) .withPrefixLevel(new PrefixLevel().withStorageMetrics(prefixStorageMetrics)); AccountLevel accountLevel = new AccountLevel() .withActivityMetrics(new ActivityMetrics().withIsEnabled(true)) .withAdvancedCostOptimizationMetrics(new AdvancedCostOptimizationMetrics().withIsEnabled(true)) .withAdvancedDataProtectionMetrics(new AdvancedDataProtectionMetrics().withIsEnabled(true)) .withDetailedStatusCodesMetrics(new DetailedStatusCodesMetrics().withIsEnabled(true)) .withBucketLevel(bucketLevel); Include include = new Include() .withBuckets(Arrays.asList("arn:aws:s3:::bucketName")) .withRegions(Arrays.asList("us-west-2")); StorageLensDataExportEncryption exportEncryption = new StorageLensDataExportEncryption() .withSSES3(new SSES3()); S3BucketDestination s3BucketDestination = new S3BucketDestination() .withAccountId(exportAccountId) .withArn(exportBucketArn) .withEncryption(exportEncryption) .withFormat(exportFormat) .withOutputSchemaVersion(OutputSchemaVersion.V_1) .withPrefix("Prefix"); CloudWatchMetrics cloudWatchMetrics = new CloudWatchMetrics() .withIsEnabled(true); StorageLensDataExport dataExport = new StorageLensDataExport() .withCloudWatchMetrics(cloudWatchMetrics) .withS3BucketDestination(s3BucketDestination); StorageLensAwsOrg awsOrg = new StorageLensAwsOrg() .withArn(awsOrgARN); StorageLensConfiguration configuration = new StorageLensConfiguration() .withId(configurationId) .withAccountLevel(accountLevel) .withInclude(include) .withDataExport(dataExport) .withAwsOrg(awsOrg) .withIsEnabled(true); List<StorageLensTag> tags = Arrays.asList( new StorageLensTag().withKey("key-1").withValue("value-1"), new StorageLensTag().withKey("key-2").withValue("value-2") ); AWSS3Control s3ControlClient = AWSS3ControlClient.builder() .withCredentials(new ProfileCredentialsProvider()) .withRegion(US_WEST_2) .build(); s3ControlClient.putStorageLensConfiguration(new PutStorageLensConfigurationRequest() .withAccountId(sourceAccountId) .withConfigId(configurationId) .withStorageLensConfiguration(configuration) .withTags(tags) ); } catch (AmazonServiceException e) { // The call was transmitted successfully, but Amazon S3 couldn't process // it and returned an error response. e.printStackTrace(); } catch (SdkClientException e) { // Amazon S3 couldn't be contacted for a response, or the client // couldn't parse the response from Amazon S3. e.printStackTrace(); } } }

Para habilitar a opção de publicação no CloudWatch usando a API REST do Amazon S3, use PutStorageLensConfiguration.

Próximas etapas

Depois de habilitar a opção de publicação no CloudWatch, você poderá acessar as métricas do S3 Storage Lens no CloudWatch. Você também pode utilizar os recursos do CloudWatch para monitorar e analisar os dados do S3 Storage Lens no CloudWatch. Para obter mais informações, consulte os tópicos a seguir: