S3 실습

s3 버킷 생성

서비스 운영에서 사용할 버킷을 생성합니다. 아래의 버킷은 예시를 위해서 생성한 것이므로, 자사 상황에 맞게 코드를 수정해서 버킷을 생성하시기 바랍니다.

Application 로그용 버킷 생성

  • 서비스 운영 시 발생하는 로그를 저장하기 위한 버킷

terraform/s3/dayone-prod/prod_apnortheast2/application-log.tf
resource "aws_s3_bucket" "apps_logs_bucket" {
  bucket = "${var.account_namespace}-prod-apps-logs-dayonepapne2"
  acl    = "log-delivery-write"

  lifecycle_rule {
    enabled = true
    transition {
      days          = 1
      storage_class = "INTELLIGENT_TIERING" 
    }

    transition {
      days          = 30
      storage_class = "STANDARD_IA" 
    }

    transition {
      days          = 60
      storage_class = "ONEZONE_IA" 
    }

    transition {
      days          = 180
      storage_class = "GLACIER"
    }

    expiration {
      days = 90
    }
  }
}

Sessions Manager Log 버킷

  • AWS SSM을 통해서 인스턴스에 접속하는 경우 사용자가 실행한 명령어 로그를 저장하기 위한 버킷입니다.

  • 본 로그는 보안을 위해서 암호화하여 사용합니다.

terraform/s3/dayone-prod/prod_apnortheast2/session-manager-logs.tf
# Logs of session manager
# This contains history of commands a user runs while accessing the instance
resource "aws_s3_bucket" "session_manager_logs" {
  bucket = "${var.account_namespace}-prod-sessionmanager-${var.shard_id}"
  acl    = "log-delivery-write"

  server_side_encryption_configuration {
    rule {
      # You can use aws/s3 or custom KMS
      apply_server_side_encryption_by_default {
        sse_algorithm     = "AES256"
      }
    }
  }
}

기타 버킷

  • 필요할 때마다 이전에 사용한 코드를 재사용하시기 바랍니다.

Last updated