본문 바로가기

AWS

백엔드 서비스 SSL 인증서(HTTPS) 자동갱신 certbot, nginx certbot으로 웹서비스(80,442)의 인증서를 자동으로 갱신하는 문서는 많지만 백엔드 서비스(3000, 3003등)의 인증서를 자동으로 갱신하기 위한 별도의 문서가 정리되어 있지 않아 한번 별도로 정리하고자 작성함. * 기존 서비스가 80번을 이용하여 서비스 중이라면 굳이 아래의 과정이 필요 없이 certbot을 설치하고 실행하면 자동으로 certbot이 nginx 설정까지 변경해주므로 다른 문서를 찾으시는게 좋습니다. 백엔드 서비스가 AWS에서 운영중이라면 가장 간단한 방법은 1. 백엔드 서버(EC2 or ECS) 구축2. AWS Certificate Manager 에서 인증서 발급3. ALB를 이용하여 ACM 인증서를 연결후 https를 백엔드 서버에 연결 이렇게 구성을 할 수 있다. .. 더보기
t4g EC2 서버(arm64)를 위한 Docker Image Build 방법 Amazon EC2 T4g 인스턴스는 Arm 기반 AWS Graviton2 프로세서로 구동됩니다. T4g 인스턴스는 버스트 가능한 차세대 저비용 범용 인스턴스 유형으로, 기본 수준의 CPU 성능과 함께, 필요할 때는 언제든지 CPU 사용량을 버스트할 수 있는 기능을 제공합니다. T3 인스턴스보다 최대 40% 더 향상된 가격 대비 성능을 제공하며 사용 중에 일시적인 스파이크를 경험하는 중간 정도의 CPU 사용량을 가진 애플리케이션을 실행하는 데 적합합니다. T4g 인스턴스는 대규모 마이크로서비스, 중소형 데이터베이스, 가상 데스크톱 및 비즈니스 크리티컬 애플리케이션을 비롯하여 다양한 범용 워크로드를 위해 컴퓨팅, 메모리 및 네트워크 리소스를 균형 있게 제공합니다. 또한 개발자는 이러한 인스턴스를 사용하여 .. 더보기
AWS EC2의 Private key 교체 기존의 Private KEY가 노출 되거나 잃어버린 경우 새로운 키를 생성하고 EC2를 교체를 진행한다. 1. 새로운 키 발급 EC2 - 네트워크 및 보안 - 키 페어 - 키 페어 생성 2. 다운받은 pem 파일을 ftp를 이용해서 서버에 업로드 한다. 3. Private Key를 이용하여 Public key 생성한다. 4. 생성된 Public Key의 값을 EC2 인스턴스에 등록하기 - 생성된 public key를 vi로 열어서 내용을 복사한다. 5. 복사한 내용을 authorized_keys에 복사 [root@ip-172 key]# echo 복사한내용 >> ~/.ssh/authorized_keys 6. vi로 내용을 확인 - 기존 aws에서 생성한 ec2@amazon 키 - 새로 생성한 키가 아래에 .. 더보기
AWS EC2 디스크(볼륨) 용량 올리기(용량확장) EC2 사용중 대용량 업로드 업체의 운영으로 아래와 같이 디스크 용량이 100%에 도달해 버렸다. 단순 홈페이지라 볼륨 용량을 150G만 했었는데 300G로 증가 해서 운영하기 위해 볼륨을 수정함. - EC2 -> Elastic Block Store -> 볼륨 -> 볼륨수정 수정할 볼륨의 크기를 300으로 설정후 수정 볼륨의 수정은 생각보다 Optimazing 시간이 상당히 걸린다. 처리가 완료되면 콘솔에서 볼륨의 증가를 확인한다. - 아래와 같이 현재 사용중인 볼륨은 150G이고 해당 디스크에 300G가 있는것으로 표시된다. 일단 먼저 해당 파티션을 조정하여 300G로 수정한다. - growpart로 처리하면 알아서 자동으로 최대값으로 잡아준다. 이후 resize2fs로 루트인 nvme0n1p1의 사이.. 더보기
윈도우 SSH 에서 WARNING: UNPROTECTED PRIVATE KEY FILE! 처리 윈도우의 PowerShell 에서 직접 AWS의 SSH에 접속하기 위해 기존에 다운받았던 pem키 파일을 불러와서 접속중에 경고와 함께 bed permissions라고 에러를 팅군다. Linux라면 간단히 chmod로 처리할 텐데 윈도우는 해당 처리가 과정이 필요하므로 기록해 둔다. 해당 키파일을 오른쪽 클릭하여 속성으로 들어간다. !! 처음부터 사용자를 추가하여 권한만 부여하면 아래와 같이 추가는 되나 적용되지 않아 동일하게 bad permissions가 표시된다. 먼저 속성 - 보안 - 고급(V) - 상속 사용 안함(I) - '상속된 사용 권한을 이 개체에 대한 명시적 사용 권한으로 변환합니다.'를 차례대로 클릭하여 상위폴더에서 상속받은 권한과 연결을 해제한다. 그리고 현재 적용되지 않고 있는 해당 .. 더보기
Redis 설치 하기(AWS, lightsail, ec2, demian) 1. apt-get 업데이트 후 redis설치하기 sudo apt-get update sudo apt-get install redis-server - 설치는 완료되었으나 서비스 시작을 실패했다고 표시된다. 2. 설치후 실행 오류 상태 확인하기 systemctl status redis-server.service Failed to start Advanced key-value store. 이라는 에러만 표시되고 log를 확인해도 별다른 내용이 없다... 일단 서비스 부분이므로 서비스를 중단 하고 port 상태 부터 확인 한다. //redis 서비스 종료 systemctl stop redis-server.service //현재 포트 상태 확인 netstat -tuln 분명히 서비스를 종료했는데 아래와 같이 63.. 더보기
AWS EC2 메모리 부족 해결하기(스왑메모리 설정) 간단히 홈페이지를 운영하기 위한 서버라면 EC2 에 t3.micro로도 충분하다 하지만 여러개의 서비스를 돌리기엔 1G메모리는 한계가 있다. 물론 조금만 여러가지를 사용해도 CPU 사용률이 치솟는건 답이 없음... 여튼 메모리 부족이라는 경고가 보이지 않게 하기위해 SWAP 메모리 설정이 필요하다. 1. 스왑 메모리 확인하기 top 명령으로 간단히 스왑 메모리 사용여부, 크기를 확인할 수 있다. 현재 swap 메모리는 설정되어 있지 않다 2. swap 메모리 할당 하기 EC2 t3.micro 는 기본 메모리가 1GB 이므로 기본으로 2배인 2G로 할당 한다 모든 설정은 su로 접속후 진행함!!! sudo dd if=/dev/zero of=/swapfile bs=128M count=16 3. 생성된 swa.. 더보기
[AWS]EC2에 기존 볼륨(Volume) 연결 또는 볼륨 교체 하기 EC2의 스냅샷(Snapshot)의 복구 또는 다른 인스턴스로 교체하고자 할때 기존 볼륨(Volume)을 사용하여 EC2를 구동 1. 기존에 생성된 EC2 인스턴스를 중지(Stop)한다 2. 기존에 생성된 EC2의 볼륨 연결을 해제 한다. - 볼륨 연결이 해제될 뿐 삭제되지 않음. - 볼륨의 연결 해제전 볼륨의 장치명을 꼭 복사해 둡니다.(예:/dev/sda1) 3. 볼륨 연결이 해제 되면 해당 볼륨의 Attached Instances에 연결된 EC2가 사라짐. 4. 새로 연결하고자 하는 볼륨을 선택후 Actions - Attach volume을 클릭 5. Attach volume 창에서 Instance에 연결하고자 하는 EC2를 선택하고 아래에 자동으로 나오는 장치명(Device name)을 복사하둔 .. 더보기