[AWS] VPC 만들기

서버/AWS 2017. 12. 21. 11:46

AWS에서 이것저것 지우다가 VPC도 지워버렸다. 서브넷도 지웠다. 

뭔지는 몰랐지만, 매우 중요한 것임에는 틀림없다. 

이것이 없어서 EC2인스턴스조차 생성하는데 에러가 발생하였다.

옆에 새 VPC 생성 링크를 클릭해서 VPC 대시보드로 이동한 뒤, 직접 만들 필요없이 기본 VPC만들기를 클릭!

이렇게하면 자동으로 생성된다. 

굳이 직접 만들어서 문제가 발생할 수 있으니, 디폴트 값으로 자동 생성을 추천~



 



Posted by sungho88
,

(참고 자료)

참고 블로그01

참고 블로그02(공홈)


먼저, ELB는 Elastic Load Balancing의 약자. 

EC2를 대상으로 여러대의 EC2 인스턴스로 자동으로 분배하여 웹 트래픽을 분산시켜 주는 역할을 함.


1. 두개의  EC2를 먼저  생성한다. 생성시 Security Group에서 HTTP를 반드시 설정하도록 하자. 


2.왼쪽 탭에서 로드 밸런스를 선택, 로드 밸런스 생성 버튼을 눌러서 진행.



3-1) 원하는 유형을 선택한다. 고성능을 사용할 것이 아니므로 클래식 로드 밸런서를 선택하였다.



3-2) 로드 밸런서 정의에서 로드 밸런서 이름을 기입한다. 그 외에는 건들지않고 다음 버튼 클릭~


하단에 로드 밸런서 포트와 인스턴스 포트


로드 밸런서 포트 : 사용자가 ELB로 접속하는 포트

인스턴스 포트 : ELB에서 웹 서버 인스턴스로 보낼 때 접속하는 포트 


3-3) 보안 그룹 할당! 기존 보안 그룹을 선택할 것인지, 새 보안 그룹을 생성할 것인지 선택!



3-4) 모르겠다. 그냥 패스하고 다음을 클릭하자.



3-5) Ping 경로를 /index.html이 아니라 /으로 변경하자. 그 외에는 그냥 기본으로 두고 넘기자.



3-6) ELB를 통해 로드 밸런스로 등록할 EC2를 체크한다. 하단에 체크는 그대로 놔둔자..


교차 영역 로드 밸런싱 활성화 :

연결 드레이닝 활성화 :


3-7) 태그는 옵션이므로 추가하지 않아도 된다. 그냥 패스~


3-8) 여태까지 했던거 설정 검토!





테스트 타임~


맨 위에서 만들었던 두 개의 인스턴스에 각각 node.js를 설치한다.

적당한 경로에 app.js라는 파일을 생성한다.

그 다음에 서버를 생성하기 위해 다음과 같은 코드를 붙여넣는다.


var http = require("http");

  

http.createServer(function(request, response) {

   response.writeHead(200, {"Content-Type" : "text/html" });

   response.write("Hello ELB - Instance01");

   response.end();

}).listen(80);


response.write("Hello ELB - Instance01");

이 부분을 각각 인스턴스에 다르게 쓴 뒤에 


node app.js를 입력하면 서버가 실행된다.


이제 접속하면 ELB가 적용된다.



Posted by sungho88
,

윈도우에서 Putty를 쓰다가 Mac을 사용하니 미친듯이 쉽다.


먼저, 인스턴스 즉, EC2만든 곳으로 가면 인스턴스 생성 옆에 연결(Connect) 버튼이 존재한다.


연결 버튼을 누르면 연결 방법이 나온다.


첫 번째. 터미널을 오픈한다.(Command + Space한 뒤, 터미널 또는 terminal로 검색)

두 번쨰. EC2 생성할 때 만들었던, 또는 기존에 존재하는 .pem 파일이 존재하는 경로로 이동한다.

세 번째. 그 경로에서 chmod 400 파일이름.pem 을 입력한다.

네 번째. 아래와 같이 예 : 라고 쓰여진 오른쪽 문장을 터미널에 붙여넣는다.


이렇게하면, 터미널에서 접속이 진행되며 yes/no를 물어본다. 이 때, yes를 입력하면 바로 로그인 완료!


이상으로 맥에서 EC2 인스턴스에 접속하는 방법을 정리해보았다.

윈도우의 경우


Puttygen을 찾아서 다운받고,Putty도 다운받고,다시 Puttygen에서 복잡한 과정을 통해

.pem파일을 .ppk로 변경한뒤에 다시 Putty를 열고 생성한 .ppk파일을 더 복잡한 과정을 통해 등록한 뒤에

다시 AWS에 들어가서 IP주소를 복사해서 PUTTY에 붙여넣고 접속.


너무 어렵다.

맥 짱

Posted by sungho88
,

http://oyeahhh.tistory.com/97

http://blog.naver.com/PostView.nhn?blogId=dme1004&logNo=220857327544&parentCategoryNo=&categoryNo=13&viewDate=&isShowPopularPosts=true&from=search

https://bitnami.com/forums/forums/lampstack/topics/lampstack-unable-to-run-etc-init-d-apache-restart



1. root 권한

sudo bash


2. Bitnami 사이트 접속해서 

https://bitnami.com/stack/lamp/installer


3. Linux Version 선택 Download 버튼 우클릭 후 링크 주소 복사

https://bitnami.com/redirect/to/157571/bitnami-lampstack-7.0.22-1-linux-x64-installer.run

 

4. wget 복사한 링크 주소 붙여넣기(리눅스에 입력)

wget https://bitnami.com/redirect/to/157571/bitnami-lampstack-7.0.22-1-linux-x64-installer.run



5. chmod 명령어를 사용하여 권한을 변경해 준다.

sudo chmod 700 bitnami-lampstack-7.0.22-1-linux-x64-installer.run

 


6. lamp를 설치 한다.

sudo ./bitnami-lampstack-7.0.22-1-linux-x64-installer.run


7. 설치할 때 PhpMyAdmin을 제외한 나머지는 설치 하지 않는다. 전부 n 를 해준다. Bitnami의 설치 위치를 변경하지 않는다면 엔터 해준다. ( 기본은 /opt/lampstack-버전 )


8. MySQL의 root 사용자의 비밀번호를 설정해 준다.

 

9. 설치 완료하면 실행 시켜 준다~

Posted by sungho88
,

EC2의 개념정리


EC2는 Elastic Compute Cloud의 약자.

아마존 웹 서비스(AWS)에서 가장 중요한 서비스이다.


한 대의 컴퓨터를 임대한다는 개념이며 특별한 컴퓨터도 아니다. 

우리가 흔히 사용하는 컴퓨터와 같다고 할 수 있으며, 

실제 컴퓨터로 할 수 있는 광범위한 작업들을 EC2를 통해 작업을 할 수 있다.


다만, EC2는 물리적이 아니라 아마존에서 세계 각 지역에 만들어놓은 인프라(데이터 센터)에 

만들어지는 것이기때문에 네트워크를 통해 제어를 해야한다.

(참고로 2016년. 서울에도 데이터 센터가 생겼다. 좀 더 빨라지지 않을까?)


AWS의 경우 클릭 몇 번만에 컴퓨터 1대를 설치할 수 있으므로 편리하다.

또한, 컴퓨터가 필요없게 됐을때 클릭 몇 번만에 컴퓨터를 설치할 수 있으므로 편리하다.

즉, 유연하며, 탄력이 있는 컴퓨팅이 가능하다.

EC2에 Elastic도 "탄력이 있는, 유연한" 이라는 뜻이다. 그래서 EC2로 이름을 만들은 것일수도 있겠다.

즉, 컴퓨터 생성 및 삭제가 매우 쉽다.


자신이 선호하는 OS를 설치하고, 웹 서비스를 위해 필요한 프로그램(웹 서버, DB)을 설치하면 된다.


EC2를 통한 가장 기본적인 업무는 


웹서버를 설치하고 이 웹서버를 통해서 

사용자가 웹브라우저를 통해 요청하는 웹페이지나 이미지, 동영상 등을 제공하는 것이다.


인스턴스란 1대의 컴퓨터를 의미하는 단위이다.



결론.


특징


1. 인터넷을 통해서만 접속을 할 수 있다.

2. 컴퓨터 주문 후 1분안에 생성이 가능하며 삭제 역시 즉시 제거가 가능하다.

3. 초기 구입비가 전혀 없고, 사용한만큼 비용을 지불하면 된다.

4. 컴퓨터를 사용할때 프로그램 설치, 파일 저장, 설정 변경... 이 상태 그대로 저장이 가능하다.

이를 이미지라고 한다. 이 이미지를 이용해서 새 컴퓨터를 만들면 저장된 상태와 똑같은 컴퓨터를 

생성할 수 있다. 컴퓨터를 생성할때마다 반복적으로 설치하는 작업을 하지 않아도 되는 것이다.


AWS에서 EC2 서비스 - 인스턴스를 생성하는 방법은 이미 블로그에 작성을 해놨다.


인스턴스는 AWS에서 컴퓨터 하나를 의미한다.

인스턴스를 4개 생성한다는 표현은 4개의 컴퓨터를 AWS 인프라 위에 생성한다는 뜻이다.

 



EC2와 웹 서버


다시 말하면,

EC2의 인스턴스는 한 대의 독립적인 컴퓨터이기 때문에 뭐든 일을 EC2로 할 수 있다.

하지만, AWS를 위해 고안된 인프라 서비스이고, AWS에서 제공하는 서비스 중에 웹서버 역할을 할 수 있는 서비스는 EC2밖에 없기때문에 가장 중요한 기능은 역시 웹서버라고 할 수 있다.

즉, 인스턴스에 웹서버를 설치하는 방법에 대해 알아보고, 웹서비스를 하는 방법에 대해 알아보자.


웹서버인 Apache를 설치하기위해 SSH를 통해 인스턴스에 접근을 해야한다.

이것역시 이전에 블로그에 작성해놨다.


PUTTY를 이용하여 인스턴스에 접근하는 방법



이와같은 Welcome to ubuntu  ~~~~~~

라고 나온다면 정상적으로 접속한 것!!!!



접속을 완료했다면, 다음과 같은 명령어를 입력한다.



sudo apt-get update;


뭔가 쭉쭉쭉 쫙쫙쫙 올라가면서 자동으로 뭔가가 설치된다.

설치되어있는 모둔 패키지를 새 버전으로 업데이트 시키라는 명령어다.



sudo apt-get install apache2;

아파치(Apache) 웹서버가 설치되었다.



정리.


Linux 기반의 ubuntu 환경의 인스턴스를 만들었고, 그 위에 아파치를 설치했다.

이제 접속이 되는지 테스트를 해봐야겠다.


웹브라우저에 Public DNS 주소를 쳐보자.



이런 화면이 나온다면 정상적으로 동작하고 있는것이다!!!!!!!!!!!










Posted by sungho88
,

아마존 웹 서비스(Amazon Web Service)는 줄여서 AWS라고 부른다.


클라우드(Cloud) & 아마존 웹 서비스(AWS)

- 인프라 제공하는 역할을 하고, 웹 서비스를 해야하는 개발자들은 이 인프라를 임대하여 사용한다.

- 즉, 서버의 구매, 구축, 운영을 대행해주는 서비스이다.(웹 호스팅과 유사함)

- 탄력적인 인프라 운영(사용자의 폭주 시 서버의 성능, 갯수를 유동적으로 빠르게 변경이 가능하다)

- 사용한만큼 과금하는 방식이다.

  

EC2 

- Elastic Compute Cloud

- 쉽게말해 1대의 독립적인 컴퓨터를 임대한다고 생각하면 된다. 평범한 컴퓨터처럼 사용할 수 있다.

- 다만 물리적인 컴퓨터가 아니라 가상의 컴퓨터이다.

- Linux, Window 운영체제 제공한다.

- 웹서버 또는 애플리케이션 서버로 사용된다.


S3

- Simple Storage Service

- 파일 서버라고 할 수 있다.(이미지나 동영상을 갖고 있다가 제공)

- EC2에도 할 수 있지만, S3의 경우 특정 변경없이 무제한 저장이 가능하기 때문에 주로 사용된다.

- 스케일은 아마존 인프라가 담당하기때문에 편리하다.

- 1바이트 ~ 5테라 바이트의 단일 파일을 저장하는 것이 가능하다.


RDS

- Relational Database Service

- MySQL, Oracle, MsSQL 등등이 존재한다.

- DB를 쉽게 운영할 수 있게해주는 서비스이다.

- 백업, 리플리케이션과 같은 것을 아마존 인프라가 자동으로 제공한다.


EDB

- Elastic Load Balancing

- EC2로 유입되는 트래픽을 여러대의 EC2로 분산하는 기능을 한다.

- 장애가 발생한 EC2를 감지해서 자동으로 배제하는 기능을 한다.

- Auto Scaling 기능을 이용해서 EC2를 자동으로 생성 및 삭제를 한다.


위와 같은 서비스들을 조합해서 웹 서비스를 만들면 되는것이다.

AWS를 제어하는 방법에는 세 가지가 존재한다.


첫 번째. AWS Management Console

두 번째. CLI

세 번째. SDK


(1)AWS Management Console

웹에서 접속하기 때문에 언제 어디서든 접속이 가능하며 다른 것들에 비해 쉽고 사용하기 편하다.

하지만, 일부 기능의 경우 CLI를 통해서만 제공되기떄문에 상호보완적인 관계라 할 수 있다.


(2)CLI

Command Line Interface의 약자로 명령어를 이용해서 서비스를 제어한다.

아이콘과 같은 GUI 환경이 컴퓨터 세계를 장악했지만, 코딩으로 해야하는 부분이 존재한다.


(3)SDK

Software Development Kit의 약자로 각 언어(Java, Python, PHP ..)별로 AWS를 프로그래밍으로 제어할 수 있는  API 묶음이다. 이를 이용해서 AWS 인프라를 제어할 수 있는 명령어라고 할 수 있다. 

Posted by sungho88
,