개발/AWS 3

SYN FLOOD 공격 및 대응 사례

서론 최근 우리 서비스는 네트워크 이상 현상과 그로 인해 발생한 장애를 경험했다. 이 문제는 특정 시간대에 집중적으로 발생했으며, AWS GlobalAccelerator, ELB (L4 NLB), EKS 구성을 통해 제공되는 서비스에 영향을 미쳤다. 문제는 사용자 수의 급격한 감소와 서비스 오동작으로 나타났다. 여러 시스템 지표와 로그 분석 결과 SYN FLOOD 공격으로 인한 것으로 강하게 의심되었다. SYN FLOOD 공격의 원리 SYN FLOOD 공격은 TCP 연결 과정에서의 취약점을 이용하는 DoS (Denial of Service) 공격 유형 중 하나다. 공격자는 대량의 SYN 요청을 목표 서버에 보내 서버의 반응을 기다리는 SYN-RECEIVED 상태의 연결을 대량으로 생성하게 만든다. 서버는..

개발/AWS 2024.02.08

AWS OpenSearch 에서 S3 Snapshot Repository를 추가하려고 할 때

Opensearch를 복제하기 위해 다른 s3 버킷을 repository로하는 snapshot을 생성해야했다. ElasticSearch와 달리 오픈서치는 스냅샷 UI에서 S3를 추가할 수 없게 되어있다. Devtool이나 UI로 추가하는것이 아니라 Rest API로 추가해야하는데, 추가할때에도 반드시 role_arn을 인자로 주어야한다. 이게 골때리는데, role_arn에 s3 버킷 사용권한이 부여되어있어야 하는 것은 물론, 이 role_arn의 신뢰정책에 es.amazonaws.com 추가가 필요하고 마지막으로 이 role_arn을 부여할 수 있는 RestAPI 사용자의 신원인증 및 role_arn의 Passrole 권한까지 필요하다. (access key 같은걸론 추가할 수 없다. ES는 되는데.....

개발/AWS 2023.11.17

AWS Athena Partition Projection 이란?

AWS Athena 사용중 Partition Projection을 통해 테이블 조회 쿼리 실행 시간이 3~5분에서 5초로 절감되는 케이스가 있었습니다. 오늘은 비교적 최근에 나온 이 기능에 대해 간단히 설명하는 포스팅입니다. AWS S3에 적재된 대규모 로그 데이터를 쿼리하기 위해 AWS Athena에서 테이블을 생성해 S3의 경로를 지정하고 테이블을 만들어 쿼리하게 됩니다. 데이터의 양이 많은 경우 데이터 저장 방식을 Parquet로 개선하고, S3의 저장 경로를 Athena가 파티셔닝할 수 있게 Key에 Partition 구분자를 두어 쿼리가 실행될 때 Scan 되는 데이터의 양을 줄여 속도를 개선시키게 됩니다. Athena Partition Doc : https://docs.aws.amazon.co..

개발/AWS 2021.10.15