전체 글

김정태의 개발일기
· AWS
웬만한 애플리케이션은 데이터베이스를 사용합니다. 데이터베이스 중에서도 수요가 많은 것은 관계형 데이터베이스 (RDB)입니다. 관계형 데이터베이스는 데이터가 하나 이상의 열과 행의 테이블(또는 '관계')에 저장되어 서로 다른 데이터 구조가 어떻게 관련되어 있는지 쉽게 파악하고 이해할 수 있도록 사전 정의된 관계로 데이터를 구성하는 정보 모음입니다. 관계는 이러한 테이블 간의 상호작용을 기반으로 설정되는 여러 테이블 간의 논리적 연결입니다. 이러한 관계형 데이터베이스를 EC2에서 직접 설치하여 운영할 수도 있지만, AWS에서 관리해주는 RDS를 사용하는 것이 좋은 선택입니다. 오늘은 RDS에 대해 간단하게 알아보고 작은 실습을 해봅시다. 1. RDS란? RDS는 Relational Database Servi..
· Network
전 블로그에 올린 글을 이전했습니다. https://velog.io/@arcokim/포트와게이트웨이 포트(& 포트포워딩), 게이트웨이 통신에 중요한 포트, 포트포워딩, 게이트웨이에 대하여 velog.io 포트 운영 체제 통신의 종단점으로 네트워크 서비스나 특정 프로세스를 식별하기 위해 사용하는 번호입니다. 포트의 동작 통신을 할 때에 클라이언트(Client)와 서버(Server)가 있습니다. 두 기기가 통신을 할 때에 IP 주소로만 통신을 하면 웹을 이용한 통신인지 메일을 이용한 통신인지 모르게 됩니다. 따라서 어떤 프로그램의 서버가 응답해야할지 포트 정보를 추가하여 보내게 됩니다. 각 프로그램들의 서버는 특정 포트에서 대기하게 됩니다. 클라이언트는 그 프로그램을 이용할 때 해당 포트로 접속하기로 약속된..
· Network
전 블로그에 올린 글을 이전했습니다. https://velog.io/@arcokim/프로토콜 프로토콜과 IP, TCP, UDP 프로토콜에 대하여 📒 프로토콜이란 무엇일까? 컴퓨터나 원거리 통신 장비 사이에서 메시지를 주고 받는 양식과 규칙의 체계이다. velog.io 프로토콜 컴퓨터나 원거리 통신 장비 사이에서 메시지를 주고 받는 양식과 규칙의 체계입니다. 인간에 비유하면 언어라고 할 수 있는데 한국인이 미국인과 소통할 때 한국어 또는 영어로 언어를 통일해야 의사소통을 할 수 있는 것처럼 컴퓨터는 프로토콜이라는 양식과 규칙에 따라 통신을 하는 것입니다. 프로토콜의 기본 요소 구분(Syntax) 데이터를 어떻게 구성할 지에 대한 형식(아날로그와 디지털), 부호화(유니코드와 ASCII), 신호 레벨 등에 대..
· AWS
EKS에서 Service를 생성할 때마다 외부 트래픽을 받기 위해 ALB나 NLB를 생성해야 합니다. 이것은 매우 귀찮은 일이고, AWS WAF 같은 리소스가 추가로 붙으면 더 까다로워질 것입니다. 이것을 해결하기 위해 AWS Load Balancer Controller가 나왔습니다. AWS Load Balancer Controller는 EKS 클러스터의 Elastic Load Balancer 관리를 돕는 Controller입니다. Ingress를 통하여 ALB, Service를 통하여 NLB를 생성할 수 있습니다. 쿠버네티스 리소스를 이용해 ELB를 생성하므로 yaml 파일로 생성과 제거가 가능하여 관리또한 쉬워집니다. 오늘은 AWS Load Balancer Controller를 설치하고, ALB와 N..
· AWS
이전에는 Node 확장을 위해 Cluster Autoscaler을 사용했습니다. 그러나 Cluster Autoscaler는 AutoScaling Group을 통해 Node를 확장합니다. Pod의 Pending 상태를 확인하고, ASG의 Desired Capacity 값을 늘려 Node를 확장하는데는 많은 시간이 걸립니다. 또한, 워크로드별 인스턴스 요구사항이 다를 경우 여러 ASG를 운영해야 하기 때문에 운영 부담이 늘어납니다. 이러한 Cluster Autoscaler의 문제점을 해결하기 위해 Karpenter가 등장했습니다. Karpenter는 ASG에 의존하지 않고, EC2 Instance를 즉시 실행시켜 신속하게 Node를 확장시킬 수 있습니다. Provisioner을 설정해 워크로드별 인스턴스 요..
· AWS
기능 실험이나 훈련을 목적으로 AWS를 사용할 때는 비용이 거의 발생하지 않도록 리소스들을 즉시 지워야 합니다. 그러나 많은 리소스를 사용할 경우 콘솔로 다 일일이 삭제하기에 시간이 많이 들고, 실수로 어떤 리소스를 지우는 것을 까먹어 많은 비용이 발생할 수 있습니다. 이럴 때는 aws-nuke를 사용하면 됩니다. aws-nuke는 AWS 계정에 있는 모든 리소스를 삭제해주는 도구로 리전과 필터를 설정하여 삭제하지 않을 리소스도 정해줄 수 있습니다. 1. aws-nuke 설치 aws-nuke 실행 파일은 github releases에서 받을 수 있습니다. https://github.com/rebuy-de/aws-nuke/releases Releases · rebuy-de/aws-nuke Nuke a wh..
· Network
전 블로그에 올린 글을 이전했습니다. https://velog.io/@arcokim/tcpip-model TCP/IP 4계층 📒 TCP/IP 4계층이란 무엇일까? 현재의 인터넷에서 컴퓨터들이 정보를 주고 받는데 쓰이는 프로토콜의 모음이다. velog.io TCP / IP 4계층이란 무엇일까? 정의 TCP / IP 4계층은 현재의 인터넷에서 컴퓨터들이 정보를 주고 받는데 쓰이는 프로토콜의 모음입니다. OSI 7계층과의 비교 계층형이라는 공통점을 가집니다. TCP / IP 4계층은 인터넷 개발 이후 계속 표준화되어 신뢰성이 우수한 반면, OSI 7계층은 표준이 되지만 실제적으로 구현되는 예가 없어 신뢰성이 떨어지고 있습니다. OSI 7계층은 장비 개발과 통신 자체를 어떻게 표준으로 잡을지 정할 때 사용하는 ..
· AWS
EC2 인스턴스 메타데이터는 EC2 인스턴스에 대한 설정이나 정보를 가지는 데이터입니다. 인스턴스 메타데이터를 이용하여 User Data Script를 실행시키거나 IAM Role 권한을 적용시킬 수 있습니다. EKS에서 Node Group으로 EC2를 사용할 때도 Launch Template을 이용하여 메타데이터에 대한 설정을 할 수 있습니다. 오늘은 메타데이터에 대한 설정을 살펴보고 보안을 고려했을 때 어떤 설정이 더 나은 설정인지 탐구해봅시다. 1. IMDS Version 인스턴스 메타데이터 서비스(IMDS)는 버전이 1, 2가 있습니다. IMDSv1은 요청/응답 형식으로 메타데이터를 제공합니다. http://169.254.169.254로 접근하여 메타데이터를 얻을 수 있습니다. 쉽게 접근할 수 있..
KimJeongTae
개발정태