당신은 주제를 찾고 있습니까 “아마존 웹 서버 – AWS – EC2 기본 사용법“? 다음 카테고리의 웹사이트 ppa.maxfit.vn 에서 귀하의 모든 질문에 답변해 드립니다: https://ppa.maxfit.vn/blog. 바로 아래에서 답을 찾을 수 있습니다. 작성자 생활코딩 이(가) 작성한 기사에는 조회수 32,526회 및 좋아요 464개 개의 좋아요가 있습니다.
아마존 웹 서버 주제에 대한 동영상 보기
여기에서 이 주제에 대한 비디오를 시청하십시오. 주의 깊게 살펴보고 읽고 있는 내용에 대한 피드백을 제공하세요!
d여기에서 AWS – EC2 기본 사용법 – 아마존 웹 서버 주제에 대한 세부정보를 참조하세요
EC2를 이용하면 1분만에 원격제어로 사용할 수 있는 컴퓨터를 만들 수 있고, 언제든지 삭제해서 비용을 아낄 수 있습니다.
이 수업에서는 EC2를 켜는 법과 끄는 법, 원격제어를 하는 법과 방화벽을 설정하는 방법을 소개합니다.
이 수업을 듣기 위해서는 AWS 기본 수업을 먼저 보셔야 합니다. AWS와 클라우드 컴퓨팅이 무엇인지, 회원가입은 어떻게 해야하는지 모르신다면 기본 수업인 AWS1을 먼저 보실 것을 권해드립니다.
https://opentutorials.org/module/3814
더 많은 지식들이 궁금하시면 지식지도 서말을 참고해주세요.
https://seomal.org
아마존 웹 서버 주제에 대한 자세한 내용은 여기를 참조하세요.
AWS ( 아마존 웹서비스 ) 웹서버 만들기 – 크레이의 IT탐구
AWS ( 아마존 웹서비스 ) 에 대해 아시나요? 🙂 AWS 를 공부할 일이 있어서 며칠동안 알아본 결과 몇가지는 알아내고 몇가지는 아직 불분명한 상태 …
Source: itadventure.tistory.com
Date Published: 11/4/2022
View: 5351
아마존 웹 서비스 – 나무위키
현실적으로 수백대의 서버를 직접 구축해서 데이터 분석 등을 위해 이용하는데는 한계가 있으므로 이와 같은 클라우드 서비스를 이용하는 것이다. 이전 …
Source: namu.wiki
Date Published: 8/30/2022
View: 5667
aws 서버 구축 방법 아마존 웹서버 홈페이지 만들기 1부
스냅샷을 이용한 AWS 서버 구축 방법 · 1. EC2 항목에서 왼쪽 메뉴중 이미지 – AMI 부분을 클릭합니다. · 2. TION BASIC 이라는 AMI이름을 선택하고 작업 …
Source: vlog.tion.co.kr
Date Published: 2/16/2021
View: 2390
1. AWS서버 구축하기 – velog
Amazon Linux 2 AMI (HVM)로 사용합니다. (5) 단계 2: 인스턴스 유형 선택. 인스턴스는 애플리케이션을 실행할 수 있는 가상 서버; t2.micro 사용 합니다 …
Source: velog.io
Date Published: 2/15/2022
View: 2698
주제와 관련된 이미지 아마존 웹 서버
주제와 관련된 더 많은 사진을 참조하십시오 AWS – EC2 기본 사용법. 댓글에서 더 많은 관련 이미지를 보거나 필요한 경우 더 많은 관련 기사를 볼 수 있습니다.
주제에 대한 기사 평가 아마존 웹 서버
- Author: 생활코딩
- Views: 조회수 32,526회
- Likes: 좋아요 464개
- Date Published: 2020. 10. 29.
- Video Url link: https://www.youtube.com/watch?v=Pv2yDJ2NKQA
AWS ( 아마존 웹서비스 ) 웹서버 만들기
반응형
AWS ( 아마존 웹서비스 ) 에 대해 아시나요? 🙂
AWS 를 공부할 일이 있어서 며칠동안 알아본 결과
몇가지는 알아내고 몇가지는 아직 불분명한 상태여서 좀 더 학습이 필요한데요.
우선 알아낸 부분을 공유합니다.
AWS 는 아마존 웹 서비스의 약어인데요.
어떤 동영상을 보니 우스개소리로 아마존에서 ‘구름’을 판다고 하더라구요.
영어로는 구름을 ‘Cloud(클라우드)’라고 부르는데요.
겨울왕국에서 울라프가 머리 위에 늘 구름을 가지고 다니듯이 웹서버를 마치 머리위에 띄워 놓은 것처럼
언제 어디서든 접속 관리하고 또한 요금조차도 유연하게 사용한만큼만 쓸 수 있어 경제적이라고 합니다.
실물 서버가 없으니 아마도 재택 근무로도 서버를 100% 관리할 수 있는 유용한 부분도 있겠더라구요.
세상 참 많이 좋아진 것 같습니다.
AWS 에서 지원하는 가상 서버는 싼 것부터 비싼것 까지 매우 천차만별입니다.
프리티어 라고 해서 처음 1년간은 월별 750시간까지의 사용량은 무료이고
그 이상은 추가 과금이 되는 요금제가 있는데요. 정확한 기준은 아직 자세히는 모르겠습니다.
개발용으로만 쓴다면 그리 큰 과금은 없어 보이는데 크레이가 겪어보면서 알려드리겠습니다 🙂
아마존 한국어 서비스 페이지는 아래와 같습니다.
aws.amazon.com/ko/
회원가입 부분은 중간에 카드 정보를 입력하는 부분을 빼고는 여느 회원가입 사이트와 유사하므로 건너뛰도록 하고,
( 카드 확인 과정에 ‘1달러’가 빠져나가더라구요 ㅎ.. )
AWS 에 가입 및 로그인한 상태까지는 진행했다고 보고 시작하도록 하겠습니다.
AWS 서비스 우측에 보면 ‘ 콘솔에 로그인 ‘ 버튼이 보이는데요.
해당 버튼을 누르면 아래와 같은 화면이 보이실 것입니다..
오른쪽 상단에 국가가 표시되는데요 아마도 ‘서울’로 되어 있지 않을 것입니다.
먼저 이 부분을 아시아 태평양(서울)로 바꿔 주세요.
그리고 웹서버를 마련하기 위해서 EC2를 사용하여 항목을 선택합니다.
참고로 EC2 는 Elastic Compute Cloud(유연한 컴퓨팅 클라우드) 의 약어입니다.
C2 가 C 를 2글자를 썼다는걸 표현한 것 같더군요.
그 다음으로는 아마존 머신 이미지 선택이 나옵니다.
리눅스도 있고 윈도우도 있고 하여튼, 아래쪽에는 엄청 비싼것도 있다고 하는군요.
그냥 연습용 웹서버이니까 위의 3줄 안에서만 놀아보도록 합시다.
우분투가 편리하신 분은 세번째줄 우분투를 고르셔도 되지만, 크레이는 ‘누리호스팅’에서 마련된 서버를 주로 사용하기 때문에 CentOS 가 편리합니다. CentOS 는 첫번째 줄 Amazone Linux 2 에 해당합니다.
리눅스 이름이 아마존 리눅스 2 라니.. 참, 거창하지요? 🙂
선택 버튼을 눌러 줍니다.
그러면 아래와 같이 인스턴스 유형 목록이 나오는데요. 뭐 선택할 다른게 없습니다.
프리 티어 사용 가능 항목이 기본 선택된 상태에서, 검토 및 시작 버튼 클릭!
참고로 인스턴스 는 간단히 말해 가상 컴퓨터 1대 를 의미합니다.
그리고 우선 시작하기 버튼을 눌러 주시면 됩니다.
그러면 아래와 같이 키페어 설정창이 팝업창으로 뜨는데요
이 키페어는 SSH 에 접속할 때 사용하는 ‘ 공개키 ‘와 ‘ 개인키 ‘라는 보안 기술입니다.
기본적으로 해주는 것이 좋으므로,
상단 선택 상자는 ‘새 키 페어 생성’ 선택,
하단 선택 상자는 나중에 기억할 수 있는 고유 이름을 영어로 적어주시면 됩니다.
그리고 나서 키 페어 다운로드 버튼을 선택하면,
파일이 다운로드됩니다. 이 파일은 한번만 다운로드 되므로
반드시 별도의 장소에 잘 보관해주어야 나중에 SSH 접속에 사용할 수 있습니다.
파일을 다운로드하면 인스턴스 시작 버튼이 활성화되는데 이 버튼을 눌러주시면 됩니다.
보통은 한국의 경우 왼쪽에 위치하는게 일반적인데, AWS는 오른쪽이라 처음에 영 익숙하지 않더라구요 🙂
아래와 같이 인스턴스가 시작되었다는 메시지가 나왔습니다.
EC2 는 금방 만들어지기 때문에, 오른쪽 하단의 ‘인스턴스’ 보기 버튼을 눌러주시면 아래와 같은 인스턴트 목록이 노출되고 벌써 ‘실행중’이라고 나옵니다.
하지만 아직 이 인스턴스 가상서버는 ‘ 서버만 가상 ‘으로 생성되었을 뿐 웹서버가 된 것은 아닙니다 .
웹 서버가 되기 위해서는 서버에 접속해서 ‘웹 서비스’를 설치 해야 합니다.
자 서버에 접속해보도록 하겠습니다. 인스턴스 아이디를 클릭하면,
아래와 같이 인스턴스 요약 창이 나오는데요.
퍼블릭ipv4 주소와, 퍼블릭 ipv4 DNS 가 나옵니다.
이 주소는 실제 공인 IP주소와, 사용할 수 있는 URL 주소를 의미합니다.
나중에 이 주소로 연결할 수가 있지요. 우선은 ‘ 연결 ‘ 버튼을 눌러줍니다.
인스턴스 리눅스 서버에 로그인할 아이디와 함께 연결 버튼이 보이는데요. ‘연결’버튼을 눌러주면
리눅스 서버에 접속할 수 있습니다
아마존 리눅스 2 서버의 SSH 터미널에 접속한 화면입니다.
그림처럼 된 부분을 잘 보시면 EC2 라는 글자의 그림자인걸 확인하실수 있을 겁니다.
( 잘 안보이신다구요? 뭐 상관 없습니다 )
지금 접속한 아이디는 리눅스 시스템의 최고 권한인 root 는 아니지만,
root 권한으로 모든 것을 실행할 수 있습니다.
하지만 어떤 명령어든간에 실행할 때마다 sudo를 타이핑해주어야 해서 꽤 불편합니다.
그러니 root 계정으로 접속해 보겠습니다.
아래와 같이 입력하여 root 계정으로 변신!합니다.
sudo su – root
그러면 프롬프트가 아래와 같이 변경됩니다.
이 상태에서 아래 명령어를 실행해줍니다. yum 저장소라고도 부르는데요. 일종의 윈도우 업데이트와 비슷한 겁니다.
yum update
그러면 yum 목록이 주루룩 나열되다가 업데이트할지 여부를 물어봅니다. 당연히 y 를 입력하고 Enter 키를 누릅니다.
그러면 뭔가 주르륵 설치가 되다가 한동안 멈춰진 것처럼 보일 겁니다. 멈춘게 아니니 조금만 기다리면,
아래와 같이 완료가 됩니다.
이제 nginx 라는 웹서버를 설치할텐데요.
아마존 EC2 리눅스는 nginx가 기본 저장소에 없습니다.
그렇기 때문에 아래 명령어를 입력하여 확장 저장소를 설치해줄 필요가 있습니다.
내용이 좀 긴데 복사해서 터미널 창에서 Ctrl+V 키를 치시면 붙여 넣어집니다.
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
그러면 아래와 같이 뭔가가 주르륵 나오다가 물어보는데 역시 y를 누르고 Enter
이제 nginx 웹서버를 설치해 봅시다.
아래와 같이 입력하면 nginx 가 설치가 되지만,
yum install nginx
이번에는 좀 색다르게 해봅시다.
yum -y install nginx
그러면 뭔가가 주르륵 지나가다가, 설치완료! 라고 뜹니다.
엇 아까는 y/n 어쩌고를 물어보길래 ‘Y’를 입력해 주었는데 이번에는 그렇지 않지요?
yum 설치 옵션에 -y 를 입력하면 자동으로 y를 입력해주게 되어서 그렇습니다.
이제 이 가상 서버는 웹서버가 되었습니다.
정말로 그런가 볼까요?
그전에 먼저 해주어야 할 일이 있습니다.
뭐냐면 바로 웹서버 서비스 포트를 열어주어야 하는 것인데요.
서비스 포트를 열려면 다시 아까 전의 화면으로 돌아가야 합니다.
터미널 창은 새 탭으로 열리기 때문에 먼저번 탭이 이쪽에 열려져 있을 것입니다.
탭을 선택한 다음,
인스턴스 우측의 인스턴스 아이디값을 클릭합니다
그러면 인스턴스 요약창이 노출될텐데요, 보안 탭에서 서비스 포트를 제어할 수 있습니다.
보안 탭 을 클릭해주세요
그리고 이어서 보안 그룹 아이디 값을 클릭하면 됩니다.
웹 서비스 포트를 열려면 인바운드 규칙만 조정하면 됩니다.
인바운드 규칙 편집 버튼을 클릭하고,
규칙 추가 버튼을 누르면 한줄이 늘어납니다. 늘어난 줄에서 유형 을 HTTP 로, 소스 는 위치무관 을 선택해 주세요.
그리고 우측 하단의 규칙저장 버튼을 눌러주면 됩니다.
이제 규칙에 저장되어 가상서버는 웹서버가 되었습니다.
아직 빠뜨린 것이 하나 더 있는데 웹서비스를 가동하는 것인데요.
다시 아까의 터미널 탭을 선택하면 키보드 입력이 안되고 먹통이 되어 있을 겁니다.
아마도 보안상 자동 끊김이 적용되어 있는듯하니, 창을 닫고 아까처럼 다시 터미널 창을 열어주시면 됩니다.
root 계정으로 설치했으니 sudo su – root 로 접속해서 시동하도록 합시다.
sudo su – root service nginx restart
이제 웹서버가 작동되었습니다.
이제 웹브라우저에서 확인해볼텐데요. 우선 URL 주소를 알아보도록 합시다.
어디서든 ‘인스턴스’를 클릭하면,,
인스턴스 목록 창으로 돌아옵니다. 여기서 해당 인스턴스 아이디를 클릭하면,
아래와 같이 인스턴스 요약창이 나옵니다 이중에서 퍼블릭 IPv4 DNS 주소를 복사합니다.
그리고 웹브라우저에서 붙여넣기하면 아래와 같이 웹페이지가 뜨는 것을 볼 수 있는데요
이 페이지가 바로 가상서버 안에 있는 nginx 웹서버의 메인 페이지입니다.
정말로 그런가 확인해볼까요?
nginx 웹서버의 기본 폴더는 /usr/share/nginx/html 입니다.
그리고 지금 보이는 웹페이지는 index.html 페이지인데요.
아래 명령을 내려 파일을 편집해 봅시다.
vi /usr/share/nginx/html/index.html
아래와 같은 리눅스 전용 에디터가 나오는데요. 이를 vi 편집기라고 합니다.
아쉽게도 아마존 리눅스 터미널에서는 한글은 입력이 안됩니다.
그러니 영어로 입력해야 하는데요.
메모장과는 편집 방법이 좀 다릅니다.
우선 화면의 커서를
화살표 키로 이즈음으로 이동합니다.
그리고 영어 ‘i’키를 한번만 친 다음, ( 화면 하단에 INSERT 라고 불이 들어올 것입니다 )
‘Very ‘라고 타이핑 해보세요.
그리고 나서 ESC키, :w!, Enter 순으로 입력하시면 이 파일이 저장됩니다.
그리고 다시 웹페이지를 띄워보면,
아까 전에는 Thank you 였던 부분이 Very Thank you 로 바뀐 것을 보실 수 있습니다.
이로서 이 가상서버가 이 웹페이지라는 걸 확신할 수 있지요,
자, 이제 서버를 끄도록 합시다. 그래야 사용 시간이 차감되지 않겠지요.
실제로 서버를 운영하지 않는 가난한 서민은 한 푼이라고 아껴야 하지 않겠습니까 ? 🙂
서버를 끌 때 주의사항은 ‘인스턴스 중지’와 ‘인스턴스 종료’가 있는데
절대로 ‘인스턴스 종료’를 선택하면 안됩니다 . 제가 한번 해 보았는데 다시 켜지지가 않더라구요,
목록에 당장은 나오는데 다음날 삭제되어 더 이상 보이지 않게 됩니다.
아까처럼 인스턴스 목록창으로 이동해서, 끌 인스턴스의 체크상자가 선택된 상태에서 인스턴스 중지를 선택합니다
절대로 인스턴스 종료를 선택하시면 안됩니다.
그러면 잠시 후 서버가 꺼집니다.
그 반대는 인스턴스 시작 인데 역시 동일한 방법으로 서버를 켤 수 있습니다.
아직 이 서버는 HTML이나 이미지등의 웹서비스만 가능한 상태입니다.
php나 DB가 작동하게 하려면 추가적인 설치가 필요하지요.
다음 번에는 해당 부분을 다뤄보도록 하겠습니다.
오늘도 여기까지 읽어주셔서 감사합니다 🙂
반응형
aws 서버 구축 방법 아마존 웹서버 홈페이지 만들기 1부
AWS 서버 구축 방법에 대해서 간단하게 알려드리고 구축한 웹서버에 홈페이지 만들기 도전해보겠습니다.
제가 만드는 AWS 서버 구축 방법은 아마존에 이미 스냅샷(템플릿)으로 만들어놓은 서버 입니다.
그냥 뚝딱뚝딱 만들어지기때문에 서버가 순식간에 생성됩니다.
구체적인 순서는 시간에 따라 달라질수 있으니 큰 흐름만 잘 파악하셔서 진행하시면 누구나 멋진 나만의 홈페이지를 만들수 있을겁니다.
1부과정에서는 스냅샷을 이용한 아마존 서버 만들기까지입니다.
2부과정에서는 만들어진 서버에 워드프레스를 설치하여 외부에서 접속되도록 해보겠습니다.
(아래 사진은 개인적으로 사용하기 위해서 집에 리눅스 서버와 윈도우 서버를 구축한것입니다. )
(오늘 내용과는 관계는 없으며 채굴기 아닙니다. 듀얼CPU를 사용하는 엄청 큰 메인보드라서 장착할수 있는 곳이 없더군요. )
우선 준비물
-> AWS 계정에 가입 하여 신용카드까지 결제 되도록 세팅이 되어져있어야 합니다. (1부)
(간혹 무료티어를 이용해서 만들수 없냐고 질문을 많이 하시지만… 가급적이면 돈내고 서비스를 이용하여야 실력이 향상되실겁니다.
아마존 무료티어는 유튜브 등 검색하시면 자세히 나와있으니 무료를 생각하시는 분들은 그쪽으로 가셔서 보시기 바랍니다.)
-> phpMyAdmin 파일 다운로드 (2)
phpmyadmin 파일은 없어도 큰 문제는 없지만 워드프레스 데이터베이스를 쉽게 만들기 위해서 설치합니다.
-> 워드프레스 파일다운로드 (2부)
워드프레스를 이용하여 홈페이지를 만들겁니다.
아마존 웹서버에서 wget 명령어로 다운받을 계획이라 아래 명령어만 따라 입력하면됩니다.
-> 무슨 주제로 만들지 홈페이지 주제를 머릿속에 구상 (2부)
제가 만들 홈페이지는 너무 많아서 다 적을수가 없을정도입니다.
오늘 만들 홈페이지는 블로그 겸 웹사이트 기능을 할 수 있는 멀티 사이트를 만들 계획입니다.
-> 도메인 구입 (2부)
주제에 맞는 도메인명을 구입하면 됩니다.
1년에 1만2천원~3만원 정도로 임대 할수 있습니다.
구매표현이 더 맞을수 있으나 사실 돈 안내면 자동으로 갱신되지 않으므로 임대개념이 더 맞을겁니다.
준비가 되셨다면 이제부터 웹서버를 만들겠습니다.
아마존 전체 서비스를 켜놓고 확인해보면 제가 사용하는 항목은 크게 2가지 입니다.
컴퓨팅 항목의 EC2 부분과 AWS 비용 관리 항목의 AWS Cost Explorer 부분입니다.
서버 인스턴스와 그에 대해 돈이 얼마나 지출되었는지 확인하는 정도입니다.
스냅샷을 이용한 AWS 서버 구축 방법
1. EC2 항목에서 왼쪽 메뉴중 이미지 – AMI 부분을 클릭합니다.
이 부분이 가장 중요한 부분인데요.
아마도 처음 아마존 서버를 만드시는 분들에게는 스냅샷이 없으실겁니다.
스냅샷은 제가 특정 시각에 서버 전체를 이미지 파일로 만들어놓은 한 부분이라고 보시면됩니다.
즉, 이미 완벽히 동작하는 서버는 만들어진 상태이고 다음번에 새로 만들기 위해서 이미지화 시켜서 스냅샷으로 보관한것입니다.
2. TION BASIC 이라는 AMI이름을 선택하고 작업 버튼을 눌러 시작하기 클릭합니다.
저도 스냅샷을 만들당시 열심히 아마존 서비스가 어떻게 동작하는지 알고 싶어 서버 설치만 엄청나게 했습니다.
컴퓨팅 서버마다 속도도 알고 싶어서 이미지 생성 삭제를 몇번했는지 기억도 안날정도입니다.
서버 비용때문에 많이 고민하실겁니다.
가장 큰 문제는 내가 그 비용에 대한 가치를 모른다는 부분일겁니다.
그럴땐 그냥 월 2만원정도 내고 써보면서 업그레이드 해도 되니 우선 t3.small 서버를 신청하셔서 진해하면됩니다.
아래 아마존 웹서버 가격에 대한 리눅스 금액을 제가 정리해놓았으니 한번 보시면 도움이 되실겁니다.
지금 보고 계신 이 글이 작성된 워드프레스의 서버가 바로 t3.small 서버입니다.
하루 방문자 1000명정도 무리없이 운영할수 있습니다.
인스턴스 구성에서 종료방지 기능 활성화 항목에 우발적인 종료로부터 보호 항목을 체크하고
네트워크 항목에서 기본적으로 적용해야할 부분을 추가만 하고 검토 및 시작버튼을 눌렀습니다.
시작하기 버튼을 누르면 기존 키 페어 선택 또는 새 키 페어 생성 팝업이 뜹니다.
해당 프라이빗 키 파일에 엑세스 할 수 있으며 이 파일이 없으면 내 인스턴스에 로그인 할 수 없음을 확인하였습니다. 항목을 선택하고 인스턴스 시작 버튼을 누르면 완료됩니다.
성공멘트를 확인하였다면 아래처럼 인스턴스 갯수가 추가된것을 확인 할 수 있습니다.
3. 탄력적 IP g할당 받고 인스턴스 연결하기
마지막으로 탄력적 IP 할당을 받아 연결하면 서버는 동작합니다.
할당된 IPv4 주소와 프라이빗 IP주소가 정상적으로 할당되었는지 확인하고 서버에 접속해보도록 하겠습니다.
4. AWS 서버 접속 및 서버 상태 확인
SSH를 이용하여 서버에 접속해보았습니다.
처음에 보안으로 설정해놓은 키페어로 인해서 root 접속을 할 수 없습니다.
우선 ec2-user 로 변경해서 접속하고 su – 명령어로 root로 접속해야합니다.
저는 이 부분도 까다로워서 바로 root 로 접속하도록 아래 항목을 지워버렸습니다.
vi /root/.ssh/authorized_keys
지우고 접속하니
df -h 명령어로 SSD 용량을 확인해보니 8GB 용량 확인되었고, free -h 명령어로 메모리를 확인해보니 2G 용량이 확인되었습니다.
free -h df -h
리눅스 업데이트가 필요해보여서 yum update 명령어로 업데이트를 하여 최신 보안상태가 되도록 하였습니다.
외부에서 홈페이지 접근이 되어야 하므로 IP 를 이용해서 접속해보았습니다.
지금 생각해보니 2021년 1월달에 만든 이미지라서 상당히 오래전에 만들었고.. 또 그사이에 많은 업데이트가 있었다는것을 알게되었습니다.
이번 서버를 기본으로 또 스냅샷 만들어야겠네요.
이미지 보관도 하드용량도 트래픽도 모두 돈으로 이어지기때문에 딱 필요한 만큼 만들어놓아야합니다.
1부는 이렇게 마무리하겠습니다.
2부 내용은 아래 링크 연결해놓았습니다.
블로그시크릿 회원님들 중에서 아마존 AWS 웹서버 만드실때 궁금하신 부분있으면 톡톡 보내주세요.
감사합니다.
[89일차 복습] 아마존 웹서버 구축 / 호스팅 / 배포 / 비용 / 방법
반응형
🧸 복잡하고 복잡스런 아마존 aws 웹서버 구축 환경설정 방법
[ CONTENTS ]1. Amazon ec2 가상 리눅스 인스턴스 생성
2. Node.js, mySQL 설치 / 다운
3. Node.js, express에서 작성한 코드 리눅스에 연결
4. 포트 변경
1) Amazon ec2 사이트 회원가입 및 인스턴스 생성
1. AWS 홈페이지에서 회원가입하기
* 반드시 해외결제 가능 신용카드가 있어야 한다.
* 무료 / 유료 여러개의 옵션이 있으므로 원하는 목적에 맞게 선택!
개발 테스트 용의 목적이므로 -> 무료 계정 생성 클릭 -> 회원가입 진행 -> AWS 관리 콘솔까지 들어가기
AWS 회원가입 url
https://aws.amazon.com/ko/free/?all-free-tier.sort-by=item.additionalFields.SortRank&all-free-tier.sort-order=asc&awsf.Free%20Tier%20Categories=categories%23compute&trk=ps_a134p000006gGh2AAE&trkCampaign=acq_paid_search_brand&sc_channel=PS&sc_campaign=acquisition_KR&sc_publisher=Google&sc_category=Cloud%20Computing&sc_country=KR&sc_geo=APAC&sc_outcome=acq&sc_detail=amazon%20ec2&sc_content=EC2_e&sc_matchtype=e&sc_segment=477203497843&sc_medium=ACQ-P|PS-GO|Brand|Desktop|SU|Cloud%20Computing|EC2|KR|EN|Text&s_kwcid=AL!4422!3!477203497843!e!!g!!amazon%20ec2&ef_id=CjwKCAjw3MSHBhB3EiwAxcaEu6-e2J28G0nPQM4YWzNQdB3F0euW-UQz4rOcyJ9VZleuWWzCa02nFhoCFUsQAvD_BwE:G:s&s_kwcid=AL!4422!3!477203497843!e!!g!!amazon%20ec2&awsf.Free%20Tier%20Types=*all
2. AWS 관리 콘솔 -> 가상 머신 시작 클릭
3. AMI 선택 – Ubuntu Server 20.04 LTS 선택
4. 인스턴스 유형 선택 –> 디폴트값 그대로 ‘검토 및 시작’ 클릭
5. 보안 그룹 구성 클릭 (6단계)
4번 스토리지 추가, 5번 태그 추가는 자동으로 건너 뛰어 졌다.
아래 사용자 지정에 0.0.0.0/0 의 의미는 어떤 사용자 IP도 나의 웹사이트에 접속 가능하다 ~ 의 의미
단계 6에서 두 가지 추가 – http, https 설정 이유
다른 외부 PC 가 80 으로 들어올 때 허용하겠다 의미
http 80이 디폴트 값 – 웹서버, 다른 pc 들어오면 미리 허용해놓기
https – 보안이 강화된 프로토골
만약 DB server를 사용하게되면 3306 port도 또 추가해주어야함
규칙 추가 클릭 -> http, https 두 가지 추가 -> 검토 및 시작 클릭
* http – port : 80 = 다른 외부 pc 가 port 80으로 들어올 때 허용하겠다.
https – port : 443 = 보안 강화 프로토콜
만약 DB server를 사용하게 되면 port : 3306 추가해 주어야함.
6. 검토 후 ‘시작하기’를 클릭
7. KEY PAIR 키 페어 선택 및 생성하기
* 없으면 생성, 있다면 기존 것으로 사용 가능
* key pair는 이중 보안 가능하게 하는 아마존 판 공인인증서
요 key pair 는 다른 사람이 악용할 수 있으니 꼭 어디에 숨겨서 저장하기 ! Visual studio에 넣는다면 .gitignore 하기!!
-> 생성 후 여러 줄의 한 문단으로 이뤄진 키가 나온다. visual studio 새 폴더를 열어서 back 폴더에 옮겨 담았다
vs에 새 폴더를 연 김에 세팅까지 해주기
Visual studio 세팅
1) back, front 폴더 생성 (back폴더 – key pair 파일이 들어가져있음)
2) 파워셀에 back, front, local-back 세 가지로 만들기
local-back = express로 만드는 로컬 서버 (localhost:3000)
8. 인스턴트 보기에 들어가서 방금 만든 인스턴스의 이름 편집
인스턴스 생성 완료
9. 인스턴스 접속해보기
AWS 사이트에서 인스턴스 보기 -> 진행 중인 해당 인스턴스 체크박스 클릭 -> ‘연결’ 클릭
SSH 클라이언트 클릭 -> 여러 줄이 나오면 가장 아래의 것으로! 복사 가능한 버튼눌러서 복사 -> VS 터미널에 입력하기 -> 질문에 yes 입력 -> 초록색 글자가 나오면 접속 성공!
* 터미널에 복사 붙여넣기 할 때, 반드시 경로 확인 !! 안그러면 아래 에러가 나옴
ex) back까지 들어오기
Warning: Identity file utan_first_keypair.pem not accessible
* 이 때 vs 터미널은 back 파워셀 !
초록색 글자들의 의미 : 계정 @ 주소값
만약 pem 파일 접속 권한관련 에러가 나오면 아래 내용 참고
https://techsoda.net/windows10-pem-file-permission-settings/
리눅스 명령어 찍먹
리눅스 명령어 ls 현재 디렉토리 내용 보기
(현재 위치 기준) ls -al ls보다 더 상세하게 디렉토리 내용 확인하기
(현재 위치 기준) cd / 최상위 디렉토리로 pwd 내 경로 보기
root – 최고 관리자를 뜻함
앞의 알파벳의 의미
d : 디렉토리
l : 바로가기 (symbolic link)
– : 파일이라는 뜻
cd ~ : 우리가 사용할, 작업할 디렉토리 공간
2) Node.js Mysql 설치하기
0. Visual Studio – 터미널 파워셀 – back 선택
1. Node.js / mysql 있는지 확인 해보기
node -v
mysql
-> 없다고 뜬다.
2. node.js 부터 설치 하기 – 아래 명령어 차례대로 실행
sudo apt-get update
sudo apt-get install -y build-essential
sudo apt-get install curl
curl -sL http://deb.nodesource.com/setup_14.x | sudo -E bash — //우리가 설치한 node.js가 버전14여서!
sudo apt-get install -y node.js
* sudo 뜻 : 최고 관리자
다운 잘 되었는지 확인
node -v
npm -v
3. Mysql 설치하기
sudo apt-get install mariadb-server // y/n ? 나오면 y입력
sudo apt-get install mariadb-client
DB도 server이다 ! back쪽, client 쪽 설치
– 잘 설치되었는지 확인
mariadb –version
4. ubuntu -> root 계정 변경
현재 ubuntu를 -> root로 변경하기
sudo su
* sudo를 입력해서 할 수 있는 건 사용자들이 접근할 수 없다.
-> 아래 명령어로 다른 유저들도 나의 사이트에 접근가능하도록 만들기
mysql_secure_installation
그 다음 mysql 비밀번호 생성 / 변경
여러 질문들의 의미는 나중에 진짜 배포를 하게되면 ~을 삭제/수정해라 라는 의미, 일단 모두 y를 입력 !
mysql 설치 잘 되었는지 확인
use mysql
방금 생성한 password 입력해보기 / 명령창이 MariaDB[(none)]으로 바뀌어 있다.
현재 database – mysql 이 생성되어 있고 안에 user 를 포함한 여러 테이블들이 존재함.
이제 ubunt 계정에서도 쉽게 mysql 들어갈 수 있도록 설정을 조금 더 해주기 -> root 비번을 한 번 더 바꾸어주어야 한다.
5. 한 번 더 user password 수정하기 (plugin 맞추기 위함)
아래 명령어 실행 ** 아래 명령어는 mariadb 최신 버전이고 혹시 오류가 나오면 구버전 명령어로 실행시켜보기
set password for ‘root’@’localhost’ = password(‘root’);
* 구 버전 예시
plugin 확인
select user, host, plugin from user;
plugin이 ‘mysql_native_password’ 라면 성공 !!
‘mysql_native_password’ 확인되었으면 아래 명령어 입력
flush privileges;
완료 !
이제 mysql 세팅을 끝냈으니 ubunt로 다시 나가기
ctrl + c
exit
ubuntu에서 접속이 가능한지 확인 –> 해야 다른 곳에서도 접속이 가능하다.
mysql -uroot -p’root’
3) express에서 작성한 코드
Amazon AWS의 가상 서버인 LINUX 인스턴스와 연결하기
편리성을 이유로 express node.js에서 코드를 먼저 작성하고 github에 올린 후, 다시 리눅스 환경에서 clone을 하여 배포할 수 있다.
Local-back ——github—–> Amazon AWS
1. Visual Studio – back 폴더에 기본 server.js 코드 입력 / 기본 설치 시작
터미널의 경로가 back 폴더에 있는지 확인하기 / 파일트리 생성
터미널 : local_back 으로 들어가서 npm 시작 / 필요한 패키지 다운받기
npm init
npm i express
server.js 기본 코드 작성
const express = require(‘express’) const app = express() app.get(‘/’, (req,res)=>{ res.send(‘hi’) }) app.listen(3000,()=>{ console.log(`server start port: 3000`) })
node server.js -> localhost:3000 에서 잘 열리는지 test !
2. github 저장소에 PUSH 하기
** key pair는 꼭 .gitignore파일에 넣기 !
github 사용법
https://blckchainetc.tistory.com/69?category=861126
3. AWS 가상서버 리눅스 인스턴스에서 코드 다운받기
VS 터미널 파워셀 back 으로 돌아가서 (방금 코드 입력한 local_back이 아님 주의) 아래 명령어 실행
cd ~
git clone [git 저장소 주소]
pwd // home/ubuntu 가 나오는지 확인
아래 명령어로 현재 디렉토리 자세히 확인해 보기
ls -al
최근 파일에 d 붙음 -> 요 파일 안으로 cd 명령어를 통해 들어가기
cd [해당 파일 명] // <- 파일 명은 내가 만든 amazon_aws 인스턴스 이름이다. 현재 위치 디렉토리 상태 체크해보기 (.gitignore에 담은 node_modules가 없다 ) lns -al npm 모두 다운하기 ( 이후 -> node_modules 가 생긴다) ** 여기서 다운 받는 곳 back ?
npm install
코드를 잘 가져왔고 node_modules도 잘 생성되었다.
이제 서버를 켜보자
node server.js
그다음 IP 가져오기
amazon aws의 ec2 대시보드에서 진행 중인 인스턴스 쳌박스 클릭 -> 퍼블릭 IP 복사 -> 브라우저에 띄워보기 !
-> 오류 ! 이유 : 포트 넘버가 서로 다르다.
localhost에서 작성한 server.js 코드에서의 포트는 늘 써왔던 3000이었고 aws 인스턴스는 80 (http) 이었다.
4. 포트 넘버 변경하기
text 파일로 열기 (vi)
vi server.js
위와 같이 뜬다. 왼쪽의 3000을 오른쪽의 80으로 수정하려면 ‘ i ‘ 를 눌러서 수정해야 한다.
i 클릭 (INSERT MODE가 됨 – 수정 / 삭제 가능)
i
오른쪽 사진처럼 80으로 변경 후 esc로 빠져나오기
[ esc ] 버튼shit + : 를 누르고 wq! 를 입력하여 vi 모드에서 빠져나오기 ( ! 느낌표는 강제실행의 의미 )
shift : wq!
<- 잘 안보이지만 요렇게 :wq! 작성 다시 node server.js 를 입력하면 또 에러가 난다. 이번 에러는 Permission denied (80번 포트에 대한) 이유 : 관리가 명령으로 서버를 on 해주어야 한다 -> 관리자 지칭하는 sudo를 꼭 적어주기
sudo node server.js
-> 다시 인스턴트 ip를 브라우저에 입력해서 실행해보기
-> 이제 server.js에서 작성한 코드가 잘 뜬다 !
끄읏
반응형
16.(시작) AWS 무료서버 1대 받기
클라우드 서비스에서 서버를 1대 받아보자.
현재 제일 유명하고 편한 서비스가 AWS , 아마존 웹서비스이다.
모든 게 무료는 아니다.
몇만원이 나오는 경우가 있다.
테스트 후 반드시 삭제 요망.
반드시 삭제.
요약
<1> 개요와 가입하기 : 계정 생성 -> 해외결재 가능 카드 정보 입력 -> 전화로 확인
<2> 콘솔 로그인하여 무료 서버 1대 생성
<3> 서버 접속 – PuttyGen을 이용해 키를 만들고, Putty를 이용해 서버 접속
<4> 비용 관련 필독
<5> 다음은 웹서버 올리기
<1> 개요와 가입하기 : 계정 생성 -> 해외결재 가능 카드 정보 입력 -> 전화로 확인
1
개요
서버를 웹상에서 클릭 클릭해서 인프라를 제공받는 클라우드 서비스이다.
개인적으로 DNS무료 점검 사이트를 서버 1대로 운영 중인데
AWS에서 서버가 1년은 무료로 제공 중이라고 해서 이 서버를 받아 사이트를 이중화하기로 했다 ^^
AWS가 가입법 등은 자주 변경된다. 참고해 보기 바란다.
가입해서 무료 서버 1대 받기
2
가입하기
1
준비물
1) Email 계정
2) 해외 결재되는 카드 (체크카드도 가능)
혹, 해외결재가 막혀있다면 허용해야 한다.
3) 핸드폰 – 전화 sms등으 로 승인이 되어야 한다.
2
계정 생성
1)
-> 이메일 또는 휴대폰 번호 : 이메일 계정 입력
-> 새 사용자입니다.
-> 보안 서버를 사용하려 로그인 클릭
-> 내 이름 입력 , 다시 입력에 이메일 주소와 동일하게 입력 , 새 비밀번호 입력 , 다시 입력에 비밀번호 한 번 더 입력 -> 계정 생성 클릭
2)
연락처 정보 입력. ( *는 필수)
개인이므로 개인 계정(Personal Account) 선택
-> 전체 이름 , 국가 : Korea Republic of 또는 대한민국
-> 전화번호 : 010 xxxxxx // 정확히 입력 필요. 나중에 전화 인증한다.
-> AWS Customer Aggreemenet // 동의 체크
-> Create ( 계정 만들고 계속 진행)
무료 제공 기간과 무료 용량 표시된다.
“AWS Free Tier : 1 Year
EC2 : 750 hrs/ month
Storage S3 : 5GB
Database RDS :750 hrs/ month ”
3)
결제 정보 입력
신용카드 번호
-> 해외 결재되는 카드 정보 입력
4)
ID 확인
-> 지금 전화하기 클릭 [CALL ME NOW] 버튼을 누르면 내 핸드폰으로 국제 전화가 온다.
-> 화면에 숫자 4자리가 보인다. PIN번호.
-> 핸드폰에 PIN번호 4자리를 입력한다.
-> 음성으로 Success 나옴. ID 확인 완료된 거임
-> 카드 1$가 결재된다. 카드 정상 유무를 확인하는 것으로 나중에 1$는 자동 취소된다.
5) 계획 지원
-> 기본 (Basic)
-> Continue 클릭 // 가입 완료!!
6) [콘솔에 로그인] 클릭해서 로그온 한다.
-> 오픈 쪽 위 메뉴에서 지역이 서울로 되어 있는지 확인한다.(한국 서비스는 서울에 서버를 만들 것임)
서울이 아니라면 오른쪽 위 [Oregin] 메뉴에서 서울로 변경한다. Asia Pacifil (Seoul)
<2> 콘솔 로그인하여 무료 서버 1대 생성
1
기본 네트워크는 제공된다.
바로 서버 1대 만들어보자.
네트워크 실습부터 하려면 vpc 만들고 서버를 1대 받아 보자. (네트워크를 만들어야 서버를 만들 수 있다)
네트워크 VPC 만드는 법은 여기를 참고해라.
2
무료 서버 EC2 서버 1대 만들어보자
왼쪽 위 [Services] 메뉴
1) [EC2] 클릭하여 서버 생성을 시작한다.
2) Create Instance에 [Launch instance] 클릭
3) Amazone Linux AMI 나 Redhat 리눅스 등으로 서버를 만들 수 있다.
일반적으로 사용하는 아마존 Amazone Linux AMI 선택 -> [Select] 클릭
4) 무료로 제공하는 [t2.micro] 서버를 생성하자. 무료로 제공하는 건 Free tier eligible라고 표시되어 있다.
오른쪽 아래 [Next : Configure Instance Details]를 클릭한다. [Review and and Launch]는 누르지 말자.
5) Configure Instance Details – 대부분 디폴트로 놓아두고 수정이 필요한 부분만 조정한다.
-> 서버수 : 1대)(default)
-> Spot instances 체크 안 함.)(default)
-> Network (172.31.0.0/16 )(default)
-> Subnet을 [subnet-xxxxx(172.31.0.0/20) | Default in ap-northease- 2a] 클릭
// 2a와 2c가 있는데 다른 구역이라고 생각하면 된다.
– Auto-assign Public IP : 자동으로 공인 IP가 할당된다.
활성화로 변경
AWS Public IP는 공인 IP이나 고정되는 IP는 아니라 DNS에 매칭해 사용하지는 않는다.
-> Protect against accidental termination 체크를 하지 않는다.작업으로 인해 강제 중지하지 않는 건데 실제 서비스하는 경우 좋지만, 테스트할 때는 필요 없다.
-> 모니터링도 디폴트로 체크 안 함. 체크하면 과금됨.
-> [Review and Lanch] 클릭에서 서버를 바로 생성한다.
[Next : Add Storage]를 선택해 스토리지를 별도로 추가할 수도 있다. EBS라고 블록 스트로지 추가로 OS나 DB들을 별도 스토리에 저장할 수 있다.-> [Review Instance Launch] 단계
AMI Details
설정한 아마존 이미지 서버의 자세한 설정값을 재확인하고 , [Launch] 클릭해 서버를 생성한다.
– Instance Type : micro로 최소 서버를 선택했었다.
– Security Groups는 디폴트로 서버 접속을 위해 SSH TCP 22번 포트는 허용된다.
– [ Lanunch] 클릭
6) Select an existing key pair or create a new key pair
– [Create a new key pair] 선택하여 서버 로그인을 위한 인증 키 값을 생성으로 한다.
-> [Key pair name ] : yahoo1라고 적는다 (원하는 이름으로 키 이름을 적는다.)
-> [ Download Key Pair] 클릭하여 키를 다운로드를 한다- 저장- yahoo1.pem 이 다운로드된다.
-> 파일은 내 PC > 다운로드 폴더에 yahoo1.pem 파일이 있는 게 보일 것이다.
-> [Lanunch instance] 클릭
-> [View Instance] 클릭하여 생성된 서버 확인한다.
– 생성 서버의 Public IP , DNS 등 정보를 확인한다.
Public IP : 52.78.x.x
Public DNS: ec2-52-78-xx-xx.ap-northeast-2.compute.amazonaws.com
<3> 서버 접속 – PuttyGen을 이용해 키를 만들고, Putty를 이용해 서버 접속
1
pem파일을 이용해 ssh로 접속하는 방법과 Windows PC에서 Putty로 접속하는 방법이 있다.
Ec2서버에서 연결로 연결하는법도 있다.
2
ssh가 되는 리눅스 서버가 있으면 해당 서버에서 하는 게 젤 편하다.
#chmod 400 naver1.pem
#ssh -i “naver1.pem” [email protected]
3
다음은 Windows PC에서 Putty로 접속하는 방법이다.
1) Puttygen 으로 키를 만들고, 그 키값을 넣고 putty로 서버에 접속한다.
Puttygen과 Putty Download
2) 키 만드는 법
puttygen 실행하여 [load] All Files(*.)에서 yahoo1.pem Load 함
-> [Saver Private Key] -> 파일 이름 yahoo11.ppk로 저장
3) putty 실행
-> Host Name(or IP ) : Public IP나 Public DNS 이름 입력
-> Save Sessions : Public IP-yahoo1 -> SAVE
-> 왼편 메뉴 중 Connection-SSH – Auth – Browse클릭 yahoo11.ppk 파일을 읽어 OPEN 클릭하여 로그인한다.
4) 로그인 계정 물어보면 ec2-user라고 입력하면 로그인된다.
login as: ec2-user
Authenticating with public key “imported-openssh-key”
Last login: Sun Jul 17 00:01:59 2016 from
__| __|_ )
_| ( / Amazon Linux AMI
___|\___|___
[ec2-user@ip-172-31-1-33 ~]$ sudo su – [root@ip-172-31-1-33 ~]#4 . 서버 삭제
EC 2 Terminate .
참고 1. 로그인 안될 때 보는 사이트
EC2를 만들 때 Private VPC에 만들면 접속이 안된다.
EC2를 만들 때 Public IP 할당받는 옵션으로 선택 안 하면 접속이 안된다. (이미 만들었다면 EIP할당받아 매칭 하자)
참고 2. PuTTY 이용 접속법
그래도 로그인이 잘 안되면 이미지를 지우고 다시 만들면 잘 된다.
키값 문제가 아니고 이미지 만들 때 먼 옵션을 잘못 준듯하다.
어쨌든 다시 만드니 잘 된다.
서버를 프라이빗 서브넷에 구축하여도 안된다.
Nat를 프라이빗에 구축해서 안된다.
Nat는 퍼블릭에 구축.
5. OS 업데이트 하기
[root@ip-172-31-1-33 ~]# yum update로 각종 라이브러리를 업데이트한다. [y]Complete!
[root@ip-172-31-1-33 ~]#<4> 비용 관련 필독
1
EC2
Start – 사용 가능하며 과금된다.
Stop해도 과금된다. E bs비용은 발생한다.
Terminate는 삭제. 삭제하는데 1분 정도 걸린다.
2
무료 인지 확인
내계정 > My Billing DashBoard >
무료라고 나온다. = Top Free Tier Services by Usage
3
무료 기간 확인
내계정 > My Billing DashBoard > Bills > 날짜로 확인
2달 사용의 경우
<5> 다음은 웹서버 올리기
다음은 생성한 가상 서버에 웹서비스 올려 보자 ~
17. AWS무료 서버로 웹서비스 이중화하기 https://brunch.co.kr/@topasvga/18
테스트 완료 후 삭제 필수
클라우드 최신 정보는 클라우드 전문가 카페
개발자들에게 도움이 될 만한 9가지 기본 아마존 웹서버 (Amazon Web Service, AWS) 서비스
Last Updated on 2021-03-13
아마존 웹서비스(Amazon Web Service, AWS)는, 정말 어지러울 정도로 많은 서비스를 제공합니다. 2020년, 작년 한 해 AWS 서비스에 많은 변화가 있었던 것도 주목할 사항이고요. 무엇보다 처음 방문하면 보통 traditional 웹서버 운영방법과 다른 점도 많고 각 서비스의 이름들도 생소한 관계로 많은 개발자분들이 어려운 점을 느끼는 게 사실이라, AWS에서 가장 많이 사용하는 유익한 서비스 종류들 소개와 요약을 한번 정리해보았습니다. 각 항목에는 AWS 서비스 페이지로 링크와 간략한 설명이 있으니 한번 검토해 보세요!
EC2
(Virtual Machine, 가상 머신)
클라우드 Virtual Machine(가상 머신) : 가상 컴퓨팅 환경 서비스
: 가상 컴퓨팅 환경 서비스 컴퓨팅 리소스에 대한 포괄적인 제어권을 제공 : Amazon에서 제공하는 서비스의 가장 중심 되는 서비스
: Amazon에서 제공하는 서비스의 가장 중심 되는 서비스 다양한 인스턴스 유형을 제공: 각 사용 사례에 맞게 여러 가지 프로세서, 스토리지, 네트워킹, 운영 체제 및 사이즈 선택 가능
Elastic Compute Cloud라고도하는 EC2는 Amazon에서 제공하는 서비스의 가장 중심 되는 서비스이라고 해도 과언이 아닙니다. 왜냐하면 Node, Go, Java, Python 등으로 만들어진 프로젝트의 백엔드를 “실행”하기 위해 아주 필수항목이기 때문입니다. EC2는 한마디로 간단한 “Virtual Machine(가상 머신)”입니다. 주목하여야 할 점은 단지 인스턴스를 시작하는 것외에, 더 많은 기능이 숨겨져 있다는 점. EC2 옵션으로 보안 그룹 세팅(외부 방화벽으로 간주), 로드 밸런싱, 그룹 자동 확장 등을 다양하게 설정 관리하는 방법이 제공되니, 이러한 정보를 좀 더 습득하여 EC2를 올바르게 사용해보세요.
S3
(정적 파일 관리)
오브젝트/정적 파일 스토리지 서비스 (사진, 비디오, 문서 등 또는 코드 화일까지! )
(사진, 비디오, 문서 등 또는 코드 화일까지! ) 간편한 데이터 관리 및 액세스 제어
비용 효율적인 다양한 스토리지 클래스 & 백업 및 복원 솔루션 제공
AWS S3(Simple Storage Service)는 정적 파일 (사진, 비디오, 문서 등 또는 frontend 코드와 Lambda 함수 코드도 해당) 스토리지 서비스의 솔루션입니다. S3의 파일 저장은 “bucket (버킷 – 즉 ‘컨테이너’)”을 통해 운영이 되는데 다른 유저들의 액세스를 컨트롤할 수 있는 기능도 제공합니다. 또한 CloudFront를 구성하면 S3에 저장된 정적 파일이 CDN을 통해 더 효율적으로 빠르게 보급되는 장점이 있습니다.
IAM Console
(사용자 설정 및 액세스 관리)
IAM(Identity and Access Management)은 한마디로 AWS 서비스 관련 액세스와 권한 설정하는 “Key(키/열쇠)” 관리 서비스이니 사용 방법을 당연히 알아야 하는 핵심 중 하나입니다. 개발 사용을 위해서는 AWS 계정의 root(루트)가 아닌 다른 사용자 및 그룹 수준 권한을 설정하여 따로 사용자 ID 설정을 통한 이용을 권장드립니다.
Domain Name System (DNS) 도메인 관리/설정 서비스
EC2 인스턴스, Elastic 로드 밸런서, S3 저장소 등 AWS 서비스 인프라에 효과적으로 연결
Route 53는 AWS가 제공하는 서비스 중, 또 하나 필수로 알아야 할 “DNS 설정” 관련 서비스입니다. (이것은 별로 보통 웹서버와 다른 점이 없음. 이름만 좀 색다를 뿐) 다른 domain 등록 대행자를 통해 도메인을 구입한 경우 AWS 네임 서버(name server or NS records)를 가리키고 Route53 통해 지정 도메인이 가리키는 위치 (Elastic Load Balancer, EC2 인스턴스, CloudFront 배포, S3 버킷 등)를 쉽게 구성할 수 있습니다. Route53을 통해 도메인을 구입할 수도 있습니다.
Elastic Beanstalk
(배포를 돕는 PaaS 같은 서비스)
애플리케이션 배포를 간편히 관리해주는 서비스
코드를 업로드하기만 하면 Elastic Beanstalk가 용량 프로비저닝, 로드 밸런싱, Auto Scaling부터 시작하여 애플리케이션 상태 모니터링에 이르기까지 자동으로 처리
AWS의 Heroku와 비슷한 PaaS 같은 서비스. 진정한 PaaS는 아니지만 앱을 배포하는 점에 있어서 더 “수월한” 서비스입니다. (말하자면 잭과 콩나무, “Jack and the Beanstalk”, 처럼 “콩”을 심으면 자동적으로 쭉 자라는) 말하자면 몇 가지 다른 AWS 서비스를 사용하며, 웹 애플리케이션을 AWS에 배포하는 데 따른 복잡성을 간단히 설정해주는 서비스인데요, 제가 보기에 Lightsail과 비슷한 범주에 속합니다. 한번 시도해보십시오!
PaaS란?
“플랫폼-같은-서비스(Platform-as-a-service, PaaS)”는 하드웨어 및 응용 프로그램 관리가 제3사를 통해 제공되는 클라우드 컴퓨팅의 한 형식입니다. PaaS 제공업체는 자체 인프라에서 하드웨어와 소프트웨어를 호스팅하고 이러한 플랫폼을 사용자에게 통합 솔루션, 솔루션 스택 또는 인터넷을 통한 서비스로 제공. 그러니 Iaas(Infrastructure-as-a-service, 예로는 AWS과 DigitalOcean 등)보다 서버 프로비저닝 하거나 관리할 필요 없는 관계로, 더 사용 간편한 점이 있습니다.
CloudFront
(AWS의 CDN—Content delivery network, 콘텐츠 전송 네트워크—솔루션)
AWS의 CDN(Content Delivery Network, 콘텐츠 전송 네트워크) 솔루션
빠른 콘텐츠 전송을 위한 글로벌 규모의 네트워크 : 강력한 네트워크 상의 cache 세팅을 통하여 거리 관련 콘텐츠 로드 지연을 최소화
: 강력한 네트워크 상의 cache 세팅을 통하여 거리 관련 콘텐츠 로드 지연을 최소화 S3, EC2, Elastic Load Balancing, Route 53 등과 같은 AWS 서비스와 통합되어 운영
참고로 CDN(콘텐츠 전송 네트워크)은 강력한 네트워크 상의 cache 세팅을 통하여 웹 서버와 사용자 사이의 지역적 거리를 극복하며 페이지 콘텐츠 로드 지연을 최소화하는 기능을 말합니다. 이를 통해 전 세계 사용자들이 로딩 시간을 늦추지 않고 동일한 고품질 콘텐츠를 볼 수 있습니다. S3에 CloudFront를 설정함으로써 AWS에 저장되어있는 정적 파일을 사용자에게 지연 없이 안정적으로 전달할 수 있습니다.
국제적인 기관들에게는 필수!
RDS
(Relational, “관계형”, 데이터 베이스 서비스)
Amazon의 RDS, “Relational Database Service”는 MySQL, Oracle DB, PostgreSQL과 같이 선택할 수 있는 다양한 데이터베이스 엔진을 제공하는 간단한 호스팅 서비스입니다. 구성 및 확장이 쉽습니다.
Lambda
(AWS의 serverless compute service)
서버 인프라를 프로비저닝하거나 관리할 필요 없이 Lambda 기능을 선호 언어 (Node.js, Python, Go, Java 등)로 작성하고 AWS 서비스에 업로드하여 코드를 자동으로 트리거하도록 설정하거나 웹 또는 모바일 앱에서 직접 코드를 호출
들어보셨는지 모르겠지만, 근래에 FaaS (Function as a Service) 제품 또한 인기가 높아졌습니다. 그런 붐에 더불어 “Serverless(서버를 사용하지 않는)” 모델은 개발자가 서버 인프라를 관리할 필요 없이 데브에만 집중할 수 있어 트렌드가 높아지고 있는 것이 사실인데요, 이것에 맞추어 나온 서비스 상품이 AWS Lambda, “serverless compute service”입니다.
간단한 사용 예를 들자면, JavaScript로 function 작성하고 (이미지 업로드 시 파일 압축과 다양한 이미지 사이즈 작성 등) AWS Lambda로 푸시하면, 백엔드 없이, 그 이벤트가 있을 때마다 function 실행될 수 있는 기능; 그리고 “실행 시간”에 대해서만 지불함으로 비용 절감도 가능합니다.
Lightsail
편리한 단일 가상 서버
편의적인 one-click “서버 세팅” 종류 서비스
주어진 리소스 옵션(Ubuntu, Node, Lamp stack, Nginx, WordPress, Django.. etc) 중 하나를 택하여 단일 가상 서버를 쉽게 설정
스토리지, 데이터베이스 및 CDN 등 간소하지만 종합적 서비스 제공
Digital Ocean과 같은 다른 클라우드 플랫폼이 제공하는 편의적인 one-click “서버 세팅” 서비스를 AWS이 시도해보는 신 상품으로 보입니다. 한마디로 주어진 설정 옵션 중 (거진 수요가 많은 서버 리소스들: Ubuntu, Node, Lamp stack, Nginx, WordPress, Django.. etc) 하나를 택하여 단일 소형 서버를 쉽게 설정할 수 있는 서비스입니다. 가격이 비교적 저렴하고, 간편한 세팅과 소규모로 시작한 다음 성장에 따라 확장할 수 있도록 설계되어있는점, 그리고 비교적 저렴한 가격 등에 관련하여 인기가 올라가고 있는 서비스입니다. 가상 머신(virtual machine), SSD 기반 스토리지, 데이터 베이스, DNS 관리 및 정적 IP 등을 제공합니다.
월별 3.50 USD로 시작하며, 용량이 더 필요할 때는 더 큰 패키지로 업그레이드하던가, EC2로 migrate도 가능합니다.
결론적으로
이 목록은 AWS의 많은 서비스의 시작점을 의미합니다. 서비스 이름과 종류가 참 다양한 관계로 개발자들이 개요를 이해하고 실제로 사용하면서도 사실 정말로 유용한 것을 사용하고 있는지, 아니면 다른 더 능률적인 관리 방법이 있는지는 확인하기도 어려울 수 있습니다. 이런 관계로 “DevOps”라는 클라우드 아키텍처 전문 career 카테고리가 새로 등장한 정도이니까요.
모쪼록 이 정보가 조금이라도 이해하는데 도움이 되어 오늘부터라도 실제로 필요한 몇 가지 서비스를 선택하고, 한 가지씩 배우며 나갈 수 있으시기를 바랍니다.
Happy learning!
[매뉴얼][초보자를 위한 AWS 웹구축] 6. 웹서버 (Apache) 구축
이전의 포스트에서 Nat Instance를 Public Subnet에 구축하였습니다. 이번에는 Private Subnet안에 Web Server 역할을 할수 있는 인스턴스를 구축해 보도록 하겠습니다. 즉, private subnet 안에 Instance를 구축하고 Apache(아파치)를 설치하여 웹서버의 역할을 담당하는 인스턴스를 구축할 것입니다. Nat Instance를 설치한 과정과 매우 유사합니다.
위의 아키텍처에서 보시는 바와 같이 두개의 인스턴스를 각각의 가용영역에 위치한 private subnet 1,2 에 생성할 것입니다.
1. [Services] -> [Instances] -> [Launch Instance] 클릭
2. Amazon Machine Image(AMI, 아마존 머신 이미지)를 선택함으로써 기능에 맞는 인스턴스를 선택합니다. 이 포스트에서는 ‘Quick Start’ 탭에 있는 Amazon Linux AMI를 선택하여 만들겠습니다.
3. 인스턴스의 타입을 선택하는 단계입니다. AWS는 여러가지 기능을 가지는 인스턴스들을 제공하고 있습니다 (인스턴스 유형 바로가기 -> 클릭). 그 중, t2.micro 인스턴스 타입은 프리티어 사용자를 위해 무료로 제공하고 있으므로 이것으로 구축할 것입니다. 오른쪽 하단에서 [Next: Configure Instance Details] 를 클릭합니다.
3. 인스턴스에 대해 세부사항을 설정하는 단계입니다. 1개의 인스턴스에 대해 ‘Network’란에 설정안 VPC를 선택하고 ‘Subnet’에 가용영역 2a의 private subnet1을 선택합니다. 또한 예기치못한 인스턴스 종료를 막기 위해서 ‘Enable termination protection’란의 ‘Protect against accidental termination’옆의 박스에 체크를 해줍니다. 지금은 초보자의 단계이므로 나머지는 지금은 체크하지 않고 하단의 [Next: Add Storage]클릭하여 다음 단계로 넘어갑니다
4. 저장공간을 추가하는 단계입니다. [Add New Volume]을 클릭하여 추가적인 EBS 스토리지를 추가할 수 있습니다. 여기서는 루트 볼륨만 설정만 하겠습니다. ‘Volume Type’은 ‘General Purpose SSD (gp2)’를 선택하겠습니다 (더 자세한 볼륨 타입에 대해서 ‘클릭‘). 아래 그림과 같이 설정한 후 오른쪽 하단의 [Next: Add Tags]를 클릭합니다
5. AWS 리소스를 다양한 방식으로 분류하기 위한 태그 설정을 위한 단계입니다. 할당한 태그에 따라 특정 리소스를 빠르게 식별할 수 있습니다 (태그에 대해 더 자세히 알고싶으시면 ‘클릭‘). 태그는 일반적으로 ‘Key’와 ‘Value’값으로 이루어져 있는데 임의로 지정해 주는데, 나중에 리소스를 많이 설치할 경우를 대비해서 소유자나 스택 수준을 추적하는데 도움이 되는 태그 세트를 정의하는 것을 추천합니다. 태그를 지정한 후 오른쪽 하단에 [Next: Configure Security Group]을 클릭합니다.
6.보안그룹(Security Group)을 설정하는 단계입니다. 각 인스턴스에 맞는 보안그룹을 설정해야만 하며 여기서는 구축하는 Web Instance에 대한 보안그룹 설정입니다 (보안그룹에 대해 더 자세한 설명을 원하시면 ‘클릭’). AWS의 Security Group에 대한 기본 정책은 Inbound Deny All / Outbound Any Open 입니다 (Outbound Traffic에 대한 정책설정은 보안그룹에서 할수 없고 Network ACL기능을 사용해야 합니다. 여기해 대해서는 추후 다시 포스팅 하겠습니다). 그러므로 허용할 Protocol, Port, IP를 지정하여 Inbound traffic에 대한 정책을 허용해 줍니다. 설명에 앞서 일단 밑의 그림을 살펴보겠습니다.
새로 보안그룹을 설정하는 것이므로 ‘Create a new security group’을 설정합니다. 또한, ‘Security group name’에는 임의의 보안그룹 이름을 지정합니다.
그림의 각 항목에 대해 설명하겠습니다.
Type: 네트워크 트래픽에 오픈할 일반적인 프로토콜 타입을 지정합니다.
Protocol: ‘Type’에 따라서 지정 할 수있는 항목으로 ‘Type’에서의 그 외에 필요한 protocol이 있는 경우에 사용됩니다.
Port Range: 프로토콜에 따른 port 번호와 범위를 지정할 수 있습니다.
Source: 인스턴스에 접속 할 클라이언트의 IP를 넣어줍니다. Anywhere로 선택 할 경우 전체 허용을 의미합니다. SSH의 Source에는 Nat instance의 private IP를 넣어줍니다.
지금 여기서는 Web Server를 구축하는 것임으로 모든 사용자가 접속할 수 있도록 설정하였고 서버로의 터미널접속이나 파일전송을 위해 사용하는 22번 포트는 이전 포스트에서 만들었던 Nat Server 의 IP를 기재하였습니다.
이 포스트에서는 위와 같이 설정 한 후 (필요한 경우 임의대로 바꾸셔도 됩니다) 오른쪽 하단의 [Review and Launch]버튼을 클릭합니다.
7. Web Instance에 대해 어떠한 방식으로 설정되었는지 만들기 전에 리뷰를 하는 단계입니다. 리뷰 후 수정사항이 있으면 [Previous]버튼을 눌러 수정할 수 있고 없는 경우 [Launch]버튼을 클릭합니다.
8. [Launch]버튼을 누르면 로그인 정보를 암호화 및 해독을 위한 key-pair설정에 대한 창이 하나 뜹니다. 이 창에서 새로이 key-pair를 설정 할 수 있지만 이번 포스트에서는 이전 포스트에서 만든 키페어를 사용하도록 하겠습니다 (key-pairs에 대한 자세한 설명을 위한 ‘클릭’). ‘choose an existing key pair’를 선택하시고 이전에 만든 키페어 이름을 선택해 주세요. 그리고 바로 밑의 박스에 체크 표시를 해주고 [Launch Instances]버튼을 누릅니다.
9. 생성된 인스턴스를 아래 그림과 같이 생성된 것을 볼 수 있습니다(인스턴스의 이름은 임의대로 지어주세요)
10. 위와 같은 방식으로 나머지 하나의 web instance도 생성시켜 줍니다 (다만, 가용 영역은 2c로 설정하고 같은 보안그룹으로 지정하면 됩니다)
다르게 설정해야 하는 부분을 아래 그림을 통해 볼 수 있습니다.
아래와 같이 두번째 웹서버가 2c가용영역의 private subnet2에 설치된 것을 볼 수 있습니다.
11. 방금 구축한 인스턴스에 대한 Apache설치를 Nat Instance에서 터미널접속 통해 진행해 보도록 하겠습니다.
* 이후로는 OpenVPN이 설치 되었다는 전제 하에 이루어 지는 내용입니다. (OpenVPN설치에 대해서의 문의 사항은 NDS SA팀으로 문의 주세요)
12. Nat Instance를 putty로 접속해 주시고 openVPN과 연결된 것을 확인해 주세요.
13. 연결된 것이 확인되었으니 본격적으로 web 인스턴스에 아파치를 설치해 보도록 하겠습니다. 다른 새로운 putty를 열고 Host Name에 웹 인스턴스용 IP를 입력합니다.
14. Category 란의 SSH를 클릭하여 Auth로 들어갑니다. Browse로 들어가 만들어 두었던 .ppk를 선택한 후 open합니다
15. login as로 ec2-user 를 기재합니다. 연결된 것을 확실히 하기 위하여 ping itef.org 명령어로 확인합니다
16. sudo 명령어를 사용하여 루트 권한을 줍니다. 권한이 바뀐 것이 확인 되면 yum 명령어를 통해 아파치를 설치합니다 (yum install httpd -y)
17. 설치가 완료된 것을 확인한 후 아파치를 실행합니다 (service httpd start).
18. chkconfig 명령어로 부팅과 동시에 apache를 구동하고 확인합니다.
이상으로 인스턴스에 아파치를 설치함으로써 웹서버의 역할을 하는 인스턴스를 생성하였습니다.
감사합니다,
SA팀 이현지
AWS에 대해 더 많은 정보를 얻고 싶으신가요?
NDS의 AWS 전문 엔지니어가 답해드리겠습니다.
키워드에 대한 정보 아마존 웹 서버
다음은 Bing에서 아마존 웹 서버 주제에 대한 검색 결과입니다. 필요한 경우 더 읽을 수 있습니다.
이 기사는 인터넷의 다양한 출처에서 편집되었습니다. 이 기사가 유용했기를 바랍니다. 이 기사가 유용하다고 생각되면 공유하십시오. 매우 감사합니다!
사람들이 주제에 대해 자주 검색하는 키워드 AWS – EC2 기본 사용법
- 생활코딩
- opentutorials.org
- 코딩
- coding
- 프로그래밍
- programming
- 자바
- java
AWS #- #EC2 #기본 #사용법
YouTube에서 아마존 웹 서버 주제의 다른 동영상 보기
주제에 대한 기사를 시청해 주셔서 감사합니다 AWS – EC2 기본 사용법 | 아마존 웹 서버, 이 기사가 유용하다고 생각되면 공유하십시오, 매우 감사합니다.