본문 바로가기

반응형

⌛ AWS 인프라 구성하기 (MiniProject)

(33)
eks 신규 생성 간단 정리 1. 일단 콘솔에서 클러스터 생성 일단 권한은 아래와 같이 줬고, eksctl 에러나서 콘솔에서 광클해서 생성함 클러스터 권한은 아래와 같고 워커노드 권한은 아래와 같다. 권한을 위와 같이 주고 클러스터를 생성한다. 2. ALB 설정 - 자격증명 만들기 - 기본 명령어 eksctl utils associate-iam-oidc-provider \ --region \ --cluster \ --approve - 적용 명령어 (예시) - 만약 ALB롤이 생성이 되어있고 클러스터만 추가로 생성 했다면 아래의 명령어에서 클러스터 이름만 변경 후 적용하면 된다. eksctl utils associate-iam-oidc-provider \ --region ap-northeast-2 \ --cluster EKS-CLUS..
eksctl 설치하기 # windows에서 eksctl 설치하기 https://eksctl.io/installation/ windows 환경 git bash 에서 eksctl 설치 하는 방법 남기기 Installation - eksctl The official CLI for Amazon EKS eksctl.io - 설치 스크립트는 아래와 같다. # Replace amd64 with armv6, armv7 or arm64 (Get-FileHash -Algorithm SHA256 .\eksctl_Windows_amd64.zip).Hash -eq ((Get-Content .\eksctl_checksums.txt) -match 'eksctl_Windows_amd64.zip' -split ' ')[0] ``` #### Using Gi..
AWS NAT가 없는 Subnet Test # NAT GW가 없는 Subnet 테스트 1. PrivateSubnet에 존재하는 NAT를 제거한다. - 라우팅 테이블에서 제거 2. EKS 에서 노드그룹을 생성한다. - 생성자체가 안된다. - NAT GW의 사용은 아래와 같다. VPC 인프라를 구축할때 Public 서브넷과 Private 서브넷을 만들어 그 안에 리소스를 구성한다. Private 서브넷에 존재하는 인스턴스가 외부 통신을 하기 위해서는 Public 서브넷에 존재하는 NAT GW를 거쳐서 한번 NAT가 되고 인터넷 게이트웨이를 거쳐서 한번더 NAT된 후 공인 IP를 달고 외부로 나가게 된다. 그래서 NAT GW는 필수요소로 구분되어 생성 되어 있어야 한다. 간단한 구조는 아래와 같다.
SpringBoot Websocket 테스트 # SpringBoout WebSocker Test 1. 웹소켓 테스트 관련 디펜던시 선택 2. 프로젝트 Generate 및 압축 해제 다운받은 프로젝트 압축 파일을 압축 해제 후 인텔리J로 연다. - 폴더 구조와 코드는 아래와 같다. 폴더 구조 - SocketHandler.java package com.example.demo; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; import org.springframework.web.socket.CloseStatus; import org.springframework.web.socket.TextMessage; import org.springframework.w..
pod에 고정ip 부여하고 특정 서버에 접속하기 # 사전 작업 ex) nginx pod → service → ingress → ALB 이작업이 사전에 되어 있다고 가정한다. 예를들어 NGINX 웹서버가 위의 과정처럼 서비스가 되고 있어야 한다. pod에 고정ip가 할당이 안되므로 Ingress내에 경로, service_name, port를 지정하여 해당 pod로 가게끔 설정해 줘야한다. 그리고 NLB가 바라보는 대상그룹은 ALB로 하고 ALB가 가지고 있는 서비스에 Port를 지정해 주면 된다. 더보기 1. Ingress(ALB) 서비스 생성 (ServiceName: apple, ServicePort: 5000) 2. 위에 생성된 ALB를 기반으로 대상그룹 생성, NLB와 연결할 TCP 포트를 지정해 줘야한다. (EX 5000) 3. NLB를 생성한다..
로컬 리눅스 OS 에서 AWS EC2로 SSH 접근하기 # 로컬 환경의 리눅스 OS에서 AWS EC2 인스턴스로 접근하기 - EC2는 PEM 키라는 접속 키를 제공한다. 그렇기 때문에 PEM 키를 이용하여 다른 환경에서 접근이 가능하다. PEM (Privacy Enhanced Mail)이란? Base64 로 인코딩한 텍스트 형식의 파일이다. 1. test용 인스턴스를 생성 ec2 생성 시 중간에 pem키를 저장하는 항목이 있는데 경로 설정에 유의해야한다. 해당 pem 파일이 존재하는 경로에서 ssh 접속을 시도해야 한다. 2. wsl로 OS에 접속한다. wsl에 현재 경로를 확인하는 가장 편한 방법은 아래의 명령어를 입력하는 것이다. explorer.exe . 아래와 같이 현재 접속한 wsl 폴더를 확인 할 수 있다. 해당 폴더로 pem 파일을 복사하여 붙여..
(EKS) 동일 Namespace내의 pod간 통신 테스트 pod간 통신 확인 및 curl 을 통해 pod간 API 호출이 가능한지 확인한다. 기본 명령어는 아래와 같다. kubectl exec -it [pod_name] -n [namespace_name] -- bash 1. pod 리스트 조회 kubectl get pod kubectl get pod -n {namespace_name} 2. pod 내부 접근 kubectl exec -it mynginx-pod -- bash 컨테이너에서 실행할 명령어(bash) 앞에 -- 을 붙여준다. 3. pod간 통신 및 pod와 node간 통신 확인하기 - pod의 ip를 조회한다. kubectl get pod -n {namespace_name} -o wide - pod에 접속한다. kubectl exec -it {pod_..
Evicted pod 문제 해결하기 # 문제원인 - EFK 구성중 elasticsearch pod가 Evicted가 발생하여 elasticsearch pod가 내려가는 문제 발생 # 해결방법 (테스트) - 시도1. Nodegroup를 신규로 생성하여 t3.small인 인스턴스 타입을 한단계 올려보려고 함, 동시에 디스크 크기도 100기가 정도로 구성할 예정 - 시도2. 구글링... # 작업 시작 1. 노드그룹 추가를 통해 새로운 노드그룹을 생성 → t3.medium 2개정도로 구성된 새로운 노드그룹과 디스크 100gb 정도로 노드그룹을 생성한다. 2. 일단 기존의 nodegroup 1은 t3.small 3개의 인스턴스와 20gb로 구성이 되어 있음, 새로운 노드그룹과 리소스를 공유하므로~ 일단 하드웨어는 늘어난것임.(사실 t3.small ..

728x90
반응형