EC2 재부팅 및 퍼블릭IP 변경 대응

유재민's avatar
Apr 02, 2024
EC2 재부팅 및 퍼블릭IP 변경 대응

갑작스런 메모리 초과 사용으로 EC2 인스턴스가 멈추면 sild.app, partners.sild.app 모두 접속이 불가능해질 수 있다(ex/ 배포, 배치작업 등등이 한번에 몰렸을때)

혹은 인스턴스 성능 조정시에도 인스턴스를 중지 후 재시작 해야한다.

접속 불가능시 해결 방안

  • 대기하기: 대부분의 경우에 잠시 기다리면 해결됨

  • EC2 재부팅으로 하던 작업 종료 후 재시작

EC2 재부팅 방법

AWS 로그인 후 EC2 인스턴스 관리(링크) 접속시 아래 화면

체크박스 클릭(1), 인스턴스 상태 셀렉트박스 클릭(2), 인스턴스 재부팅(3) 클릭

재부팅 시작되면 인스턴스 상태가 재부팅중 혹은 대기중 상태가 되고, 짧으면 1분 정도 후에 실행중 상태가 됨. 그 후 인스턴스 ID 클릭

인스턴스 상세 페이지에서 퍼블릭 IPv4 DNS가 인스턴스 재부팅시 변경되며, 해당 주소를 사용하는 모든 곳을 수정해야함

  1. 가비아 DNS 호스트 IP값 변경

    1. 노란색 부분의 IP를 EC2 퍼블릭 IPv4 주소로 변경 후 저장

  2. 젠킨스 Command IP값 변경

    1. 젠킨스 대시보드 접속해서 모든 job 클릭해서 상세페이지 접속

    2. Configure 클릭

    3. 노란색 가려진 부분의 ip를 EC2 퍼블릭 IPv4 주소로 변경 후 저장

  3. 젠킨스 도커 접속후 ssh fingerprint 등록

    • EC2 접속을 위한 인증서 파일(SILD_BUILDER 프로젝트의 sild-integration-server-key.pem)이 있는 곳에서 커맨드 실행

       ssh -i sild-integration-server-key.pem ubuntu@{ec2~amazonaws.com으로 끝나는 IPv4DNS 주소}
      sudo docker exec -it jenkins /bin/bash
      cd /var/jenkins_home/workspace
      ssh -t -t -i sild-integration-server-key.pem ubuntu@{ec2~amazonaws.com으로 끝나는 IPv4DNS 주소} -T cd SILD_BUILDER '&&' git pull '&&' cd SILD_SCRIPTS '&&' source certificate_check.sh
    • fingerprint를 등록할지 나오고, yes 입력 하면 아래와 같이 등록됨

       The authenticity of host '{ec2~amazonaws.com으로 끝나는 IPv4DNS 주소} (172.31.32.182)' can't be established.
      ECDSA key fingerprint is SHA256:해시값....
      Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
      Warning: Permanently added (ECDSA) to the list of known hosts.

Share article

jaeminlog