본문 바로가기

분류 전체보기77

Linux에서 AWS-CLI 설정하기 AWS CLI 설치설치 명령어curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"unzip awscliv2.zipsudo ./aws/install upzip이 설치돼있지 않을 경우 아래 명령어를 통해 설치해줍니다.sudo apt install unzip 설치 확인aws --version IAM 계정과 액세스키 만들기aws-cli를 구성하기 전에, IAM 계정과 이에 접근하는 액세스키가 없다면 만들어주어야합니다. 저는 S3에 접근하는게 목적이므로 S3FullAccess 권한을 가진 계정을 하나 만들었습니다.그리고 우측 상단에 "액세스 키 만들기"를 눌러서 액세스 키를 하나 만들어줍니다.  CLI를 위한 계정을 만.. 2024. 12. 12.
Linux 크론(Cron)과 크론탭(Crontab) 리눅스(Linux) 계열에서 특정 시간에 특정 작업을 하는 데몬을 Cron(크론)이라 한다.크론(Cron)이 언제 무엇을 하는지 특정 파일에 저장하는 것을 크론탭(Crontab)이라고 한다.크론(Cron)이라는 데몬이 원하는 시간에 원하는 명령 또는 프로그램을 수행하도록 명령 리스트를 만드는 것이 크론탭이다. 크론탭의 설치sudo apt update -ysudo apt install -y cron 크론탭 기본 사용법// 크론탭 편집crontab -e// 크론탭 작업 내용 확인crontab -l// 크론탭 삭제. 삭제시 전체 작업이 삭제된다.crontab -r crontab -e 명령어를 통해 파일을 열었다면, 아래처럼 을 한줄에 적어주면 된다.크론탭 실행 명령// 크론탭 시작service cron st.. 2024. 12. 12.
[Redis] Redis 데이터의 영구 저장(RDB, AOF) Redis PersistencyRedis는 인메모리 DB이지만, 데이터를 디스크에 영구 저장 할 수 있는 특징이 있다.그래서 Redis가 restart되더라도 디스크에 저장해놓은 데이터를 다시 읽어서 메모리에 로딩하기 때문에 데이터가 유실되지 않는다. Redis에는 데이터를 저장하는 방법이 RDB(snapshotting) 방식과 AOF(Append only file) 두가지가 존재한다. RDB(snapshotting)특정 시점에 메모리에 있는 모든 데이터를 바이너리 파일로 저장하는 방식이다.이는 개발자가 직접 세팅하지 않아도 자동으로 .rdb라는 확장자의 파일에 인메모리 데이터를 저장하도록 기본으로 설정돼있다. 이 방식은 특정 시점으로 데이터를 복구하는 것이 가능하며, 레디스 데이터의 버저닝 또한 가능하.. 2024. 12. 10.
[Redis AOF] AOF 설정한 Redis Docker Container 실행하기 Redis는 아무 설정을 하지 않으면 RDB 방식을 따라 데이터가 디스크로 백업된다. 레디스의 데이터 백업 방식에 대한 내용은 아래 포스팅을 참고해주세요.https://onfonf.tistory.com/108 [Redis] Redis 데이터의 영구 저장(RDB, AOF)Redis PersistencyRedis는 인메모리 DB이지만, 데이터를 디스크에 영구 저장 할 수 있는 특징이 있다.그래서 Redis가 restart되더라도 디스크에 저장해놓은 데이터를 다시 읽어서 메모리에 로딩하기 때문onfonf.tistory.com 그러면 AOF(Append Only File) 방식으로 데이터를 백업하려면 어떻게 해야할까?이 글은 Dockerfile을 만들어서 AOF 방식으로 데이터를 백업하는 redis 컨테이너를 .. 2024. 12. 10.
[AWS] Elastic IP(탄력적 주소)란? EIP(Elastic IP)EIP는 인터넷을 통해 접속할 수 있는 고정적인 공인 IP 주소를 할당할 수 있고, 인스턴스에 연결할 수 있는 서비스이다.모든 인스턴스 또는 네트워크 인터페이스에 탄력적 IP 주소를 연결 가능하며, EIP 할당받고 삭제하기 전까지 쭉 같은 IP 주소를 유지할 수 있다.DNS 서버에서 도메인과 IP 주소를 연결할 때, 또는 IP 주소가 바뀌지 않고 계속 유지돼야할 때 EIP를 할당받아 연결해주면 된다. EIP를 사용해야하는 이유EC2를 올리기 되면 ENI(Elastic Network Interface)가 따라오게 되는 ENI는 일종의 가상의 랜카드라고 생각하면된다. ENI는 가상이긴 하지만 랜카드이기에 MAC 주소와 보안 그룹에 연결돼있고 IP도 가지고 있다.그리고 이 ENI를 .. 2024. 12. 10.
[Spring Data JPA] MariaDB에서의 동시성 이슈로 인한 갱신 이상 문제와 그 해결법(비관적 락, 낙관적 락) 동시성 이슈란?멀티 스레드로 동작하는 데이터베이스에서 동시에 2개 이상의 트랜잭션이 실행돼서 데이터의 정합성이 맞지 않게 되는 이슈를 의미합니다. 동시성 이슈를 확인해보자MariaDB에서 정말 동시성 이슈가 생기는지를 확인해보기 위해 Spring Boot 프로젝트 하나를 만들었습니다. 우선 이렇게 2개의 엔티티를 만들어주었는데, 각각의 용도는 이렇습니다.TestEntity: 초기에 count를 N개로 하고, 이 count를 감소시키며 갱신이상 문제가 생기는지 확인RequestRecord: 요청이 들어올 때마다 하나씩 생성해서 해당 트랜잭션이 롤백된게 아니라는 것을 증명하기 위해 사용 그리고 count 감소 API를 위한 TestController와 TestService도 만들어줬습니다. 요청이 들어오면,.. 2024. 11. 20.