AWS
-
Amazon ECR 와 PrivateLinkCloudEngineering (AWS)/EKS 2022. 2. 12. 19:37
"우리 Onprem에 있는 Jenkins 서버에서 ECR을 접근해야 하는데 접근이 안되네요 왜 그런 거죠?" 이 고객사는 Jenkins 서버를 VPN이 연결되어 있는 Onprem에 위치해 놓았다. 그리고 외부 통신은 제한을 해 둔 것이다. 외부 통신이 제한된 환경에서 왜 ECR에 접근되지 않을까? ECR 접근 ECR에 대해 Docker 클라이언트를 인증할 때의 커맨드이다. aws ecr get-login-password --region ap-northeast-2 | docker login --username AWS --password-stdin ************.dkr.ecr.ap-northeast-2.amazonaws.com 위의 커맨드 중 ****. dkr.ecr.ap-northeast-2.am..
-
Nodejs + Redis 연동하기SRE TechNote/Nodejs 2021. 11. 9. 15:55
개요 redis를 사용하는 이유는 여러 가지이겠지만, 세션 저장용 혹은 데이터의 빠른 접근이 필요할 때 사용하면 아주 유용한 서비스이다. redis를 pod 혹은 서버로 띄워서 사용할 수도 있지만 운영하는데 힘이 덜 드는 완전 관리형 서비스인 AWS ElastiCache의 Redis 서비스를 사용하는 것을 추천한다. 타 서비스의 API를 호출하여 데이터를 시각화하는 플랫폼을 운영 중이다. 하지만 많은 데이터를 호출하기에는 불필요한 트래픽이 오갔고 타 서비스의 API 서버에서의 Call이 제한되어 불러오지 못하는 경우가 있었다. 이를 어떻게 해결했는지 알아보자. Redis 환경 설정 기본적으로 Redis는 VPC 위에서 구성이 되며, 각 application 혹은 관리자의 접근만을 제어하기 위해서 priv..
-
AWS 전용 호스트(Dedicated Host) RecoveryCloudEngineering (AWS)/EC2 2021. 7. 29. 15:15
개요 Dedicated Host(전용 호스트)를 운영하던 고객사에서 EC2가 하나씩 상태 검사 실패하더니 모든 EC2에 상태 검사 실패가 뜨는 장애가 발생했다. DH(Dedicated Host) 대시보드의 상태는 Under assessment를 나타냈고 CaseOpen을 진행하던 중 한 시간이 조금 넘게 흘렀을 때 EC2의 상태는 정상적으로 작동했다. 서비스 장애 시간이 한시간 넘게 지속된 것이다. AWS 사용자 입장에서는 할 수 있는 것이 아무것도 없다. 그렇다면 비싼 돈을 내고 Dedicated Host를 사용하는 이유가 없지 않은가? 이와 같은 장애에 대처하는 방법은 정말 없을까? 일단 Host Recovery를 설정해야 겠다. 설정 방법은 AWS 공식문서를 참고하여 설정하도록 하자. Host re..
-
EKS Pod 수 제한CloudEngineering (AWS)/EKS 2021. 7. 16. 20:55
개요 "DaemonSet을 배포하다가 FailedScheduling 이벤트가 발생해서 보니까, 몇몇 노드에 Pod 생성 갯수 제한이 낮게 설정되어 있는데 확인 좀 부탁드립니다." 라는 문의가 들어왔다. 확인 해 보자. Network 확인 우선 EKS에 구성된 Subnet의 이용가능한 IP를 확인했을 때 충분한 여유를 가지고있었다. 그럼 EKS가 IP를 제한하는 부분이 따로 있을까? 포드 네트워킹(CNI) - Amazon EKS CNI 플러그인 버전 1.7.0 이상을 사용하고 있고 사용자 정의 포드 보안 정책을aws-node에 사용되는 Kubernetes 서비스 계정aws-node포드가 배포된 경우 정책에NET_ADMIN에서allowedCapabilities섹션과 함께hostNetwor docs.aws.a..
-
AWS CodeCommit 설정하기CloudEngineering (AWS)/Code Series 2021. 7. 11. 20:12
개요 MSP 업무를 진행하면서, 엔지니어들의 반복적인 작업을 줄이고 수 많은 고객사를 관리하는 데 편리하도록 자동화 웹사이트를 구축했는데, 혼자서 개발을 하고 build 하고 도커를 말아올리고 EKS에 배포하는 작업이 너무 번거롭고 힘들어서 같이 개발할 수 있으며 git push만 으로 자동 배포가 되는 CI/CD 를 구축했다. 이번에는 CI/CD 중 가장 앞단의 CodeCommit에 대해 다뤄보고 나중에 기회가 되면 구축한 CI/CD 전체에 대한 글을 올리려고 한다. Code Commit 이란? CodeCommit은 프라이빗 Git 리포지토리를 호스팅하는 안전하고 확장 가능한 소스 관리형 서비스다. 주로, 오픈소스 프로젝트인 경우에는 Github나 Gitlab등을 많이 사용하는데 AWS에서도 동일한 기..