Application Load Balancer에 대한 액세스 로그를 활성화하는 방법은 무엇입니까?

Application Load Balancere Daehan Aegseseu Logeuleul Hwalseonghwahaneun Bangbeob Eun Mueos Ibnikka



ALB(Application Load Balancer)는 여러 서버 또는 노드에 트래픽을 효율적으로 분산합니다. 이를 통해 애플리케이션이 붕괴되는 것을 방지하고 클라이언트에 고가용성, 증가된 용량 및 향상된 성능을 제공합니다. 또한, 애플리케이션 로드 밸런서에 대한 요청도 “ 액세스 로그 '. 이러한 보기 로그는 트래픽 패턴을 분석하고 문제를 해결하기 위해 대시보드를 통해 사용자가 액세스할 수 있습니다.

빠른 개요

이 문서에서는 다음 측면을 설명합니다.

액세스 로그란 무엇입니까?

그만큼 액세스 로그 이다 선택적 기능 Load Balancer로 전송된 요청에 대한 자세한 정보를 캡처하는 애플리케이션 로드 밸런서의 정보입니다. 이 세부 정보에는 요청을 받은 날짜와 시간, 클라이언트 IP 주소, 대기 시간, 포트 등이 다음 형식으로 포함됩니다. “로그 파일에 액세스” . Application Load Balancer(ALB)에서는 이 기능을 수동으로 활성화해야 합니다. 그런 다음 이러한 액세스 로그는 사용자가 액세스하고 볼 수 있는 S3 버킷에 의해 수신됩니다.







액세스 로그 파일이란 무엇입니까?

액세스 로그에는 다음이 포함됩니다. “로그 파일에 액세스” 5분마다 각 Load Balancer 노드에 대해 게시됩니다. 사이트의 트래픽이 많은 경우 로그가 여러 개 있을 수 있습니다. 액세스 로그 파일은 지정된 형식을 따릅니다.



버킷 [ / 접두사 ] / AWS로그 / 아아 - 계정 - ID / 탄력적 로드 밸런싱 / 지역 / 이야 / mm / dd / 아아 - 계정 - id_elasticloadbalancing_region_app. - 밸런서 - id_end - time_ip - 주소_임의 - 끈. 통나무 . gz
  • 버킷 ”: 필드에는 로그 파일을 수신할 버킷의 이름이 포함됩니다.
  • 접두사 ”: 선택 사항입니다. S3 버킷을 생성할 때 사용자가 지정한 접두사가 있는 경우 이 필드에는 값이 포함됩니다. 접두사에는 ''가 포함되어서는 안 됩니다. AWS로그 ” 키워드입니다.
  • 'aws-계정-ID' : 소유자의 AWS 계정 ID를 포함합니다.
  • 지역 ”: 필드에는 로드 밸런서의 영역이 포함됩니다.
  • 년/월/일 ”: 로그가 전달된 데이터를 지정합니다.
  • 로드 밸런서 ID ”: 로드 밸런서의 특정 ID를 나타냅니다. 또한 ID의 슬래시는 마침표(.)로 대체됩니다.
  • 종료 시간 ”: 로깅 간격의 종료 날짜와 시간을 지정합니다.
  • IP 주소 ”: 로드 밸런서가 작동하는 IP 주소를 지정합니다.
  • 무작위 문자열 ”: 시스템에서 생성된 임의의 문자열을 포함합니다.

액세스 로그 항목이란 무엇입니까?

이러한 액세스 로그 항목에는 Application Load Balancer에 대한 모든 단일 요청에 대한 정보가 포함되어 있습니다. 이러한 단일 요청을 다음과 같이 지칭합니다. “로그 항목” . 이러한 로그 항목에는 잘못된 형식의 요청, 즉 로드 밸런서(ALB)에 전달되지 않은 요청도 포함됩니다. 로드 밸런서에 대한 요청에 웹 소켓이 포함된 경우 이 로그 항목은 연결이 닫힐 때만 기록됩니다.



액세스 로그 파일은 어떻게 처리됩니까?

기본적으로 로그 파일에 액세스 ~이다 압축 . 따라서 정보를 보려면 이러한 파일을 다운로드할 때 먼저 압축을 풀어야 합니다. 그러나 S3 콘솔을 사용하면 사용자는 이러한 로그 파일의 정보를 직접 볼 수 있습니다.

이것들 로그 파일 에 대한 요청의 결과로 생성됩니다. 로드 밸런서 . 현재 웹 사이트에 트래픽이 많은 경우 로드 밸런서에서 생성된 로그 파일에는 기가바이트 단위의 데이터가 포함됩니다. 이렇게 많은 양의 데이터가 가능합니다. 처리됨 사용하여 분석 도구 Amazon Athena, Splunk, Sumo 로직 등

Application Load Balancer에 대한 액세스 로그를 활성화하는 방법은 무엇입니까?

다음 방법을 사용하여 다양한 지역에 대한 액세스 로그를 구성할 수 있습니다.

  • 방법 1: 2022년 8월 이전에 사용 가능한 지역에 대한 액세스 로그
  • 방법 2: 2022년 8월 이후 사용 가능한 지역에 대한 액세스 로그

방법 1: 2022년 8월 이전에 사용 가능한 지역에 대한 액세스 로그

2022년 8월 이전에 사용 가능한 지역에 대한 액세스 로그를 구성하려면 아래 언급된 단계를 따르세요.

  • 1단계: S3 버킷 생성
  • 2단계: 로드 밸런서 속성 편집
  • 3단계: 확인

1단계: S3 버킷 생성

첫 번째 단계는 ALB에 대한 액세스 로그를 활성화하기 위해 S3 버킷을 생성하는 것입니다. 이를 위해 검색창에서 S3 버킷 서비스를 검색하여 액세스하세요. AWS 관리 콘솔:

로부터 S3 대시보드 , “버킷 생성” 단추:

에서 일반 구성 , '에서 S3 버킷에 대한 전역적으로 고유한 식별자를 제공합니다. 버킷 이름 ' 텍스트 필드입니다. '라는 점을 고려하는 것이 중요합니다. AWS 지역 ”는 로드 밸런서의 영역과 유사해야 합니다.

나머지 설정을 기본값으로 유지하고 ' 버킷 만들기 ” 버튼은 인터페이스 하단에 있습니다:

그만큼 버킷 성공적으로 생성되었습니다:

로부터 S3 버킷 대시보드 , '를 탭하세요. S3 ” 버킷 이름을 사용하여 권한을 구성합니다.

로부터 S3 버킷 콘솔 , '를 클릭하세요. 권한 ' 탭:

인터페이스를 아래로 스크롤하여 ' 편집하다 '버튼을 '에서 버킷 정책 ' 부분:

에서 편집자 , 아래 정책을 붙여넣고 다음 변수를 바꿉니다.

{
'버전' : '2012-10-17' ,
'성명' : [
{
'효과' : '허용하다' ,
'주요한' : {
'AWS' : 'arn:aws:iam::elb-account-id:루트'
} ,
'행동' : 's3:PutObject' ,
'자원' : '내-s3-아른'
}
]
}
  • elb-계정-id : 이 필드에 AWS 리전의 ID를 입력합니다. 이 ID는 공식 AWS 문서 . 아래로 스크롤하여 “ 2022년 8월 이전에 사용 가능한 리전에 대한 액세스 로그 ' 섹션 및 정책 아래에 해당 ID가 있는 지역이 언급되어 있습니다.

  • 내-s3-arn : S3 버킷의 ARN은 두 가지 형식을 사용하여 대체할 수 있습니다.
    • 형식 1: 접두사가 있는 ARN
    • 형식 2: 접두사가 없는 ARN

형식 1: 접두사가 있는 ARN : 버킷에 접두사 값이 포함된 경우 다음 형식을 따라야 합니다.

arn:aws:s3:::버킷 이름 / 접두사 / AWS로그 / aws-계정-id /*
  • 버킷 이름 : 이 필드를 버킷의 원래 이름으로 바꿉니다.
  • 접두사 : 버킷에 접두사가 포함된 경우 접두사를 제공합니다. 접두어 값은 이 형식으로 지정되므로 필수입니다.
  • aws-계정-ID: 이 필드에 AWS 계정 ID를 입력하십시오. 이를 위해 인터페이스 왼쪽 상단에 언급된 AWS 계정 이름을 탭합니다. 드롭다운 메뉴에서 계정 ID를 복사하세요.

형식 2: 접두사가 없는 ARN : 이 형식은 버킷에 접두사가 포함되지 않은 경우에 사용됩니다. 지정된 모든 필드는 위에서 언급한 ARN에 명시된 것과 동일하게 유지됩니다. 유일한 차이점은 이 ' RNA ”에는 “접두사” 필드가 포함되어 있지 않습니다.

arn:aws:s3:::버킷 이름 / AWS로그 / aws-계정-id /*

여기서는 정책 되었습니다 교체됨 :

인터페이스 하단으로 스크롤하여 '변경 사항을 저장하다' 변경 사항을 적용하는 버튼:

그만큼 정책 편집되었습니다 성공적으로 :

2단계: 로드 밸런서 속성 편집

로부터 EC2 대시보드 , “로드 밸런서” 아래 옵션 “로드 밸런싱” 탐색 창의 섹션:

로부터 로드 밸런서 대시보드 에서 로드 밸런서의 이름을 클릭하여 액세스 로그 활성화 . 이 데모에서는 로드 밸런서가 이미 생성되었습니다 실행 중:

아래에는 “ 세부 ” 섹션에는 다양한 옵션이 제공됩니다. “를 클릭하세요. 속성 ' 탭:

로부터 ' 속성 ' 탭에서 ' 편집하다 ' 버튼:

다음 인터페이스에서 ' 모니터링 ' 부분. '를 전환하세요. 액세스 로그 ” 버튼을 눌러 활성화합니다. 액세스 로그 기능 . 다음으로 “S3 찾아보기” 버킷을 선택하는 버튼:

클릭한 후 “S3 찾아보기” 버튼을 누르면 팝업창이 나타납니다. S3 버킷을 선택하고 “ 선택하다 ' 버튼:

버킷을 추가한 후 ' 변경 사항을 저장하다 ' 버튼:

AWS는 확인 메시지 액세스 로그에 대한 S3 버킷의 성공적인 구성 시:

3단계: 확인

버킷이 추가되었는지 확인하려면 S3 대시보드를 방문하여 버킷을 선택하세요.

이제 이 버킷에는 폴더가 포함되어 있습니다. “AWS로그/” . 이 폴더에는 액세스 로그와 관련된 모든 정보가 포함됩니다.

방법 2: 2022년 8월 이후 사용 가능한 지역에 대한 액세스 로그

2022년 8월 이후에 사용 가능한 지역에 대해 액세스 로그를 활성화하려면 아래 언급된 단계를 따르세요.

  • S3 버킷을 생성합니다.
  • S3 버킷을 생성한 후 ' 권한 ' 탭. '를 탭하세요. 편집하다 ” 버튼을 다음 섹션에서 선택하세요.
  • 기존 정책을 언급된 다음 정책으로 바꿉니다.
{
'버전' : '2012-10-17' ,
'성명' : [
{
'효과' : '허용하다' ,
'주요한' : {
'서비스' : 'logdelivery.elasticloadbalancing.amazonaws.com'
} ,
'행동' : 's3:PutObject' ,
'자원' : 'arn:aws:s3:::버킷 이름/접두사/AWSLogs/aws-account-id/*'
}
]
}

위에서 언급한 정책에서 다음 변수를 바꿉니다.

  • 버킷 이름 : 이 필드를 원래 버킷 이름으로 바꿉니다.
  • 접두사(선택사항) : 선택항목입니다. 버킷에 접두사가 포함되어 있는 경우 이 필드에 접두사 이름을 입력하세요. 그러나 지정할 접두사가 없는 경우 사용자는 이 필드를 건너뛸 수도 있습니다.

이 정책을 지정한 후 ' 변경 사항을 저장하다 ” 버튼을 눌러 변경 사항을 적용합니다. 나머지 단계는 방법 1에 설명된 것과 동일한 순서로 수행됩니다.

보너스 팁: 액세스 로그 비활성화

애플리케이션에서 액세스 로그를 비활성화하려면 아래 언급된 단계를 따르십시오.

  • 로드 밸런서 대시보드에서 로드 밸런서를 선택합니다.
  • 인터페이스를 아래로 스크롤하여 ' 속성 ' 탭.
  • 내 ' 속성 ' 섹션에서 ' 편집하다 '버튼.
  • 아래로 스크롤하여 “ 모니터링 ' 부분. 여기에서 사용자는 다음 강조 표시된 버튼을 전환하여 액세스 로그를 비활성화할 수 있습니다. 을 치다 '변경 사항을 저장하다' 변경 사항을 저장하고 적용하는 버튼:

액세스 로그 되었습니다 성공적으로 비활성화됨 속성이 수정됩니다.

이 가이드에 있는 내용이 전부입니다.

결론

로드 밸런서에 대한 액세스 로그를 활성화하려면 '권한' 탭에서 생성된 S3 버킷에 언급된 정책을 편집하고 '변경 사항 저장' 버튼을 누르세요. 이러한 로그 파일 내의 정보는 S3 버킷 콘솔에서 직접 액세스할 수 있습니다. 사용자는 로그 파일을 다운로드하고 압축을 풀어 내용을 볼 수도 있습니다. 이 블로그는 로드 밸런서의 액세스 로그를 활성화 및 비활성화하는 단계별 데모입니다.