Coding Note
AWS 서버 환경 만들기 - AWS EC2 본문
이것저것 준비하느라
AWS_PJ에 핵심인 AWS 서버 환경을 이제야 만들었다..!!
그럼 바로 시작해보자!
외부에서 본인이 만든 서비스에 접근할려면 24시간 작동하는 서버가 필수다.
24시간 작동하는 서버에는 3가지가 있다.
1. 집에 PC를 24시간 구동시킨다.
2. 호스팅 서비스(Cafe 24, 코리아호스팅 등)를 이용한다.
3. 클라우드 서비스(AWS,AZURE,GCP 등을) 이용한다.
일반적으로 비용은 호스팅 서비스나 집 PC를 이용하는 것이 저렴하다!!
Q1. Cloud Serevice?
인터넷(클라우드)을 통해 서버, 스토리지(파일 저장소), 데이터베이스, 네트워크, 소프트웨어, 모니터링 등의 컴퓨팅 서비스를 제공하는 것
Q2. 클라우드 유형
1. Infrastructure as a Service(IaaS, 아이아스, 이에스)
- 기존 물리 장비를 미들웨어와 함께 묶어둔 추상화 서비스
- 가상머신, 스토리지, 네트워크, 운영체제 등의 IT 인프라를 대여해주는 서비스
- AWS의 EC2, S3
2. PlatForm as a Service(Paas, 파스)
- 앞에서 언급한 IaaS에서 한 번 더 추상화한 서비스
- 한 번 더 추상화했기 때문에 많은 기능이 자동화되어 있음
- AWS의 Beanstack(빈스톡), HeroKu(헤로쿠) 등
3. Software as a Service(SaaS, 사스)
- 소프트웨어 서비스
- 구글 드라이브, 드랍박스, 와탭 등
Q3. AWS?
Amazon Web Service의 약자로 아마존에서 지원하는 클라우스 서비스
AWS은 첫 가입시 1년간 무료 서비스다.
또한, 기본적으로 지원하는 기능이 많아 개인, 소규모일 때 개발에 더 집중할 수 있다.
사용자가 많아 국내 자료와 커뮤니티가 활성화되어있다!
1. AWS 회원가입
회원 가입하기 위해 Master 카드, Visa 카드가 필요!
무료 계정 생성하고 로그인하고 다음 단계로 넘어가 보자!
카드 정보 등록 시 최소 1달러가 결제 가능해야 된다. (청구 후 환불해줌)
회원가입은 어렵지 않으니 금방 할 수 있다.
2. EC2 인스턴스
Q4. EC2(Elastic Computer Cloud)_ 참고로, 약자의 C가 2개라... C2다..ㅎ
AWS에서 제공하는 성능, 용량 등을 유동적으로 사용할 수 있는 서버
무료로 제공하는 프리티어 플랜에서 EC2 사용에 다음과 같은 제한이 있다.
1. 사양이 t2.micro만 가능
2. 월 750 시간의 제한, 초과 시 비용이 부과된다.
Q5. 리전?
AWS 서비스가 구동될 지역
가까운 클라우드 센터로 설정해야 네트워크가 빠르다.
재 로그인하고 리전이 다른 지역으로 되어있을 시 다음과 같이 '서울'로 변경한다.
변경하고 검색창에 "ec2"를 검색한다.
Q6. 인스턴스?
EC2 서비스에 생성된 가상머신
인스턴스 버튼 클릭 후 AMI를 설정한다.
Q7. AMI
Amazon Marchine Image의 약자로 아마존 머신(이미지)을 선택하는 것
즉, 필요한 정보를 이미지로 만들어 둔 것!
아래와 같이 리눅스 AMI을 선택한다.
이유는 아마존이 개발하고 있어 지원받기 쉬우며 각종 서비스와 상성이 좋다.
또한 독자적인 개발 리포지터리를 사용하고 있어 yum이 매우 빠름!
Q8. tc2, micro
tc2는 요금 타입, micro는 사양
tc2, tc3를 T 시리즈라고 한다.
다른 서비스와 달리 크레딧이란 일종의 CPU를 사용할 수 있는 포인트 개념
인스턴스 크기에 따라 정해진 비율로 CPU 크레딧을 계속 받게 되면, 사용하지 않을 시 크레딧을 축적한다.
크레딧이 모두 사용되면 더 이상 EC2를 사용할 수 없다.
계속 다음, 다음 클릭
4단계인 스토리지 추가에서 크기를 30으로 변경한다.
프리티어의 최대치가 30 임. 그 이상은 요구 청구된다!
Q9. 스토리지
하드디스크라고 부르는 서버의 디스크(SSD 포함)를 이야기하며, 서버의 용량을 얼마나 정할지 선택하는 단계
본인들의 프젝이나, 해당 인스턴스를 구분할 수 있는 이름으로 작성한다.
보안 그룹 설정은 매우 중요!!
SSH - 포트 항목에서 22인 경우는 AWS EC2에 터미널 접속 시 사용
시작하기를 누르면 인스턴스가 생성된 걸 확인할 수 있다.
인스턴스 검토할 수 있도록 pem키(비밀키)를 생성한다.
pem키는 일종의 마스터키임으로 보안 중요!!!
인스턴스 생성 완료!
인스턴스 생성 시에 항상 새 IP를 할당하는데, 한 가지 조건이 있다.
같은 인스턴스를 중지하고 재시작할 때도 새 IP가 할당된다.
즉, 요금을 아끼기 위해 매번 변경되지 않고 고정 IP(EIP)를 할당한다.
3. EIP 할당
Q10. EIP_ Elastic IP(EIP, 탄력적 IP)
AWS의 고정 IP
탄력적 IP 카테고리에서 주소를 할당한다.
오른쪽 상단에 새 주소 할당 클릭하고 주소 할당하면 된다.(간. 단)
주소 연결을 클릭 후 인스턴스를 연결시키자!
연결이 완료되었는지 인스턴스 카테고리에서 연결 확인!
참고!
EIP는 생성하고 EC2서버에 연결하지 않으면 비용이 발생한다.
즉, EIP는 무조건 EC2에 연결해야 하며, 더는 사용할 EIP가 없을 시 삭제해야 된다!
4. EC2 서버 접속하기
윈도우 기반!
- Mac&Linux는 ssh 기반으로 터미널
- 윈도우는 putty
putty는 별도로 다운로드해야 된다..
이래서 맥북, 우분투를 사용하는구나..!!
putty.exe, puttygen.exe 다운로드
이제 설정을 해보자!!
캡처 단계별로 잘 따라오기!
puttygen.exe 파일을 실행한다.
1. Convensions - import key
초반에 생성했던 pem키를 import 한다.
2. Save private Key 클릭하고 경고 메시지가 뜨면 '예' 클릭
3. ppk 파일이 저장될 폴더에 ppk 이름을 등록한다.
4. ppk 파일이 생성된 걸 확인 후 putty.exe를 실행시킨다.
5. Host Name 설정 후 아래와 같이 설정한다.
pem키를 저장한 폴더
6. open 클릭하고 팝업창 뜨면 accept 하면 연결 끝!!!
아쉽게도 한 번에 성공하지 못했다...
구글링도 해봤지만
결국 처음부터 다시 인스턴스, EIP를 생성해서 연결해봤다.
멍청하게 오류는 별거 아니었다..
오류는 이랬다.
결론은 putty.exe 설정을 잘못해서 연결 못한다는 오류!!
두 개의 캡처본을 보니 뭐가 잘못된 건지 알겠죠..
네,,
HostName을 멋대로 바꾸면 안 돼요!!
무조건 "ec2-user@EIP주소"로 설정해야 돼요...
https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html
수정하고 실행해보니 SSH 접속에 성공했다!!
AWS 서버 환경 구축 완료!
'SpringBoot > AWS_PJ' 카테고리의 다른 글
AWS 요금 청구 - 과금 방지 알림(Budgets) 설정 (0) | 2022.04.03 |
---|---|
AWS 데이터베이스 환경 만들기 - AWS RDS (0) | 2022.03.25 |
스프링 시큐리티와 Oauth2.0_네이버 로그인 구현하기 (0) | 2022.03.16 |
스프링 시큐리티와 Oauth2.0_기능 개선하기 (0) | 2022.03.15 |
스프링 시큐리티와 Oauth2.0 - 구글 로그인 기능 구현하기 (0) | 2022.03.14 |