[AWS] EC2 서버에 우분투18.04 구축하기
1. AWS EC2란?
- 들어가기전에 AWS EC2에 대해서 설명해보겠다.
- EC2(Elastic Compute Cloud) : AWS에서 제공하는 클라우드 컴퓨팅 서비스
- 쉽게 말해서 아마존에서 빌려주는 컴퓨터(하드웨어)
- 아마존은 세계 곳곳에 데이터 센터가 있는데 그 곳에서 빌려쓴다.
- 쉽게 말해서 아마존에서 빌려주는 컴퓨터(하드웨어)
- 장점
- 용량을 쉽게 늘리거나 줄일 수 있음(탄력성)
- 사용한만큼 값을 지불
- 사용자가 완전히 제어할 수 있음
- 보안 및 네트워크 구성, 스토리지 관리 효과적
일년 무료 이용권을 줌(프리티어)
1.1 인스턴스, AMI
- EC2를 사용하다보면 인스턴스, AMI라는 용어를 쉽게 들을 수 있다.
- 인스턴스 : 클라우드에서 사용하는 가상 서버로 CPU, 메인보드와 같은 하드웨어 부분을 뜻함
- AMI(Amazon Machine Image) : EC2 인스턴스를 실행하기 위한 정보를 담고 있는 이미지
2. 서버 구축
1. AWS에 회원 가입을 하고, 리전을 서울로 바꾼다.
- 리전은 서울로 해야지 속도가 빠른 인스턴스를 빌릴 수 있다.
2. 새로운 인스턴스를 생성한다.
- 인스턴스는 기본값으로 설정
- 키 페어는 보안에 중요하므로 새 캐 페어를 생성해서 잘 가지고 있는다.
- 나중에 접속할 때 사용할 예정이다.
- 보안 그룹은 나중에 설정해줄수도 있어서 여기선 간단하게 ssh를 내 IP만 접속할 수 있게 만든다.
- 프리티어의 용량의 맥스값은 30GB이므로 30으로 설정해준다.
- 그 후 생성을 하면 된다.
3. 새로운 보안 그룹을 만들어 보안 그룹을 설정한다.
- 새로운 보안 그룹을 만든다.
- SSH는 내 아이피만 접속하게 한다.
- SSH는 주로 개발자가 이용하는 방법이므로 보안이 중요하기 때문에 저렇게 설정한다.
- HTTP와 HTTPS는 다른 사람들이 들어올 수 있도록 IPv4와 IPv6 모두 Anywhere로 설정해준다.
- 이전에 생성했던 인스턴스의 보안그룹을 자신이 만든 그룹으로 대체 해준다.
4. EIP를 연결한다.
- 인스턴스는 재부팅을 하면 public IP가 바뀔수 있으므로 바뀌지 않게 ElP(탄력적 IP)를 적용해준다.
- 그냥 새롭게 만들면 된다.
- 탄력적 IP 탭의 메인 화면에서 작업 버튼을 눌러 탄력적 IP 주소 연결을 해준다.
- 이때 인스턴스는 연결하고 싶은 인스턴스를 선택해주고 프라이빗 IP 주소는 선택한 인스턴스의 프라이빗 IP주소를 입력해주면 된다.
- 탄력적 IP 주소는 인스턴스와 연결되지 않으면 요금이 나가기 때문에 프리티어라도 조심하자
5. 접속을 쉽게 하기 위해 config 파일을 만든다.
- AWS에 접속을 하려면 위와 같은 험난한(?) 과정을 거쳐야 한다.
- 하지만 설정 파일을 통해서 좀 더 쉽게 접속 할 수 있다.
- 본격적인 설정
1) 터미널에서 pem(키 페어)파일이 저장된 경로로 들어간다.
2) cp pem이름.pem ~/.ssh/
→ ~/.ssh로 복사 (∵ 설정 파일이 자동으로 읽기 위해서)
3) cd ~/.ssh/pem이름.pem
4) chmod 600 pem이름.pem
으로 읽기, 쓰기 권한을 준다.
5) vim config
를 통해 위의 캡처본과 같이 입력해준다.
- Host는 aws 접속을 하기위한 이름 같은 것이다. ex) ssh aws
하면 aws로 접속이 가능하다.
- HostName은 EIP의 값을 입력해주면 된다.
- 만약 없으면 public IPv4도 입력해도 동작은 되는데 AWS의 공용IP는 바뀔 위험이 있으므로 EIP를 발급받아서 쓰면 된다.
- 인스턴스를 껐다가 다시 키면 공용IP주소가 바뀐다.
- 자세한 내용은 이 글 참조
- User는 기본값이 있는데, 이 글을 참조하면 우분투에서는 ubuntu이다.
- IdentityFile은 pem키의 경로를 입력해주면 된다.
6. AWS에 접속해보자
- 터미널에 들어가서
ssh 'HostName'
을 하면 aws에 접속할 수 있다.
※ 참조
'AWS' 카테고리의 다른 글
[AWS] 서브 도메인 적용하기 (0) | 2022.07.31 |
---|---|
[AWS] IP주소를 Domain로 Redirect (0) | 2022.07.30 |
[AWS] AWS의 도메인에 HTTPS 적용 (0) | 2022.07.29 |
[AWS] AWS EC2의 MySQL에 외부 접속하기 (0) | 2022.07.28 |
[AWS] AWS EC2에 DNS 연결하기 (0) | 2022.07.27 |