전체 글 468

(AWS) EKS에서 ALB를 생성할 때 유의할점

필자는 AWS Ingress Controller는 2.4버전을 설치코자 한다. AWS Ingress Controller 설치 우선 EKS 내에서 AWS 로드벨런서 자원을 접근해야 한다. EKS에 대해서 IAM은 OpenIDConnect를 생성하고 생성된 커넥션에 로드벨런서 및 관련 Addon을 컨트롤할 수 있는 IAM Policy를 할당해야 한다. (컨트롤러 설치는 이게 핵심) ※ IAM 에서 OIDC 생성 방법 : https://docs.aws.amazon.com/ko_kr/eks/latest/userguide/enable-iam-roles-for-service-accounts.html OIDC를 생성 완료 하면 eksctl을 통해 ServiceAccount를 생성하여 연결시킨다. $ eksctl cr..

(AWS) SSM 에 대해서

SSM이란? EC2와 On-Premise 시스템 관리를 용이하게 해줌 Infra에 대한 상태 가시성을 향상시킴 문제발생시 조기에 탐지 가능 컴플라이언스를 위한 Patch를 자동화함 Windows와 Linux OS에서 동작 CloudWatch Metrics, Dashboard에 연동가능 AWS Config에 연동가능 SSM 특징 리소스 그룹화 : AWS 리소스를 그룹화하고 리소스 그룹에 저장하기 인사이트 제공 : 그룹화된 리소스에 대한 관련 운영 데이터 및 대시보드 보기 작업 수행 - EC2생명주기 자동화, AMI생명주기 자동화 - Command를 실행할 수 있음 - Session Manager - Patch Manager - Maintenance Windows - State Manager : OS와 Ap..

(AWS) EKS를 ekscli로 Private Subnet으로 구축하기

EKS를 구축하는데 있어 콘솔을 사용하거나 ekscli의 기본적인 옵션을 사용하는 Case가 대다수인것 같다. 물론 콘솔로 생성하게 Config하는것도 좋은방법이긴 하나, YAML로 IaC를 해놓으면 실수할 염려도 적고 인적종속성도 탈피된다. EKS를 Private Subnet에 YAML로 구축하면서 얻은 몇가지 노하우를 공유코자 한다. EKS ControlPlane과 WorkerNode를 Private 네트워크에 구축하고 싶다면 다음의 필수요소가 있다. 1. 해당 Subnet은 Private Subnet이어야 한다 : 당연한 내용으로 보이지만 많이 실수하는 부분이다. Private Subnet이 아니면 YAML에 WorkerNode를 Private으로 정의해도 Public으로 물고옴 - PrivateS..

(AWS) Tag를 어떻게 관리해야할까

Tag를 잘 활용하면 Tag별로 Cost를 계산하거나, 리소스 생명주기 관리에 있어 실수를 방지할 수 있다. 그런데 막상 공식적인 가이드는 잘없는것 같다. 그 이유는 사용자마다 비즈니스의 관점이 다르기 때문이다. 따라서 아래 공통사항과 UseCases 가이드를 참고해서 적절한 규칙을 정하는 것이 필요해 보인다. 공통사항 개인 식별 정보(PII)나 기타 기밀 정보 또는 민감한 정보를 태그에 저장하지 마십시오. 대/소문자를 구분하는 표준화된 태그 형식을 사용하고 모든 리소스 유형에 일관되게 적용합니다. 리소스 액세스 제어, 비용 추적, 자동화 및 조직 관리와 같은 다양한 용도를 지원하는 태그 지침을 고려합니다. 리소스 태그를 관리하는 데 도움이 되는 자동화 도구를 사용합니다. AWS Resource Grou..

(AWS) AWS리소스에 ElasticSearch를 적용하는 UseCases

참고로 현재 AWS에서는 기존 ElasticSearch를 OpenSearch라는 제품명으로 서비스를 제공하고있다. 이는 라이선스 사용이슈에 의한 것으로 확인된다. AWS리소스를 ES에 적용하는 Case는 다음의 것들이 있다. DynamoDB Stream To ES 이 경우에는 Log에 대한 수집과 Ingestion 역할을 Lambda가 수행한다. CloudWatchLog To ES 이 경우에는 CloudWatch Logs가 제공하는 Subscription Filter로 수집, Ingestion 역할을 수행한다.

(AWS) X-Ray에 대해서

X-Ray라는 제품군을 보면서 Zipkin과 같이 APIM을 위한 제품이라는 생각을 들었다. 수집은 기본이고 트레이싱을 수행하여 각 구간별 퍼포먼스를 확인할 수 있도록 도와주는 제품으로 이해하면 좋다. APM을 써보신 분들이라면 API 영역도 쉽게 커버할 수 있도록 상향된 제품이라고 생각하면 되겠다. Zipkin이나 APM툴들을 직접 어플리케이션에 적용해보신 분들은 아시겠지만, 언어에 맞게 SDK를 설치해야 한다. 동작하는 아키텍처는 다음과 같다. 1. 어플리케이션에 적용된 X-Ray 컴포넌트가 레코딩을 하여 로그를 생성한다. 2. 실시간으로 해당로그를 X-Ray 서버에 보내게 되면 오히려 성능상의 부하를 초래할 수 있으므로 로컬에 설치된 X-Ray데몬에 일정량을 적재한다. 3. X-Ray 데몬이 X-R..

(아키텍처) 현대적 어플리케이션 구축을 위한 Outer아키텍처 시 고려할 점

원문 : https://www.cncf.io/blog/2022/03/15/cluster-out-a-design-approach-to-building-modern-apps/ Cluster out: A design approach to building modern apps | Cloud Native Computing Foundation Guest post by Rob Whiteley, Vice President and General Manager of the NGINX Product Group at F5 This past August at NGINX Sprint 2.0, I discussed the patterns we see customers adopt to successfully… www.cncf.io ..

Programming/MSA 2022.03.16

(AWS) S3 버킷에 Event Trigger를 생성하기

S3 버킷의 Object 레벨에 변경사항이 있을경우 Event를 발생시켜 모니터링 혹은 Action을 취하는 방법을 정리하였다. ※ 버킷 레벨의 변경사항을 Event화 하는 방법은 그냥 CloudWatch에서 손쉽게 가능하다. 버킷레벨의 Event 생성 관련 링크 : https://docs.aws.amazon.com/ko_kr/AmazonS3/latest/userguide/EventBridge.html EventBridge 사용 - Amazon Simple Storage Service 이 페이지에 작업이 필요하다는 점을 알려 주셔서 감사합니다. 실망시켜 드려 죄송합니다. 잠깐 시간을 내어 설명서를 향상시킬 수 있는 방법에 대해 말씀해 주십시오. docs.aws.amazon.com S3에는 아래와 같은 다..

(AWS) Log의 종류에 대해 알아보자

어플리케이션 로그 : EC2에 CloudWatch Agent 설치를 통해 스트림 할 수 있음 - 미들웨어 생성 로그 - 어플리케이션 코드 생성 로그 커스텀 로그 메시지와 Stack Trace를 포함하고 있음 로컬 파일시스템에 생성 ECS, Fargate, Elastic Beanstalk, Lambda를 사용할 경우 CloudWatchLog에 바로 연결 가능 OS 로그 : EC2에 CloudWatch Agent 설치를 통해 스트림 할 수 있음 - OS로부터 생성되는 로그(이벤트성, 시스템성) AWS 관리형 로그 Load Balancer Access Logs (ALB, NLB, CLB) => to S3 Access logs for your Load Balancers CloudTrail Logs => to S..

(AWS) CloudWatch Filter를 사용하여 향상된 로그 관리

로그 필터링 사용방법 1. [AWS Console]-[CloudWatch]-[로그그룹]에 접속 2. 필터링할 로그그룹 선택 3. "Actions"-"지표 필터 생성" 선택 필터 패턴에 사용할 필터 패턴을 입력합니다. 아래 필터 패턴 작성 규칙 참조 https://docs.aws.amazon.com/ko_kr/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html 필터 및 패턴 구문 - Amazon CloudWatch Logs 패턴 일치를 사용하는 공백으로 구분된 지표 필터를 생성하는 경우, 용어 순서를 지정한 후 빈 표시기를 포함해야 합니다. 예를 들어, 첫 번째 단어가 ERROR인 로그 이벤트를 반환하는 지표 필터 docs.aws.amazon.com 필자는..