Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 역캡슐화
- 프로토콜
- 인터페이스
- 데이터 송수신
- 물리구성도
- 네트워크
- 논리구성도
- 자바의 정석
- 상속
- l3 스위치
- 파이썬 1712
- modifiers
- 테슬라폰
- 1764
- 10866
- 백준 1712
- 계층화
- 남궁성
- 자바
- java
- 다형성
- 인프콘
- TCP/IP
- 백준 2775
- 파이썬
- 개발바닥
- network
- AWS CLF
- aws 자격증
- 유선LAN
Archives
- Today
- Total
병훈's Blog
Server Setting 본문
Server Setting
3.1 EC2 준비
AWS 계정을 생성한다.
- 계정 생성 직후 1년 동안 무료로 AWS 기능들을 사용할 수 있는 Free tier가 주어진다.
- EC2는 Free tier를 기준으로 설명한다.
- Lightsail은 유료다.
AWS 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에서 허용해야 외부에서 접근이 가능해진다.
- AWS Lightsail을 사용하는 경우
- AWS Lightsail 사이트에 접속한다.
- "인스턴스 생성" -> "OS 전용" -> "Ubuntu 20.04 LTS" 선택
- "인스턴스 플랜"은 월별 요금 $3.5 ~ $160로 다양하다.
- $5 짜리가 EC2 프리티어보다 조금 더 좋다. 원하는 사양으로 선택한다.
- 고유한 인스턴스 이름을 지정하고 인스턴스를 생성한다.
- 재부팅할 때마다 IP 주소가 변하지 않도록, 고정 IP로 설정한다.
- 생성 후 "네트워킹" 설정란에서 특정 IPv4 주소 또는 범위에 대해 포트를 개방하는 규칙을 생성할 수 있다.
- "모든 IPv4 주소" 로 허용해야, 이 인스턴스 내부에서 실행되는 Jenkins나 웹사이트에 접근할 수 있다.
- 인스턴스에 접속하기
- 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가 등록이 되었다. 이제 클릭 한 번으로 인스턴스에 접근할 수 있다.
3.2 Domain Name Server Setting
DNS를 등록하는 방법은 다양하다.
- AWS Lightsail을 사용하는 경우, Lightsail의 "도메인" 설정란을 통해 설정할 수 있다.
- gabia 같은 유료 도메인 사이트에서 구매할 수 있다.
- "My가비아" -> "도메인" -> "관리" -> "DNS 정보" -> "도메인 연결"의 설정버튼 -> "DNS 설정"의 설정버튼 -> "레코드 수정"
- 무료 도메인 사이트를 통해서도 도메인을 설정할 수 있다.
DNS를 등록할 때 설정하는 값을 보면 아래와 같다.
- 타입: A, CNAME
- 호스트: www, @
- 값: A면 IPv4 주소, CNAME이면 이미 설정된 도메인 이름
- TTL: 전용선 등과 같이 고정IP를 이용하는 도메인의 경우는 TTL값은 최대한 길게 잡는 것이 유리하며(권장 값 : 3600), 유동아이피의 경우는 TTL값을 최대한 줄여주는 것이 좋다.(권장 값 : 120)
3.3 기본 설정
생성한 인스턴스 서버에 접속한다.
ufw 상태 확인
$ sudo ufw status Status : inactive
사용할 포트 허용하기 (ufw inactive 상태)
$ sudo ufw allow 22
등록한 포트 조회하기 (ufw inactive 상태)
$ sudo ufw show added Added user rules (see 'ufw status' for running firewall): ufw allow 22
ufw 활성화 하기
$ sudo ufw enable Command may disrupt existing ssh connections. Proceed with operation (y|n)? y Firewall is active and enabled on system startup
ufw 상태 및 등록된 rule 확인하기
$ sudo ufw status numbered Status: active To Action From -- ------ ---- [ 1] 22 ALLOW IN Anywhere [ 2] 22 (v6) ALLOW IN Anywhere (v6)
허용하고자 하는 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)
삭제할 때는
$ 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 |