AWS25 [AWS] VPC Flow Logs로 트래픽 로그 확인하기(3) S3 이번에는 CloudWatch Log 대신 S3로 저장하는 법을 알아보려고 합니다. 이전과 동일하게 서브넷에 들어가서 플로우로그 생성 버튼 클릭해 Flow logs 생성 메뉴로 진입합니다. 메뉴 선택 중 대상을 ‘Amazon S3 버킷으로 전송’으로 선택하고 로그를 저장할 버킷을 지정합니다. Flow logs를 생성 후 대상 유형에 따라 생성 로그를 CloudWatch Logs로 보내는지 S3로 보내는지 알 수 있습니다. CloudWatch Logs와 마찬가지로 Flow logs 설정 후 지정한 S3 버킷에 들어가보면 로그가 저장되어 있습니다. 해당 로그를 다운로드 해서 보면 CloudWatch Logs에서 보았던 형식과 동일한 로그가 저장되어 있는 것을 볼 수 있습니다. S3로 로그를 받을 경우 해.. 2023. 5. 18. [AWS] VPC Flow Logs로 트래픽 로그 확인하기(2) VPC Flow logs 생성 VPC, Subnet, 네트워크 인터페이스 중 Flow logs를 생성할 리소스로 들어갑니다. Flow logs를 생성할 리소스에 진입 후 플로우 로그 생성 메뉴를 통해 생성 화면으로 들어갑니다. Flow logs 생성을 위해 이름, 캡처 트래픽 유형, 집계 간격 등 설정을 선택합니다. 저는 Flow log를 CloudWatch Logs로 받기위해 IAM 역할, 로그 그룹을 생성 했기에 CloudWatch Logs로 받는 방식을 선택했습니다. 이전에 생성한 CloudWatch 로그 그룹, IAM 역할을 선택합니다. 필요에 따라 로그 레코드 형식을 변경하면 로그가 수집되는 형식을 변경할 수도 있습니다. Flow logs를 생성한 리소스를 클릭 후 플로우 로그 메뉴를 선택하면 .. 2023. 5. 18. [AWS] VPC Flow Logs로 트래픽 로그 확인하기 VPC Flow Logs란 AWS에서 트래픽을 캡쳐할 수 있는 기능으로 ENI에 대해 오고가는 트래픽을 캡쳐할 수 있습니다. 클라우드 환경을 경험하다 보면 네트워크 이슈 발생 시 직접적으로 패킷을 캡쳐하기가 어려운데 VPC Flow Logs기능을 이용하면 트래픽을 캡쳐해서 로그 형식으로 확인할 수 있습니다. Flow Logs 데이터는 네트워크 트래픽 경로 외부에서 수집되므로 네트워크 처리량이나 지연 시간 즉, 네트워크 성능에 영향을 주지 않고 흐름 로그를 생성하거나 삭제할 수 있습니다. VPC Flow Logs는 VPC, Subnet, 네트워크 인터페이스 단위로 생성할 수 있습니다. VPC, Subnet에 대한 Flow logs를 생성할 경우 VPC 또는 Subnet의 각 네트워크 인터페이스가 모니터링 .. 2023. 5. 18. [AWS] HTTPS 통신을 위한 SSL 인증서 등록하기 웹 통신을 하기 위해 HTTP/HTTPS 프로토콜을 이용하게 됩니다. HTTP 통신은 암호화를 하지 않아 패킷 캡쳐 시 HTTP 헤더의 내용을 모두 볼 수 있습니다. 이에 반해 HTTPS 통신은 SSL 프로토콜을 이용해 암호화 통신을 수행하기에 패킷을 캡쳐해도 헤더에 포함된 내용을 볼 수가 없습니다. SSL 암호화 통신을 하기 위해서는 크게 인증서/키 값이 필요한데요 인증서 발급 기관을 통해 SSL 인증서를 발급받으면 아래와 같이 인증서/개인키/체인인증서 3개의 파일이 발급됩니다. (인증서 파일은 적용 대상에 따라 파일 형태, 적용 방법이 다르며 AWS/IDC 로드밸런서, 방화벽은 pem파일 형식의 인증서를 사용합니다.) 인증서를 열어서 확인해보면 저희는 해독이 불가능한 문자열로 이루어져 있는 것을 볼 .. 2023. 5. 9. [AWS] Athena로 S3에 적재된 로그 검색하기 Athena는 길고 복잡한 로그를 SQL문을 통해 DB형식으로 검색해서 가독성 및 검색 기능을 향상 시켜주는 서비스입니다. 수백/수천개의 압축파일로 저장되어 있는 로그 파일을 한번에 볼 수 있도록 하고 원하는 조건에 따른 데이터 검색도 가능해 매우 유용합니다. 데이터 베이스 생성 -> 테이블 / 컬럼 생성 -> 검색 순서로 진행됩니다. 쿼리 결과를 저장할 버킷을 선택 후 저장합니다. Access Log를 조회하기 전 데이터베이스, 테이블을 생성해야 합니다. CREATE DATABASE 명령어로 Access Log를 다루는 데이터베이스를 생성합니다. CREATE DATABASE alb_log_db; 생성한 데이터 베이스를 선택하고 아래의 쿼리문을 입력 실행하면 테이블이 생성됩니다. 컬럼은 ALB Acces.. 2023. 4. 18. [AWS] ALB Access Log를 S3에 적재하기 ALB Access Log는 ALB에 접근하는 모든 트래픽에 대한 로그로 정상이든 비정상이든 통신한 모든 기록을 Log로 남깁니다. ALB Access Log는 Timestamp : UTC 기준 작성, 5분 단위 저장, Network Interface마다 나눠서 저장된다는 특징을 가지고 있습니다. S3 S3 메뉴에서 ALB Access 로그를 저장할 S3 버킷을 생성합니다. 버킷 이름을 작성 후 나머지는 기본으로 설정하여 버킷 만들기를 수행합니다. 버킷을 생성 후 해당 버킷에 들어가 ALB Access 로그를 저장할 폴더를 생성합니다. ALB가 여러대 있다는 가정으로 2개 폴더를 생성했습니다. 마지막으로 ALB에 Access Log를 설정하기 전에 버킷 정책을 적용해야 합니다. 해당 버킷에 정책을 적용하.. 2023. 4. 9. [AWS] Auto Scaling 차근 차근 따라하기 (고급)(3) - 예약 스케줄 예약 스케줄 예약 스케줄은 Scale-in, Scale-out을 지정된 시간에 맞춰서 자동으로 수행하게 해주는 기능입니다. 설정에 따라 한번 또는 반복으로 Auto Scaling을 수행하도록 적용할 수 있습니다. 저는 Scale-out -> Scale-in 동작 과정을 보기 위해 인스턴스를 1대로 맞추었습니다. Auto Scaling 상세 페이지에서 자동 크기 조정 탭을 선택합니다. 아직 아무 작업도 없기에 예약된 작업 생성을 눌러 스케줄을 생성합니다. 예약된 작업의 이름을 작성하고 Scale 동작을 위해 인스턴스 용량을 입력합니다. 시간대를 선택하고 최초로 스케줄이 시작할 시간 시간을 입력합니다. Scale-out은 2대 Scale-in은 1대로 스케줄을 만들었고 1시간 마다 반복하도록 적용했습니다. .. 2023. 3. 17. [AWS] Auto Scaling 차근 차근 따라하기 (고급)(2) - 일시 중지된 프로세스 일시 중지된 프로세스 옵션이 적용되지 않은 상태에서 EC2 인스턴스를 중지해보고 이후 테스트 결과와 어떤 차이가 있는지 보겠습니다. 현재 인스턴스 상황으로 Auto Scaling에 의해 2대의 인스턴스가 관리되고 있습니다. Auto Scaling 관리 대상 중 하나의 인스턴스를 중지해보겠습니다. 정상적으로 인스턴스가 종료되었고 Auto Scaling에서 확인을 해보면 인스턴스가 중지 된 것을 감지하고 헬스체크가 실패되어 비정상으로 판단하게 됩니다. 그에 따라 중지된 인스턴스는 다른 인스턴스로 교체되었습니다. EC2 인스턴스 목록을 확인해보면 기존 인스턴스는 수동으로 중지를 시켰지만 Auto Scaling이 헬스 체크 실패로 인해 비정상으로 판단하여 중지한 인스턴스를 종료시켰고 새로운 인스턴스를 생성하였습.. 2023. 3. 17. [AWS] Auto Scaling 차근 차근 따라하기 (고급)(1) - ELB 상태 확인 Auto Scaling의 기능 중 추가 기능들에 대해 살펴보려고 합니다. 1) 상태 확인 - ELB 상태 확인 2) 일시 중지된 프로세스 - Health Check, Terminate 3) 예약 스케줄 Auto Scaling을 편집 하기 위해 Auto Scaling을 선택하여 편집 메뉴로 들어갑니다. 상태확인 - ELB ‘상태확인 - ELB’ 기능은 Auto Scaling 인스턴스를 비정상으로 판단하고 교체하는 기준이 Auto Scaling의 헬스 체크 뿐만 아니라 로드 밸런서의 헬스 체크 실패 시에도 해당 인스턴스를 비정상으로 판단하게 됩니다. 해당 옵션을 활성화 할 경우 EC2 인스턴스는 이상이 없으나 서비스가 비활성화되어 로드밸런서 헬스 체크 실패 시 인스턴스가 교체되게 됩니다. Auto Scali.. 2023. 3. 17. 이전 1 2 3 다음