전체 글 (111) 리스트형 썸네일형 ECS Network Mode와 VPC Flow Log 사용 중 트러블 슈팅 기록 개요오늘은 VPC Flow Log를 사용하면서 겪었던 이슈를 정리해보려고 한다. 그중에서도 VPC Flow Log를 중점적으로 다루기보다는 ECS의 네트워크 모드, ECS와 Flow Log의 연동, ECS와 OS의 임시 포트 개념에 대해 정리할 예정이다.VPC Flow LogVPC Flow Log는 VPC에서 네트워크 인터페이스에서 전송되거나 수신되는 IP 트래픽에 대한 정보를 수집할 수 있는 기능이다. VPC에서 이 기능을 활성화할 수 있으며, 서브넷 단위로도 활성화가 가능하다. 공식문서에서는 Subnet에서 Flow log를 활성화한 뒤 S3에 저장하는 아키텍처를 보여주고 있다.Flow log를 활성화하게 되면 공백으로 구분되는 문자열 형태로 로그가 저장되는데, 이 로그에는 src, dest, pro.. Deployment와 StatefulSet 개요오늘은 kubernetes에서 배포를 하기 위해 사용되는 단위인 Deployment와 StatefulSet에 대해 알아보려고 한다. 지금까지는 Deployment는 stateless 한 워크로드인 경우, StatefulSet은 stateful 한 워크로드인 경우에 사용하는 것으로만 대강 알고 있었는데, 이번 기회에 좀 더 정확하게 알아볼 예정이다.Deployment두 개를 비교하기 전에 일단 Deployment가 뭔지, StatefulSet이 뭔지 먼저 알아야 한다. 인터넷에 kubernetes deployment를 검색하면 나오는 공식문서에서는 Delpoyment를 아래와 같이 설명하고 있다.A Deployment manages a set of Pods to run an application wor.. AWS Network Firewall & TCP 패킷만 캡처되는 이슈 트러블 슈팅 개요오늘은 AWS의 Network Firewall에 대해서 알아보려고 한다. 저번 포스팅에 이어서 여전히 AWS의 서비스와 통신할 때 IGW를 통해 외부로 나가면 안 된다는 요구사항을 만족시키기 위해 사용하던 중 새롭게 알게 된 내용들과 삽질한 내용이 있어 이를 정리해두려고 한다.AWS Network FirewallAWS Network Firewall은 VPC 내에서 사용할 수 있는 네트워크 방화벽 겸 침입 탐지 및 방지 서비스이다. IGW, NAT, VPN 같은 AWS 서비스와 함께 사용할 수 있다.https://docs.aws.amazon.com/network-firewall/latest/developerguide/how-it-works.html이건 Network Firewall 작동방식을 소개한 공.. AWS VPC Endpoint (Interface, Gateway) 개요오늘 포스팅해볼 내용은 VPC Endpoint에 관한 내용이다. AWS의 서비스와 통신할 때 IGW를 통해 외부로 나가면 안 된다는 요구사항을 만족시키기 위해 VPC Endpoint를 사용했는데, 사용하면서 알게 된 내용들을 정리해보려고 한다.기본 구조포스팅을 시작하기에 앞서 기본 구조를 설명하려고 한다. Private Subnet에 배치되어 있는 EC2에서 동일한 계정, 리전에 있는 S3를 호출한다고 하면, EC2에서는 S3 Domain에 대한 IP를 얻기 위해 DNS Query를 실행하게 된다. 이때는 Route 53의 Public DNS를 호출하게 된다.이걸 실제로 확인해보려면 EC2에 접속해서 nslookup결과를 확인해보면 된다. 반환 결과로 나온 IP들이 AWS의 공인 IP인 것을 확인할 .. ECS Graceful Shutdown (dumb-init) 개요오늘 포스팅해 볼 내용은 init system, 그중에서도 dumb-init을 사용해서 SIGTERM을 전파하는 방법에 대해서 알아보려고 한다. 사실 dumb-init을 이번에 처음 안 것은 아니고 2년 전에도 비슷하게 포스팅을 한 적이 있다. 그런데 이번에도 비슷한 이슈를 다루며 자세히 적어두면 좋을 것 같다고 생각하여 작성하게 되었다. 내가 관리하고 있는 rails 프로젝트에는 entry point가 아래와 같이 구성이 되어 있다.ENTRYPOINT ["sh", "-c", "export DD_AGENT_HOST=$(curl ); rails"]ECS 환경에서 Datadog을 사용하려면 이렇게 사용해야 한다. export 명령어를 사용하기 때문에 sh -c가 붙게 되고, 여기에서 별 다른 설정을 하지.. Rails 프로젝트 도커 캐싱하기 1. 사건의 발단사건의 발단은 몇 달 전으로 거슬러 올라간다. Rails 프로젝트 컨테이너라이징 작업을 하던 중… 도커 빌드 속도가 너무 느려서 하나를 수정해서 배포해도 6분, 8분, 12분 이런 식으로 너무 오래 걸려서 답답해하고 있었다. 분명히 캐싱이 적용되어 있을텐데? 싶어서 아무거나 하나 눌러서 보니까 웬걸 … 캐시를 전혀 사용하고 있지 않고 있었다… ㄴㅇㄱ 다른 루비 프로젝트들은 어떻게 하고 있지? 싶어서 다른 루비 프로젝트도 보니까 그냥 느리게 사용하고 있었다.언젠간 꼭 고쳐야지 … 😔 라는 생각으로 마음속의 백로그로 가지고 있다가 며칠 전부터 드디어 파보기 시작했다.2. 캐싱 적용 방법현재 캐싱을 위해 Github Action 플러그인인 docker/build-push-action를 사용하.. Linkerd Tutorial 따라해보기 쿠버네티스 클러스터에 linkerd를 설치하고 샘플 애플리케이션을 배포하여 linkerd를 사용해 보려고 한다. k8s 클러스터는 minikube를 사용하여 진행했고, https://linkerd.io/2.16/getting-started/ 에 나온 내용을 기반으로 공부한 내용을 추가하여 포스팅을 작성한다.1. linkerd 설치local machine에 linkerd를 설치하기 위해 아래 커맨드를 입력한다.$ curl --proto '=https' --tlsv1.2 -sSfL https://run.linkerd.io/install-edge | sh$ export PATH=$HOME/.linkerd2/bin:$PATH그 이후에 정상적으로 설치되어 있는지 확인하기 위해 아래 커맨드를 입력한다. 만약 아래처.. S3 Batch Operations 사용 시에 주의할 점 S3는 Batch Operations이라는 기능을 제공해 준다. 이 기능을 사용하면 특정 Bucket에 있는 Object들을 쉽게 다른 Account 또는 현재 Account의 다른 Bucket에 옮길 수 있다. 비록 쓰면서 아쉬운 점들이 있었지만 많은 양의 Object를 손쉽게 옮길 수 있다는 점은 정말 큰 장점이라고 생각한다. (쓸 때마다 DataSycn와 기능이 합쳐졌으면 좋겠다 싶은 생각도 들었다) 다만 쓰면서 몇 가지 뼈아픈 실수를 하고 난 뒤에는 Batch Operations에 대한 PTSD가 생겼지만 (…) 그래도 여전히 대량의 Object를 옮길 때 매우 좋은 서비스이기도 하고, 실수를 반복하지 않기 위해 & 같은 피해자가 발생하지 않았으면 하는 마음에 포스팅을 작성해 본다. 1. S3 R.. 이전 1 2 3 4 ··· 14 다음