AWS에 들어가기 전 클라우드의 개념부터 알아봤습니다.
클라우드란?
- 인터넷을 통해서 언제 어디서든지 원하는 시간에 원하는 만큼 IT 리소스(컴퓨팅, 스토리지, 네트워크)를 손쉽게 사용할 수 있게하는 서비스입니다.
- 쉽게 볼 수 있는 네이버 클라우드, 구글 드라이브 또한 일종의 클라우드 입니다.
클라우드는 크게
SaaS (Software as a Service),
PaaS (Platform as a Service),
IaaS (Infrastructure as a Service)
로 나뉩니다.
위 쪽일수록 프로그램에 대한 사용자의 비중은 줄어들게 됩니다.
SaaS : 인터넷을 통해 소프트웨어를 빌려쓰는 서비스
(Dropbox, Naver Cloud, MS office 365 등)
PaaS : 소프트웨어 서비스를 개발할 때 필요한 플랫폼을 제공하는 서비스
(Google App Engine, salesforce.com 등)
IaaS : 인터넷을 통해 서버와 스토리지 등 데이터 센터 자원을 빌리는 서비스
(AWS, IBM, MS 등)
클라우드를 왜 쓸까요?
- 첫번째는 편리성이라고 생각합니다. 예전에는 사진들을 저장하기 위해 핸드폰에 있던 사진들을 PC로 옮기거나 이동식 저장장치에 보관했지만 이제는 인터넷을 통해 서버 상에 있는 저장공간인 Cloud로 사진들을 백업하는게 훨씬 편하기 때문입니다.
- 두번째는 어느정도 합당한 가격이라고 생각합니다. 일반 사용자들이 무거운 S/W를 사용하거나 개발할 경우 자신의 PC또한 성능이 좋아야 하지만 Cloud를 통해 플랫폼을 사용하여 적절한 비용을 내고 사용할 수 있기 떄문입니다.
먼저 AWS 가입을 해주어야 하는데 관련 내용은 타 사이트에 많으니 패스하도록 하겠습니다.
콘솔에 로그인을 하고 난 후 리전(Region)부분을 오하이오가 아닌 서울로 지정합니다.
여기서 리전은 AWS에서 사용하는 데이터센터를 의미하며 모든 클라우드 서비스가 탑재된 곳입니다.
전세계 주요 대도시에 분포되어있으며 굳이 서울로 지정 안해도 되지만
혹시 모를 요인들이 있기에 서울로 지정해줍니다.
리전에는 다수의 가용영역(Availability Zone)으로 구성되어 있으며
사용자는 각 리전마다 별도의 클라우드망을 구성할 수 있습니다.
시작하기전에 이번 주에 다뤄볼 서비스에 대해서 간단하게 알아보겠습니다.
EC2란?
- Elastic Compute Cloud 의 약자이며 가상 서버를 제공하는 서비스입니다.
- 실제 서버와 똑같은 형태의 서비스를 제공하며 Linux나 Window같은 기본 운영체제가 설치되어 있습니다.
- SSH로 원격 연결이 가능하며 중지가 가능한 EBS기반 EC2와 중지가 불가능한 인스턴스 스토어기반 EC2가 있습니다.
이제 AWS-입문(1주차)를 시작하겠습니다.
위의 사진처럼 한번 실습해보도록 하겠습니다.
그 전에 먼저! SSH 키페어를 생성해주어야 합니다.
간단하게 말해서 SSH 키페어는 하나의 인증서와 같은 역할은 합니다.
1. 콘솔에 EC2를 검색하여 서비스를 시작합니다.
2. 좌측 하단에 키 페어를 클릭한 후 우측 상단의 키 페어 생성을 누릅니다.
3. 이름은 자신이 알기 쉽게 변경한 다음 파일 형식은 pem로 설정해 줍니다
4. 그 후 키 페어에 무엇인가 생겼다면 성공입니다.
5. 다음 EC2페이지 대시보드에 인스턴스 시작을 클릭한 후
6. Amazon Machine Image(AMI) 선택 → 'Amazon Linux 2 AMI : 64bit(x86)' 선택
(여기서 AMI는 운영체제, 서버, 애플리케이션이 포함된 템플릿입니다.)
7. 인스턴스 유형 선택 → 't2.micro vCPU(1) MEM(1GiB)' 선택
(인스턴스는 애플리케이션을 실행할 수 있는 가상 서버입니다.)
8. 6단계로 넘어와 SSh 소스에서 위치무관을 선택한 후 검토 및 시작을 누릅니다.
(이 부분은 실습단계이기에 위치무관으로 설정해두었습니다.)
9. 기존 키 페어 선택에서 아까 자신인 만든 키 페어를 선택한 후 체크박스에 체크하고 시작버튼을 누릅니다.
10. 자신의 인스턴스에 가상 서버가 하나 나왔습니다.
11. 이렇게 만들어진 가상 서버를 연결시켜 보겠습니다. 유저의 이름은 ec2-user로 하신 다음 연결버튼을 누릅니다.
12. 그러면 이러한 창이 웹에서 뜨게 됩니다.
13. 다음 이러한 명령어들을 통해 다음을 확인할 수 있습니다.
# 실습의 편리를 위해서 root 계정으로 전환합니다.
# 실제 현업에서 root(관리자, 수퍼유저)로 사용은 되도록 금합니다. 하지만 실습의 경우이니 편리성을 위해서 관리자로 전환하여 진행합니다.
[ec2-user@ip-172-31-46-221 ~]$ sudo su -
# Web 서비스를 설치합니다.
[root@ip-172-31-46-221 ~]# yum install httpd -y
# Web 서비스를 실행합니다.
[root@ip-172-31-46-221 ~]# systemctl start httpd
# 웹 페이지를 구성합니다.
# 기본 웹 페이지 디렉터리는 /var/www/html 이다.
# 아래 명령어는 본문 내용을 담아서 index.html 파일을 생성한다
[root@ip-172-31-46-221 ~]# echo "<h1>Test Web Server</h1>" > /var/www/html/index.html
# ls 로 파일 생성 확인
[root@ip-172-31-46-223 ~]# ls /var/www/html/
index.html
# cat 로 생성된 파일 내용 확인
[root@ip-172-31-46-223 ~]# cat /var/www/html/index.html
<h1>Test Web Server</h1>
# curl(CLI 웹 요청 명령어) 명령어로 웹 접속을 확인합니다.
[root@ip-172-31-46-221 ~]# curl localhost
<h1>Test Web Server</h1>
# 웹 서비스 동작 확인 - TCP 80(HTTP)를 사용
[root@ip-172-31-46-223 ~]# ss -tl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
...
LISTEN 0 128 *:http *:*
[root@ip-172-31-46-223 ~]# ss -tln
State Recv-Q Send-Q Local Address:Port Peer Address:Port
...
LISTEN 0 128 *:80 *:*
```
14. 그 후 보안탭에서 위치 무관으로 규칙을 추가시켜줍니다.
15. 만들었던 가상 서버의 퍼블릭 IPv4주소를 인터넷 주소창에 입력합니다
16. 인터넷 웹 서버에서 여러분들이 입력했던 Test Web Server를 확인하실 수 있습니다.
17. 실습이 끝났다면 꼭 자신의 인스턴스를 중지시킨 후 종료시켜야 추가적인 사용과 비용 청구를 막을 수 있습니다.
이게 무슨 내용이고 이런 서비스로 무엇을 할 수 있는가?
- AWS EC2를 이용하여 여러분들의 웹 서버를 만들었고 거기에 원하는 글자를 출력할 수 있게 되었습니다.
- 아직까지는 글자만 출력할 수 있지만 추후에는 웹에서 이미지 출력, 입력 버튼 등 여러가지를 할 수 있습니다.
- 웹에서 글자가 출력된 것이 중점이 아니라 여러분이 만들었던 검은색 화면이 하나의 서버역할을 하고 그 서버에서 여러 가지를 이용하여 다양한 결과물을 만들 수 있습니다.
앞으로 많은 부분들을 다룰 예정이고 제 개인적으로도 궁금한 내용들을 찾아서 여기 작성하도록 하겠습니다.
'AWS > 실습(입문)' 카테고리의 다른 글
AWS-입문(6주차) 데이터베이스 서비스 (1) | 2021.07.15 |
---|---|
AWS-입문(5주차) 보안 서비스 (0) | 2021.07.12 |
AWS-입문(4주차) 스토리지 서비스 (0) | 2021.07.01 |
AWS-입문(3주차) 네트워킹 서비스 (0) | 2021.06.28 |
AWS-입문(2주차) EC2 배포 - 2 (0) | 2021.06.17 |