DevOps 32

[AWS] VPC(Virtual Private Cloud)를 활용한 네트워크 구성 및 보안 설정 W. TERRAFORM 예제

AWS VPC는 클라우드 환경에서 가상 네트워크를 구축하고 관리할 수 있는 서비스이다. 이를 통해 사용자는 가상의 프라이빗 클라우드를 생성하고, 리소스를 격리하며 네트워크 구성을 세밀하게 제어할 수 있다. 이번 글에서는 AWS VPC의 구성 요소와 주요 개념과 실제 예시를 통해 자세히 살펴보도록하자. Internet Gateway in AWS 인터넷 게이트웨이는 AWS(Virtual Private Cloud) VPC 환경에서 인터넷과의 통신을 가능하게 하는 서비스이다. VPC 내부의 리소스가 인터넷과 통신하기 위해서는 인터넷 게이트웨이가 필요하다. 이를 통해 VPC 내부의 인스턴스들은 인터넷으로 향하는 트래픽을 주고받을 수 있다. VPC 연결: VPC와 인터넷 게이트웨이 간의 연결은 하나의 VPC에 하나..

DevOps/aws 2023.07.13

[Terraform] Terraform 시작하기 feat. EC2 기본 Code

Terraform 시작하기테라폼은 다양한 클라우드를 제공하고 있는 AWS, Azure, Google Cloud 리소스를 코드를 통해 온프레미스 시스템을 지원하며, 여러 리소스(가상 머신, 네트워크, 데이터베이스)를 프로비저닝할 수 있다. 테라폼 설치테라폼은 공식 웹사이트(https://www.terraform.io/downloads.html) 다운로드할 수 있다.압축 파일을 압축 해제한 후, 실행 파일을 실행 가능한 경로에 배치한다.설치가 성공적으로 완료되었는지 확인하기 위해 terraform version 명령을 실행하여 테라폼 버전을 확인한다. 테라폼 기본 개념테라폼 코드: 테라폼을 사용하여 인프라를 관리하기 위해 작성하는 코드로 HCL(HashiCorp Configuration Language)이라..

DevOps/terraform 2023.07.13

[AWS] IAM과 Linux Ubuntu환경에 AWS CLI 설치

빛나는 8GB 맥북을 사용하기 위해 AWS EC2에 linux Ubuntu를 설치하여 linux를 학습하고 있다. 오늘은 AWS IAM에 대해 알아보고 AWS CLI를 Linuc Ubuntu 환경에 설치해보겠다. IAMglobal serviceIdentity access management유저를 만들고 그룹에 할당이 가능하다.default root user를 만들고 절대 공유하면 안된다.IAM에서 유저를 생성하고 그 유저는 조직내의 한 사람을 의미한다.그리고 사용자가 합이 맞으면 그룹화가 가능그룹은 컨테이너 사용자만 가능하고 다른 그룹은 불가 IAM 사용자를 생성하고 그룹에 권한을 부여하는 단계 AWS Management Console에서 Identity and Access Management(IAM) ..

DevOps/aws 2023.05.17

[Kafka] Python에 kafka 활용한 간단예제 ft.Event-driven microservices

파이썬에서는 kafka-python이라는 라이브러리를 통해 카프카를 활용할 수 있다. kafka-python 라이브러리를 설치 명령어 pip install kafka-python 다음은 kafka producer 예제이다. producer.send() 함수를 사용하여 토픽에 메시지를 전송할 수 있다. pythonCopy code from kafka import KafkaProducer # 카프카 서버 정보 설정 bootstrap_servers = ['localhost:9092'] # 프로듀서 생성 producer = KafkaProducer(bootstrap_servers=bootstrap_servers) # 메시지 전송 producer.send('my_topic', b'message from pytho..

DevOps/kafka 2023.05.08

[Kafka] 빅데이터 플랫폼: hadoop, spark, kafka의 역할과 데이터 아키텍쳐

데이터 플랫폼은 대용량 데이터를 수집, 저장, 처리, 분석할 수 있는 통합 플랫폼을 의미한다. 이를 위해 다양한 기술과 솔루션이 활용될 수 있으며, 하둡, 스파크, 카프카는 데이터 플랫폼 구성에서 가장 많이 사용되는 기술 중 하나이다. 하둡은 대규모 데이터를 분산 처리할 수 있는 분산 파일 시스템(HDFS)과 분산 컴퓨팅 프레임워크(MapReduce)를 제공한다. 스파크는 하둡 기반의 분산 처리 엔진으로, 메모리 기반의 빠른 처리 속도와 다양한 데이터 소스 지원 등을 특징으로 한다. 카프카는 대용량 실시간 데이터 스트리밍 플랫폼으로, 다양한 소스로부터 데이터를 수집하고, 다양한 대상에 데이터를 전송할 수 있다. 이러한 기술들이 데이터 플랫폼 구성에서 주요한 역할을 하고 있다. 여기서 관계형데이터베이스와 ..

DevOps 2023.05.08

[Kafka] Kafka Manager API를 사용하여 Kafka 클러스터 모니터링하는 법: 카프카 클러스터의 고가용성확보

카프카 클러스터에서 고가용성을 확보하기 위해서는 여러 대의 브로커 노드를 이용한 복제와 리더-팔로워 구조를 활용해야 한다. 이를 통해 카프카 클러스터 전체에서 데이터의 손실 없이 안정적으로 메시지를 처리할 수 있다. 먼저, 카프카 클러스터에서 데이터를 안정적으로 처리하기 위해서는 여러 대의 브로커 노드를 이용한 복제가 필요하다. 이를 위해 데이터를 복제할 브로커 노드를 미리 설정해야 하고 이때, 브로커 노드의 수는 홀수로 설정하는 것이 좋다. 이유는 브로커 노드 수가 짝수일 경우, 브로커 노드의 다수결로 리더 노드를 선출하는데, 만약 다수결을 가릴 수 없는 경우 브로커 노드 간에 충돌이 발생하여 데이터 손실이 발생할 수 있기 때문이다. 또한, 카프카 클러스터에서 데이터의 안정적인 처리를 위해서는 리더-팔..

DevOps/kafka 2023.05.08

[Kafka] Kafka를 활용한 대규모 데이터 실시간 전송 예제 코드

Kafka는 왜 탄생했나? 단방향 통신 App and Services → Relational Data Ware House Source Application, Target Application이 많아지면서 데이터를 전송해지는 라인이 매우 복잡해졌다. Source Application, Target Application이 많아질수록 key value Store 즉, 데이터를 전송해지는 라인도 그만큼 많아졌다. 데이터를 전송해지는 라인이 많아지면 배포와 장애에 대응하기가 어려워진다. 데이터를 전송할 때 프로토콜포멧 파편화가 심해지고 추후 데이터 포멧 내부에 변경사항이 생기면 유지보수하기어려워진다. apache kafka는 위와 같은 어려움을 해결해준다. Source Application과 Target Appl..

DevOps/kafka 2023.05.02

[AWS] 컨테이너 오케스트레이션 서비스로 비용절감하는 법

AWS에서 제공하는 컨테이너 서비스인 Amazon ECS와 Amazon EKS를 사용하는 개발자들은 컨테이너 환경에서 슬기롭게 생활한다. 이번 세션에서는 AWS에서 컨테이너 서비스를 보다 잘 활용할 수 있는 방법들을 전수받고왔다. 먼저 컨테이너 오케스트레이션 서비스에 대해 알아보도록하자. 컨테이너 오케스트레이션 서비스는 마치 내집 마련을 하는 것과 같다. AWS에서는 Amazon ECS와 Amazon EKS를 제공한다. Amazon ECS는 완전히 관리되는 컨테이너 오케스트레이션 서비스로, 간단하게 애플리케이션을 배포하고 관리할 수 있다. Amazon EKS는 Kubernetes를 사용하는 컨테이너 오케스트레이션 서비스로, 보다 유연하고 안정적인 컨테이너 환경을 제공한다. 이미지 사이즈를 줄이는 방법 이..

DevOps/aws 2023.03.31

MSA구조를 위한 서버안정화 및 과부하 분산처리를 위한 솔루션 검토

서버 자동 재시작(self- healing) bash와 crontab health Check를 위한 쉘스크립트 function isRunning { if[-s $HITUP_PID_FILE] then ps -p $(cat $HITUP_PID_FILE) > dev/null return $? else return 1 fi } JVM 실행옵션 OutOfMemoryError에러 발생 시 바로 킬하는 옵션 장애 원인을 남기기위해서 heapdump남기는 옵션 java- Xmx10x10m \\ -XX:+HeapDumOnOutOfMemoryError \\ -XX:+ExitOnOutOfMemoryError -jar may_cause_oom.jar 첫번째 OutOfMemoryError 에러가 나면 프로세스가 바로 다운이되고..

DevOps 2023.01.20