공부/AWS(25)
-
[AWS] ssh key forwarding (Windows)
Bastion Host란?Bastion Host는 외부 네트워크와 내부 프라이빗 네트워크 사이의 게이트웨이 역할을 수행한다. 클라우드 환경에서 보안이 중요한 EC2를 private subnet에 생성했다고 하자. private subnet에 생성된 EC2는 외부 네트워크로부터 직접적인 트래픽을 받지 못 하고 직접적으로 트래픽을 보내지도 못 한다. 오직 같은 VPC 내부에서 접근이 가능하다. 그런데 AWS와 같은 퍼블릭 클라우드 공급 업체를 사용할 경우 어떻게 private subnet에 존재하는 EC2 인스턴스에 접근할 수 있을까? 여러가지 방법이 있지만 그 중 하나는 Bastion Host를 사용하는 것이다. Bastion Host 역할을 할 EC2 인스턴스를 public subnet에 생성하고 보안..
2024.11.05 -
[AWS] 쿠버네티스를 EKS 환경에서 구축하기
https://growth-coder.tistory.com/216 [Docker] 도커 개념 및 사용법 프로젝트를 진행하면서 로컬에서 잘 작동하던 프로젝트가 서버에 배포하면 잘 작동하지 않을 수 있다. 수많은 원인이 존재하겠지만 라이브러리 버전이 다르다거나 네트워크 환경이 다르다거나 growth-coder.tistory.com 이전에 도커 및 컨테이너의 개념 및 사용법에 대해 알아보았다. 컨테이너의 장점으로는 각각 독립적인 환경을 유지할 수 있다는 점이다. 이에 따라 여러 컨테이너를 띄워두고 작업을 할 수 있는데 컨테이너의 개수가 많아지면 문제가 발생할 수 있다. 1. 컨테이너 생성의 어려움 다음과 같이 정말 많은 컨테이너를 띄워야 한다고 생각을 해보자. 굉장히 많은 시간이 걸릴 것이다. 2. 컨테이너 ..
2023.08.18 -
[AWS] EC2 ssh 비밀번호로 접속 및 sudo 권한 설정
EC2를 사용하다보면 보통 EC2 인스턴스를 생성할 때 만든 key pair 파일을 통해서 ssh로 접속을 할 것이다. 그런데 key pair를 분실하기라도 하면 곤란하고 여러 명이 동시에 EC2를 이용한다면 인당 하나의 계정을 가지고 있는 편이 좋을 것이다. 그래서 키 페어 대신 os 계정을 생성하여 비밀번호를 통해 EC2를 접근하도록 할 수 있다. OS 계정 생성 우선 처음에는 키 페어를 통해 EC2에 접속하자. 다음 명령어를 통해 os 계정을 생성한다. sudo -i useradd [이름] passwd [위에서 추가한 이름] 이후 비밀번호를 입력해주면 된다. os 계정 생성을 완료했다면 비밀번호 로그인을 할 수 있도록 설정 파일을 바꿔줘야 한다. /etc/ssh 디렉토리 안에 있는 sshd_conf..
2023.08.13 -
[AWS] CI/CD 배포 결과 디스코드에 알림 보내기
이전 포스팅에서 github actions와 AWS CodeDeploy를 이용해서 CI/CD를 구축하는 방법에 대해서 알아보았다. https://growth-coder.tistory.com/221 CodeDeploy를 통해 배포 과정을 자동화하였고 생산성이 굉장히 향상되었다. 그런데 아직도 아쉬운 점이 있다. 배포 결과를 확인하기 위해서 AWS CodeDeploy에 접속해야하고 메시지를 확인해야하기 때문이다. 그래서 이번에는 CodeDeploy 배포 결과를 자동으로 디스코드에 알림을 보내주는 프로그램을 만들어보려고 한다. 우선 과정을 간단히 설명하자면 다음과 같다. CodeDeploy에서 배포 실패 이벤트 발생 CodeDeploy 트리거에 등록된 AWS SNS 주제로 메시지 전송 AWS SNS 트리거에 ..
2023.07.05 -
[AWS] AWS lambda + event bridge 매일 크롤링해서 private RDS에 저장
프로젝트를 진행하던 중 매일 크롤링을 해서 데이터베이스에 데이터를 갱신해야 하는 작업이 있었다. 처음에는 EC2에 배포한 스프링부트에서 직접 자바로 크롤링을 하도록 구성을 했었는데 보안을 위해 private subnet에 EC2 인스턴스를 두면서 어려워졌다. NAT gateway를 통해 크롤링을 하는 방법도 있었지만 비용 문제로 다른 방법을 사용하기로 했다. 그 다른 방법은 AWS lambda와 AWS event bridge를 사용하여 매일 자정에 자동으로 크롤링을 해서 private RDS에 저장하는 방법이다. AWS Event Bridge의 Cron Rule을 사용하여 매일 자정에 이벤트를 발생시켜 Lambda를 호출한다. Lambda는 원하는 사이트를 크롤링 하여 원하는 데이터를 RDS에 저장한다...
2023.06.17 -
[AWS] EC2 인스턴스 t 타입. 프리티어 EC2 인스턴스 먹통되는 현상 (502 bad gateway)
프로젝트를 진행하면서 스프링부트 API 서버를 EC2에 배포하였다. 프론트 분들께서 개발하시도록 API 서버를 24시간 동안 가동하였는데 EC2 인스턴스가 얼마 가지 못하고 계속 먹통이 되는 현상이 발생하였다, 보통 아래와 같은 현상이 발생하였다, 응답까지 시간이 매우 오래 걸린다. 502 bad gateway 에러가 발생한다. 임시 방편으로 EC2를 중지하였다가 다시 실행 후 서버를 다시 배포하면 괜찮아졌으나 이마저도 1시간도 채 지나지 않아서 다시 먹통이 되는 현상이 발생하였다. 뭔가 내가 놓치는 부분이 있을 거라 생각하여 EC2 프리티어 인스턴스 타입인 t2.micro에 대해서 알아보았다. 먼저 EC2의 유형을 보기위한 방법은 다음과 같다. t 2 . micro (인스턴스 타입) (세대) (크기) ..
2023.06.15