AWS
-
[1] Lambda & DocumentDB 연결AWS/Hands-on 2023. 7. 14. 16:05
API Gateway 에서 받은 데이터를 Lambda에서 처리 후 DocumentDB 에 로그를 저장하는 로직을 구성하게 되었다. 이번 포스팅에서는 Lambda에서 DocumentDB 연결 방법을 2개 글에 나눠서 DocumentDB 생성과 Lambda에서 DocumentDB 연결 방법으로 작성해보려고한다. DocumentDB 란 DocumentDB 를 처음 다루게 되어서 생성부터 클러스터를 막 만들어야하고 이자식 엄청 생소한 서비스로 다가왔다. 그래서 먼저 DocumentDB에 대해 알아봤는데 AWS 공식문서를 찾아보면 DocumentDB는 AWS 의 관리형 MongoDB 호환 데이터베이스 서비스라고 한다. 때문에 MongoDB 를 이해하면 DocumentDB의 기본 구조도 이해할 수 있을것 같았다. ..
-
ECR에 도커 이미지를 업로드하여 Auto Scaling으로 배포하기AWS/Hands-on 2023. 7. 9. 18:15
CodeCommit과 Nexus 에서 소스코드와 라이브러리를 가져와 Jenkins에서 빌드하고 빌드된 도커 이미지를 ECR로 push 한 뒤 빌드 아티팩트 파일을 S3로 업로드하여 해당 아티팩트 파일과 ECR의 도커 이미지를 이용하여 CodeDeploy에서 AutoScale 배포를 진행합니다. 🔧 CodeCommit Repository 생성하기 CodeCommit Repository 를 새로 생성하고 빌드할 코드를 push한다.(소스코드, appspec.yml, Dockerfile) 👇 Nexus 설치하기 참고 글 EC2에 Nexus 설치하기 Nexus 설치하기 nexus 인스턴스에 wget과 jdk1.8 버전을 설치한다. sudo yum update -y sudo yum install wget -y s..
-
EC2에 Nexus 설치하기AWS/Hands-on 2023. 7. 9. 17:31
Nexus 설치하기 nexus 인스턴스에 wget과 jdk1.8 버전을 설치한다. sudo yum update -y sudo yum install wget -y sudo yum install java-1.8.0-openjdk.x86_64 -y 루트 디렉토리에 nexus를 설치할 app 디렉토리를 생성하고 해당 디렉토리 안으로 이동한다. sudo mkdir /app && cd /app wget으로 nexus 를 설치한 뒤 압축을 풀어준다. sudo wget -O nexus.tar.gz https://download.sonatype.com/nexus/3/latest-unix.tar.gz sudo tar -zxvf nexus.tar.gz sudo mv nexus-3* nexus nexus 계정을 생성하고 디렉..
-
Codepipeline과 Jenkins를 이용한 CI/CDAWS/Hands-on 2023. 7. 9. 17:15
본 실습은 ALB 구성과 EC2에 tomcat 이 설치 된 환경에서 public 서브넷 EC2에 Jenkins 설치부터 진행합니다 🙂 🚨 이때 배포 대상이되는 tomcat이 설치된 EC2 인스턴스에는 CodeDeploy Agent가 설치되어 있어야합니다. 👇 CodeDeploy Agent 설치 가이드 Amazon Linux 또는 RHEL용 CodeDeploy 에이전트 설치 - AWS CodeDeploy 앞의 명령에서 /home/ec2-user는 Amazon Linux 또는 RHEL Amazon EC2 인스턴스의 기본 사용자 이름을 나타냅니다. 사용자 지정 AMI를 사용하여 인스턴스를 만든 경우 AMI 소유자가 다른 기본 사용자 이름을 지 docs.aws.amazon.com 👇 사전 준비 참고 글 Publ..
-
Client VPN을 사용하여 VPC Peering으로 연결된 VPC의 Private 인스턴스 접근하기AWS/Hands-on 2023. 7. 5. 19:09
Client VPN 이란? Client VPN은 OpenVPN 서버를 AWS에서 쉽게 이용할 수 있도록 한 관리형 서비스로서, VPN을 통해 AWS 외부에서 VPC 상에 프라이빗한 리소스에 접근할 수 있도록 해준다. AWS Client VPN이란 무엇입니까? - AWS Client VPN AWS Client VPN이란 무엇입니까? AWS Client VPN은 AWS 리소스 및 온프레미스 네트워크의 리소스에 안전하게 액세스할 수 있도록 하는 관리형 클라이언트 기반 VPN 서비스입니다. Client VPN에서는 OpenVPN 기 docs.aws.amazon.com VPC Peering 이란? VPC 피어링 연결은 Private IPv4 주소 또는 IPv6 주소를 사용하여 두 VPC간에 트래픽을 라우팅할 수 ..
-
EC2 에 Java, Tomcat 설치하기AWS/Hands-on 2023. 7. 5. 18:15
🔧 EC2 에 Java 설치하기 자바 설치 yum install java-1.8.0-openjdk 설치된 자바 버전 확인 java -version 환경변수 설정 which 명령을 통해 java의 경로를 가져오고 readlink 명령을 통해 심볼릭 링크가 연결되어 있는 실제 파일의 경로를 가져온다. which java readlink -f 자바경로 아래 명령으로 /etc/profile 파일을 편집한다. vi /etc/profile 마지막라인에 아래 두줄을 추가한 뒤 저장한다. export JAVA_HOME=자바경로 export PATH=$PATH:$JAVA_HOME/bin profile에 입력한 내용을 적용한다. source /etc/profile 환경변수 확인 echo $JAVA_HOME 🔧 EC2 에 ..
-
EC2에 nginx 설치하기 (패키지 설치 방법, 컴파일 설치 방법)AWS/Hands-on 2023. 7. 5. 18:09
🔧 EC2 에 nginx 설치하기 (패키지 설치 방법) nginx 가 있는지 찾아본다. yum info nginx 리눅스 환경의 EC2를 시작하면 nginx 에 대한 레포 경로가 없기 때문에 설정을 해주어야한다 vi /etc/yum.repos.d/nginx.repo 아래 내용을 입력하고 :wq 를 입력하여 저장한다. [nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/7/$basearch/ gpgcheck=0 enabled=1 다시 아래 명령어를 입력하면 nginx 레포지토리가 잘 추가된 것을 확인할 수 있다. yum info nginx nginx 설치하기 yum install nginx 설치된 nginx 버전은 아래 명령어로 확인이 가능하..
-
Public Loadbalancer 를 사용하여 Private Instance 접근하기AWS/Hands-on 2023. 7. 5. 17:54
Loadbalancer란? 애플리케이션 트래픽을 Amazon EC2 인스턴스, 컨테이너, IP 주소, Lambda 함수등 여러 대상에 자동으로 수신 애플리케이션 또는 네트워크 트래픽을 여러 가용영역에 분산시켜 안정적인 AWS서버 환경을 운용하는데에 도움을 주는 서비스이다. Loadbalancer는 지속적으로 IP주소가 바뀌기 때문에 도메인 기반으로 사용되며 크게 외부 인터넷에서 접속이 가능한 Internet-facing LB와 내부에서의 접근만을 허용하는 Internal LB로 구분된다. Loadbalancer의 기본구성 Loadbalancer 는 VPC 내부에 존재하며 사용자의 요청을 받고 이를 VPC 내의 리소스에 적절히 부하 분산한다. 때문에 Loadbalancer는 외부의 요청을 받아들이는 리스너..