본문 바로가기

Work/개발 노트88

[AWS] 특정 Policy가 할당된 Role 또는 User 찾기 아래와 같이 AWS로부터 정책이 변경된다는 메일을 받았고, 해당 Policy가 할당된 사용자나 Role, Group을 찾아야했다. Hello, We have detected that at least one user, group, or role in your account is currently employing either the AWSElasticBeanstalkFullAccess or AWSElasticBeanstalkReadOnlyAccess managed policy. These policies are scheduled for deprecation and will no longer be available for attachment to new IAM users, groups, or roles af.. 2021. 2. 9.
[IDE] Goland 컴파일 시 already exists and is not an object file 에러 Goland 2020.3 (2020.11.25) 버전으로 업데이트 이 후 최초 컴파일에는 성공하지만 이 후부터는 이미 존재한다는 오류와 함께 컴파일에 실패하는 경우가 반복되었다. 해결하기 위해 아래와 같이 Ctrl + Shift + A를 클릭 후 표시되는 Actions 입력창에 Registry라고 입력한다. 아래 그림과 같이 "go.build.output.path.cache.enabled" 항목을 찾아 체크 표시를 해제 한다. 이 후 빌드 수행 시 실행 파일을 캐시하지 않기 때문에 해당 오류는 발생하지 않는다. 다만 캐시를 하지 않으면 빌드 실행 속도 개선의 이점을 잃게 되므로 다음 버전 업데이트 시에 다시 체크하고 실행을 해서 테스트해봐야할 듯 하다. 2020. 12. 14.
[Go언어] API 서버간 내부 통신 시 too many open files 문제 다수의 API 서버를 실행 중이고, 각 서버간에는 주기적으로 상호 통신을 실행하고 있다. 이 때 일정 시간이 경과하면 아래와 같은 오류가 발생하면서 먹통이 되는 현상이 발생하였다. dial tcp: lookup 127.0.0.1: too many open files 먼저 메시지 내용 처럼 현재 얼마만큼의 파일이 Open 되었는지 확인해보기 위해 아래와 같이 lsof 명령을 사용하였다. lsof | wc -l 문제가 발생한 대상 API 서버에서 too many open files 발생 시 file open 수는 17141개 였는데 재시작 후 6994로 감소하였다. 이로 인해 프로세스 실행 후 문제가 발생한 시점까지 대략 10147개의 file open이 추가된 것으로 추정되는 상황이다. (다른 프로세스로 .. 2020. 12. 5.
[k8s] kube-prometheus #1 - 설치 Amazon EKS를 사용하면서 초기에 Kubernetes 모니터링을 위해 Container Insights를 사용하였으나 500개 이상의 Custom Metric이 CloudWatch에 추가되면서 많은 비용이 발생하게 되었다. 비용 절감을 위해 Container Insights에서 현재는 Prometheus로 변경을 진행하였고, Prometheus를 간단하게 설치 할 수 있는 CoreOS의 kube-prometheus를 사용하였다. CoreOS에서 제공하는 kube-prometheus를 사용하면 Prometheus를 간단하게 설치할 수 있고, 설치 절차는 다음과 같다. 1. Git clone git clone https://github.com/coreos/kube-prometheus.git 2. 의존성.. 2020. 11. 18.