6.1 클라우드와 AWS
외부에서 본인이 만든 서비스에 접근하려면 24시간 작동하는 서버가 필요하다.
- 집에서 pc를 24시간 구동
- 호스팅 서비스
- 클라우드 서비스
여기서는 클라우드 서비스, 그 중에서도 AWS를 사용한다.
잘 모른다면, 아래의 링크를 보는 것을 추천!
AWS 계정 만들기
6.2 EC2 인스턴스 생성
- 리전 : 서울
- EC2 → 인스턴스 시작
책과 EC2 홈페이지가 많이 다르다. 순서가 좀 뒤죽박죽이니 잘 보는게 좋다.
인스턴스 만들기 (구 UI에서)
- 책과 같으나 이걸로 하려면 별도의 설정을 건드려야 한다.
인스턴스 만들기 (신 UI에서)
- 이름 및 태그
- 태그 넣기를 선택하고
- 키에는 Name, 값에는 new_spring을 넣었다.
- 애플리케이션 및 OS 이미지(AMI)
- 책에서는 Amazon Linux 1 고르라고 하지만, 현재 리스트에는 없다.
- 대안으로 “Amazon Linux 2 (HVM), Kernel 4.14, SSD Volume Type” 선택.
- 아키텍쳐는 64비트, X86으로
- 인스턴스는 t2.micro로
- 키 페어(pem)
- 무조건 만들어야 한다.
- 관리하는 방법을 모른다면? 클릭
- 네트워크 설정
-
보안 그룹(방화벽) : 이게 굉장히 중요하다.
7장에서의 RDS 설정과도 연결지점이 있다.
편집 누르기
- 보안 그룹 이름, 설명 바꾸기
- 보안 그룹 규칙
-
보안 그룹 규칙
- 유형은 ssh
- 소스 유형은 내 IP
- 필요하다면 나중에 추가 해야 한다.
-
- 스토리지 구성는 30GB로 (프리티어 최대값)
- 고급 세부정보는 건드리지 않는다.
여기까지 되었으면 [인스턴스 시작]을 누른다.
이것저것 확인해보기
다시 [인스턴스] - [인스턴스] 로 돌아와서 본다.
아까 만든 인스턴스를 클릭해 보면 여러가지가 나온다.
- IP
- 도메인
인스턴스 삭제
만약 인스턴스를 삭제하고 싶다면? 클릭!
EIP 할당
- EIP = Elastic IP = 탄력적 IP = 고정 IP
- 요금을 아끼고자 인스턴스를 중지하고 다시 시작할 경우가 있다.
- 이때 IP가 계속 바뀌기 때문에 고정 IP가 필요하다.
- [네트워크 및 보안] - [탄력적 IP]를 누른다.
- 오른쪽 위 [탄력적 IP 주소 할당] 클릭
- [할당] 클릭
- [탄력적 IP 주소 연결] 클릭 - 인스턴스 중 위에서 만든 거 선택
- 다시 [인스턴스] - [인스턴스]로 간다.
- 제대로 탄력적 IP 가 들어갔는지 확인
6.3 EC2 서버 접속하기
- 윈도우 기준
- 윈도우에서는 putty라는 프로그램을 사용한다.
- puttygen.exe
- [conversations] - [import key] - pem 키 선택
- [Generate] 누르기 (마우스 흔들라고 문구 나옴)
- [save private key] 누르고 저장
- putty.exe 실행
- Host Name에 ip 주소 입력하기
- 만약 EIP = 12.100.23.100 이면
- ec2-user@12.100.23.100 이라고 치면 됨.
- [connection] - [SSH] - [Auth] 차례로 클릭
- [browse] 버튼 클릭
- 아까 만든 ppk 파일 선택
- 다시 session 클릭
- Saved session 밑에 이름 넣고 save 누르기
- open 누르기
- “예” 또는 Accept 클릭
- 까만 콘솔이 나오면서 다음과 같은 문구가 나오면 성공이다.
Using username "ec2-user".
Authenticating with public key "imported-openssh-key" from agent
__| __|_ )
_| ( / Amazon Linux 2 AMI
___|\___|___|
https://aws.amazon.com/amazon-linux-2/
검은 창이 나왔다는 것은 다음과 같은 상황을 의미한다.
- 아마존에서 만들어 준 리눅스 컴퓨터에
- 온라인으로 접속한 상황
리눅스는 CUI 기반이므로 리눅스의 명령어에 익숙해지는 것이 좋다.
리눅스 명령어를 모른다면? 클릭!
여기서 종료하고 싶다면?
다음과 같은 명령어를 입력하면 된다.
sudo shutdown -h
추후 접속할 때
- 다시 아마존 EC2로 들어가서 인스턴스를 킨다.
- putty를 사용해 기존 버전을 누르고, open을 누르면 된다.
6.4 아마존 리눅스 1 서버 생성 설정
온라인 리눅스 컴퓨터에 프로젝트를 올리는게 우리의 목표.
그런데 이 컴퓨터에는 아무것도 없다. 따라서 이것저것 깔아야 한다.
아마존 리눅스에 자바 깔기
sudo yum install -y java-1.8.0-openjdk-devel.x86-64sudo /usr/sbin/alternatives —config java- 선택화면 따라가기
java -version누르고 버전 확인
아마존 리눅스 타임존 변경
sudo rm /etc/localtimesudo ln -s /usr/share/zoneinfo/Asia/Seoul /etc/localtimedate로 시간대 확인
아마존 리눅스 Hostname 변경
sudo vim /etc/sysconfig/networka눌러서 입력모드 전환HOSTNAME=(이름)입력해 주기esc눌러서 명령모드 전환:wq!눌러서 저장 & 종료sudo reboot -h
만약 아마존 리눅스 2버전 이면 다음과 같이 설정해야 한다.
sudo hostnamectl set-hostname 원하는 이름
sudo reboot 명령어 했을 때 오류 & inactive 상태가 될 수 있다.
이 경우에는 껐다 키는 것이 더 나을 수 있다.
sudo shutdown- 아마존 EC2 홈페이지 > 인스턴스 상태 클릭
- [인스턴스 중지] 누른 후 > [인스턴스 시작] 누르기
다음과 같이 코드가 나오면 성공이다.
https://aws.amazon.com/amazon-linux-2/[ec2-user@"등록한 명칭" ~]$
추가 등록
sudo vim /etc/hostsa눌러서 입력모드127.0.0.1 “host 이름”esc눌러서 명령모드 전환:wq!눌러서 저장 & 종료curl “host 이름”누르기(7) Failed to connect to ... port 80 after 0 ms: Connection refused- 이 코드가 나오면 성공
여기서 종료하고 싶다면?
다음과 같은 명령어를 입력하면 된다.
sudo shutdown -h
추후 접속할 때
- 다시 아마존 EC2로 들어가서 인스턴스 상태를 누른다
- 인스턴스 중단 > 인스턴스 시작
- putty를 사용해 기존 버전을 누르고, open을 누르면 된다.