1. ECS 네트워크 모드 - ECS는 3가지 네트워크 모드를 지원합니다. *없음 선택 시 외부 통신 x; default 선택 시 브리지 모드 1.1 브리지 - 각 인스턴스(호스트) 내 도커의 가상 네트워크(소프트웨어 브리지: docker0) 활용 - 호스트 포트와 각 컨테이너 1:1 매핑 - EC2(호스트)단 보안 그룹 적용됨 - 동일 포트의 다수 컨테이너 올라올 경우(오토스케일링) dynamic 매핑 설정 필요 -> 작업 정의의 컨테이너 정의 시 포트 매핑에 호스트 포트를 0으로 입력 1.2 호스트 - 브리지 모드와 유사 - 호스트 내 도커 가상 네트워크를 bypass하여 호스트 포트와 컨테이너가 다이렉트로 매핑 - bypass로 인해 브리지 모드보다 성능 향상 - 호스트 포트와 dynamic 매핑 ..
* ALB 로그는 파티션된 로그이므로 파티션 사용 테이블 생성 필요 방법 1) 파티션된 테이블 생성 후 'ALTER TABLE ADD PARTITION' 쿼리 1. Athena 콘솔 접속 2. 쿼리 편집기에서 DB 생성 3. 테이블 생성 CREATE EXTERNAL TABLE IF NOT EXISTS alb_logs_partitioned ( type string, time string, elb string, client_ip string, client_port int, target_ip string, target_port int, request_processing_time double, target_processing_time double, response_processing_time double, el..
원인 1) EC2 모니터링 중 System Status Check / Instance Status Check 실패 System Status Check : 인스턴스가 실행되는 기본 호스트에서의 문제 시 발생. 네트워크, 하드웨어, 소프트웨어 문제로 인해 기본 호스트가 응답 혹은 연결 불가 시 발생 Instance Status Check : 인스턴스의 연결 가능성에 문제 시 발생. 부팅 실패, 볼륨 탑재 실패, CPU/Memory 소진, 커널 패닉, 네트워크 문제 등 OS레벨 오류로 발생 **확인 방법 : 해당 인스턴스 선택 후 하단 'Status Checks' 탭 확인, 'Monitoring' 탭 'Status check failed' 지표 확인 원인 2) AWS가 수행하는 호스트 단 예약된 Network..
EKS 활용 시 현재 Kubernetes v1.23 지원 - docker 런타임이 디폴트이며 containerd로 변경 가능 옵션 제공 - v1.21까지 동일하게 적용 EKS 활용 시 1년 뒤 Kubernetes v1.24(릴리스 예정) 지원 예정 - docker 런타임 제거 - containerd 런타임만 제공 그렇다면@!! 내가 지금 docker 런타임을 사용하는 중이라면 망한 것일까?! - Bottlerocket AMI 활용 시 : docker 런타임 x, 기본 컨테이너 런타임이 containerd 런타임 - Fargate 구성 시 : containerd 런타임 사용 - dockerfile로 구성 시 : OCI(Open Container Initiative) 호환이므로 docker 런타임에 대한 의..
1. 오버로딩 람다 한 개에 너무 많은 일을 하도록 구성하는 것 (ex. Api Gateway 뒷단에서 REST API 처리하는 람다에 SQS와 연결하여 이벤트 처리하도록 하는 등) -> 각 워크로드마다 스케일링을 할 수 있고 메모리 구성도 상이함 -> 각 워크로드에 대한 모니터링이 복잡해질 수 있음 *해결 안 : 각 워크로드에 따라 람다를 분리해서 구성할 것! 2. PutMetric API 사용 람다에 대한 여러 Metric을 모니터링 하기 위해 PutMetric Api 활용하여 CloudWatch로 보냄 -> Lambda가 CloudWatch 동기화를 위해 CloudWatch 서비스에 HTTP 요청을 보내게 됨 -> Lambda가 CloudWatch 로 쓰기를 하는 기간에 대한 비용이 추가로 발생. ..
1) AWS 무료 교육 및 실습 활용할 것 - AWSOME DAY(3시간 정도의 AWS 클라우드 기초 강의) : https://aws.amazon.com/ko/events/awsome-day/awsome-day-online/ - AWS Educate(주요 서비스 실습, 무료 실습 콘솔 제공) : https://aws.amazon.com/ko/education/awseducate/ - SageMaker Studio Lab(Sagemaker 무료 CPU GPU 실습 제공) : https://aws.amazon.com/ko/sagemaker/studio-lab/ **최대 12시간 CPU 및 4시간의 GPU 세션 무료 사용 가능, 15GB 영구 저장 공간 제공 2) MFA 설정할 것 - https://docs...
AWS System Manager Run Command 활용하여 EC2 메모리, 디스크 용량 등 모니터링 하기 기본적으로 제공되는 EC2 관련 CloudWatch 지표 - CPU 사용률 - 네트워크 I/O - 디스트 Read/Write - 기타 (T타입의 경우 CPU크레딧 관련 지표) ** 메모리, 디스크 용량은 지원하지 않으므로 CloudWatch Agent 설치를 통해 수집 가능 REQIREMENT) EC2 instance 에 접속해서 CollectD 디렉토리랑 파일 생성 sudo mkdir -p /usr/share/collectd/ sudo touch /usr/share/collectd/types.db STEP 1) Run Command 에서 활용할 파라미터 생성 - Systems Manager 콘..
IAM(Identity and Access Management) 란? -아이덴티티 기반 정책 활용 - 접근 제어 관리 서비스 - 주 단위는 정책(리소스에 allow/deny 되는 정책 정의) - 정책에 정의되는 리소스는 S3 버킷, 람다 함수, DynamoDB 테이블 등 AWS 내에 생성하는 리소스 - 정책에 정의 형식은 json 형식 - 정책은 사용자, 역할 또는 그룹에 부여 - 정책에는 암묵적 deny(allow 권한이 없을 경우 deny), 명시적 deny(정의한 사용자, 역할 또는 그룹에 대해 deny 적용) **명시적 deny 정책이 무조건 우선함 S3 버킷 정책이란? -리소스 기반 정책 활용 - S3 버킷 및 객체에 붙는 정책 - principal(사람/어플리케이션)에 적용되는 권한이 정의됨 ..
* 복원 시 MySQL binlog 활용 가능 * 디폴트로는 RDS for MySQL binlog 파일을 원하는 S3에 업로드 하는 것 불가 * Binlog 파일 저장하려면 binlog retention(binlog 유지 설정값) 활성화 필요 * Cron job을 통해 S3 버킷에 해당 파일 동기화 가능 STEP 1) EC2 생성 -> 리눅스 기반 최소 스펙의 인스턴스 생성 STEP 2) 인스턴스 접속 후 필요 유틸(mysql 및 mysqlbinlog) 설치 -> sudo yum update -y -> sudo yum install -y mysql -> rpm -qa | grep mysql *유틸 설치 확인 STEP 3) binlog retenton 설정 활성화 -> mysql -h [DB 엔드포인트] ..
1. 2가지 백업 타입 1.1. 온디맨드 백업 1.1.1. 테이블의 풀백업 가능 (스냅샷) 1.1.2. 오랜 기간 유지 가능 1.1.3. 규정 준수 요구 시 활용 가능 1.1.4. 명시적 삭제 전까지 카탈로그화, 검색, 유지 가능 1.1.5. 콘솔/API/CLI/AWS Backup으로 생성 가능 **AWS Backup을 활용한 온디맨드 백업 - 온디맨드 백업의 end-to-end 관리 가능 - 스케쥴 자동 백업 및 강제 유지 적용 가능 - 리전 및 계정 간 백업 복제 가능 - 리전 간 백업 복원 가능 - AWS Backup Vaults를 통한 다양한 암호화(DynamoDB base 테이블 암호화 키와 다른 키 포함) 가능 - 비용 효율성을 위해 오래된 백업 cold storage tier 로 전환 가능 ..
