병훈's Blog

Server Setting 본문

Computer/Cloud

Server Setting

thdqudgns 2023. 9. 27. 01:58

Server Setting

3.1 EC2 준비

  1. AWS 계정을 생성한다.

    • 계정 생성 직후 1년 동안 무료로 AWS 기능들을 사용할 수 있는 Free tier가 주어진다.
    • EC2는 Free tier를 기준으로 설명한다.
    • Lightsail은 유료다.
  2. AWS EC2를 사용하는 경우

EC2

  • AWS EC2 사이트에 접속한다.
  • "인스턴스 시작" -> 인스턴스 이름 입력 -> OS에서 "Ubuntu" 선택 -> "20.04 LTS" 선택
  • 인스턴스 유형은 프리티어를 지원해주는 유형으로 선택
  • 새 "키 페어"를 생성하여 컴퓨터에 저장해 놓는다. 인스턴스 접속에 필요한 key다.
    • 키 이름을 입력하고, RSA로 생성한다.
    • Windows라면 ppk로 다운받아 Putty라는 어플리케이션을 사용하고, Mac이라면 pem을 다운받는다.
    • Windows이어도, Termius 라는 어플리케이션을 사용하면 pem으로 다운받아도 된다. (추천)
  • 방화벽(보안 그룹)은 없다면 새로 생성한다.
    • "위치무관 SSH 트래픽 허용"이 기본값인데, 기본 설정 그대로 둔다.
    • 키만 갖고 있다면, 기본 SSH(22번 포트)로 어디에서나 접근 가능하다.
  • "스토리지 구성"에서는 기본 8GiB로 되어있는 것을 30GiB로 늘린다. Free tier에서 최대 30GiB까지 허용한다.
  • 나머지 설정은 기본값대로 두고, 인스턴스를 시작한다.
  • Public IP 주소가 있는데, 이 IP로 접근한다.
  • "인스턴스" -> "보안" -> "인바운드 규칙" -> "보안 그룹" -> "인바운드 규칙" -> "인바운드 규칙 편집" -> "유형"에서 "모든 TCP" 후 "규칙 저장"
  • 모든 TCP에서 허용해야 외부에서 접근이 가능해진다.
  1. AWS Lightsail을 사용하는 경우

Lightsail

  • AWS Lightsail 사이트에 접속한다.
  • "인스턴스 생성" -> "OS 전용" -> "Ubuntu 20.04 LTS" 선택
  • "인스턴스 플랜"은 월별 요금 $3.5 ~ $160로 다양하다.
  • $5 짜리가 EC2 프리티어보다 조금 더 좋다. 원하는 사양으로 선택한다.
  • 고유한 인스턴스 이름을 지정하고 인스턴스를 생성한다.
  • 재부팅할 때마다 IP 주소가 변하지 않도록, 고정 IP로 설정한다.
  • 생성 후 "네트워킹" 설정란에서 특정 IPv4 주소 또는 범위에 대해 포트를 개방하는 규칙을 생성할 수 있다.
  • "모든 IPv4 주소" 로 허용해야, 이 인스턴스 내부에서 실행되는 Jenkins나 웹사이트에 접근할 수 있다.
  1. 인스턴스에 접속하기

Termius

  • Windows 창을 통해 Microsoft Store에 접근하고 Termius를 다운받는다.
  • Termius를 실행하고 "NEW HOST"를 클릭한다. 우측에 설정 입력란이 나온다.
    • Label에는 원하는 이름을 적고, Address에 인스턴스의 Public IP주소를 입력한다.
    • SSH를 입력하는 곳에서 "Set a Key" -> "NEW KEY" 를 클릭하여 인스턴스를 생성하며 다운받은 pem key를 삽입한다.
    • SSH의 username은 OS가 Amazon이라면 "ec2-user", Ubuntu라면 "ubuntu"를 입력해준다.
    • HOST가 등록이 되었다. 이제 클릭 한 번으로 인스턴스에 접근할 수 있다.

Imgur

3.2 Domain Name Server Setting

DNS를 등록하는 방법은 다양하다.

  • AWS Lightsail을 사용하는 경우, Lightsail의 "도메인" 설정란을 통해 설정할 수 있다.
  • gabia 같은 유료 도메인 사이트에서 구매할 수 있다.
    • "My가비아" -> "도메인" -> "관리" -> "DNS 정보" -> "도메인 연결"의 설정버튼 -> "DNS 설정"의 설정버튼 -> "레코드 수정"
  • 무료 도메인 사이트를 통해서도 도메인을 설정할 수 있다.

DNS를 등록할 때 설정하는 값을 보면 아래와 같다.

Imgur

  • 타입: A, CNAME
  • 호스트: www, @
  • 값: A면 IPv4 주소, CNAME이면 이미 설정된 도메인 이름
  • TTL: 전용선 등과 같이 고정IP를 이용하는 도메인의 경우는 TTL값은 최대한 길게 잡는 것이 유리하며(권장 값 : 3600), 유동아이피의 경우는 TTL값을 최대한 줄여주는 것이 좋다.(권장 값 : 120)

3.3 기본 설정

생성한 인스턴스 서버에 접속한다.

  1. ufw 상태 확인

     $ sudo ufw status
     Status : inactive
  2. 사용할 포트 허용하기 (ufw inactive 상태)

    $ sudo ufw allow 22

  3. 등록한 포트 조회하기 (ufw inactive 상태)

     $ sudo ufw show added
     Added user rules (see 'ufw status' for running firewall):
     ufw allow 22
  4. ufw 활성화 하기

     $ sudo ufw enable
     Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
     Firewall is active and enabled on system startup
  5. ufw 상태 및 등록된 rule 확인하기

     $ sudo ufw status numbered
     Status: active
    
         To                         Action      From
         --                         ------      ----
     [ 1] 22                         ALLOW IN    Anywhere
     [ 2] 22 (v6)                    ALLOW IN    Anywhere (v6)
  6. 허용하고자 하는 PORT_NUMBER가 있다면 추가한다.

    • 80, 9090, 443을 사용할 것이므로 추가해준다.

      $ sudo ufw allow 80
      Rule added
      Rule added (v6)
      $ sudo ufw allow 9090
      Rule added
      Rule added (v6)    
      $ sudo ufw allow 443
      Rule added
      Rule added (v6)
      
      $ sudo ufw enable
      Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
      Firewall is active and enabled on system startup
      
      $ sudo ufw status numbered
      Status: active
      
         To                         Action      From
         --                         ------      ----
      [ 1] 22                         ALLOW IN    Anywhere                  
      [ 2] 80                         ALLOW IN    Anywhere                  
      [ 3] 9090                       ALLOW IN    Anywhere                  
      [ 4] 443                        ALLOW IN    Anywhere                  
      [ 5] 22 (v6)                    ALLOW IN    Anywhere (v6)             
      [ 6] 80 (v6)                    ALLOW IN    Anywhere (v6)             
      [ 7] 9090 (v6)                  ALLOW IN    Anywhere (v6)             
      [ 8] 443 (v6)                   ALLOW IN    Anywhere (v6) 
  7. 삭제할 때는

    $ sudo ufw status numbered 로 조회하고
    $ sudo ufw delete 4 로 삭제하고
    $ sudo ufw enable 를 적용한다.

728x90
728x90

'Computer > Cloud' 카테고리의 다른 글

데이터 센터  (1) 2023.11.11
클라우드 컴퓨팅 인프라  (0) 2023.11.10
웹 프로젝트 포팅 메뉴얼 총정리  (1) 2023.10.13
Docker, Docker-Compose Setting  (0) 2023.09.27
Jenkins Setting  (0) 2023.09.27