[AWS] Mac 에서 터미널로 EC2 접속
DevOps/AWS2024. 9. 4. 03:42[AWS] Mac 에서 터미널로 EC2 접속

기본적인 접속 방법먼저 pem 파일의 위치로 이동해야한다. 이후 해당 파일에 권한을 부여한다.600이 아니라 400으로 권한을 줘도 상관없다.400 : 읽기 권한600 : 읽기 + 쓰기 권한 이제 접속하는일만 남았다.EC2의 퍼블릭 아이피는 AWS에서 확인할 수 있다.ssh -i 키페어이름.pem ec2-user@EC2퍼블릭아이피 ssh -i 키페어이름.pem ubuntu@EC2퍼블릭아이피 차이점은 Amazon Linux, CentOS의 경우 호스트 이름을 ec2-user이고, Ubuntu의 경우 호스트이름이 ubuntu이다.https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/managing-users.html Amazon EC2 Linux 인스턴스에서..

[Docker] Docker를 이용한 AWS EC2에 배포
DevOps/Docker2024. 8. 27. 00:33[Docker] Docker를 이용한 AWS EC2에 배포

서버 환경 : Ubuntu 24.04 LTS (GNU/Linux 6.8.0-1012-aws x86_64)MySQL : 8.0.32스프링부트 : 3.3.3Redis : latest(24.8.26 기준) EC2에 Docker, Docker  Compose 설치sudo apt-get update && \sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common && \curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - && \sudo apt-key fingerprint 0EBFCD88 && \sudo add-apt-rep..

[Docker] Spring Boot 프로젝트를 Docker 이미지로 만들기
DevOps/Docker2024. 8. 25. 18:27[Docker] Spring Boot 프로젝트를 Docker 이미지로 만들기

DockerFile 작성 생성한 도커파일에 아래와 같은 내용을 작성해준다.FROM eclipse-temurin:17-jre-alpineWORKDIR /spring-bootCOPY build/libs/*SNAPSHOT.jar app.jarENTRYPOINT ["java", "-jar", "/spring-boot/app.jar"]FROM eclipse-temurin:17-jre-alpine-Docker 이미지를 생성할 때 기본으로 사용할 베이스 이미지를 설정하는 명령어이다.-이 경우, eclipse-temurin:17-jre-alpine 이미지를 사용하여 JRE 17이 설치된 환경에서 애플리케이션을 실행할 수 있도록 한다.WORKDIR /spring-boot-Docker 컨테이너 내에서 작업 디렉토리를 /s..

[DB 성능 최적화] 실전 SQL 튜닝
데이터베이스/MySQL2024. 8. 24. 00:19[DB 성능 최적화] 실전 SQL 튜닝

이 글은 인프런의 MySQL 성능 최적화 입문/실전 (SQL 튜닝편) (박재성) 강의를 듣고 개인적으로 정리하는 글임을 알립니다.유저 이름으로 특정 기간에 작성된 글 검색 아래 더보기를 누르면 생성 및 더미 데이터 코드를 볼 수 있다.더보기기본 테이블 생성DROP TABLE IF EXISTS posts;DROP TABLE IF EXISTS users;CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50) NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP);CREATE TABLE posts ( id INT AUTO_INCREMENT PRIMARY KEY, ..

[인프런 알고리즘] Chapter 6, 9번 문제(뮤직비디오- 결정알고리즘)
자료구조 & 알고리즘/Inflearn2024. 8. 23. 20:03[인프런 알고리즘] Chapter 6, 9번 문제(뮤직비디오- 결정알고리즘)

이 알고리즘 문제는 인프런의 자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비 (김태원)의 문제입니다.문제 설명 코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Arrays;import java.util.StringTokenizer;public class sec06_09 { public static int count(int[] arr, int mid) { int count = 1; int sum = 0; for(int i = 0; i mid) { ++coun..

[DB 성능 최적화] 기본 SQL 튜닝
데이터베이스/MySQL2024. 8. 23. 00:27[DB 성능 최적화] 기본 SQL 튜닝

이 글은 인프런의 MySQL 성능 최적화 입문/실전 (SQL 튜닝편) (박재성) 강의를 듣고 개인적으로 정리하는 글임을 알립니다.많은 데이터를 조회하는 단건 쿼리데이터를 조회할 때 한 번에 너무 많은 데이터를 조회하는 건 아닌지 체크LIMIT, WHERE문 등을 활용해서 한 번에 조회하는 데이터의 수를 줄이는 방법을 고려 테이블 생성DROP TABLE IF EXISTS users; # 기존 테이블 삭제CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100), age INT); 100만건의 랜덤 데이터 삽입-- 높은 재귀(반복) 횟수를 허용하도록 설정-- (아래에서 생성할 더미 데이터의 개수와 맞춰서 작성하면 된다...

[인프런 알고리즘] Chapter 6, 8번 문제(이분검색)
자료구조 & 알고리즘/Inflearn2024. 8. 22. 23:09[인프런 알고리즘] Chapter 6, 8번 문제(이분검색)

이 알고리즘 문제는 인프런의 자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비 (김태원)의 문제입니다.문제 설명 코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Arrays;import java.util.StringTokenizer;public class sec06_08 { public static int solution(int[] arr, int M) { Arrays.sort(arr); return Arrays.binarySearch(arr, M) + 1; } public static void main(Stri..

[DB 성능 최적화] 실행 계획(Explain)
데이터베이스/MySQL2024. 8. 22. 00:50[DB 성능 최적화] 실행 계획(Explain)

이 글은 인프런의 MySQL 성능 최적화 입문/실전 (SQL 튜닝편) (박재성) 강의를 듣고 개인적으로 정리하는 글임을 알립니다.실행 계획(Explain) 개념실행 계획이란 옵티마이저가 SQL문을 어떤 방식으로 어떻게 처리할 지를 계획한 걸 의미한다.이 실행 계획을 보고 비효율적으로 처리하는 방식이 있는 지 점검하고, 비효율적인 부분이 있다면 더 효율적인 방법으로 SQL문을 실행하게끔 튜닝을 하는 게 목표다. 실행 계획(Explain)은 데이터베이스가 SQL 쿼리를 실행할 때 어떤 경로로 데이터에 접근하고 처리하는지를 보여주는 일종의 “설계도”라고 할 수 있다.즉, 쿼리가 어떻게 실행될지에 대한 세부적인 계획을 제공한다. 쉽게 설명하자면데이터베이스에 어떤 SQL 쿼리를 보내면, 데이터베이스는 그 쿼리를 ..

image