aws는 정말 많은 서비스를 제공하고 있는데, 그냥 개발하다보면, 마치 일반적인 호스팅 업체에서 제공하는 것과 같은 기능 밖에 사용하지 못한다.


aws를 알면 알수록, 보안적으로 안전해지고, 일단 생산성이 올라가게 된다.


그래서 aws를 공부하면서 간단히 포스팅을 해보려 한다.


aws를 쓰면 좋은 점

1. 기존의 서비스를 커버할 수 있는 많은 양의 서비스를 제공한다. 

일반적으로 사용하는 EC2를 비롯해서 database에 관련된 것들이나 , storage서비스등을 it인프라를 구축하지 않고(혹은 가상으로 간단히 구축하고) 돈으로 땜빵할 수 있다.(구축하는데도 돈이들자나!)


2. 탄력적이다. 

서비스의 인프라 규모는 초기에 사업을 시작하기전에 수요를 쉽게 예측하기 어려운데, 이에 맞춘 인프라 규모를 생각할 필요가없다. 사용자가 많으면, 그 만큼 과금되는 시스템이라 그렇다.


3. 자동화가 가능하다. 

aws의 api를 사용하면 서비스를 올리는 바닥부터(심지어 서버를 올리는 것이나, 네트워크 계층을 건드리는 것 까지) 서비스까지 자동화가 가능하다.

물론 드럽게 어렵다. 나같은 초짜에겐...

 

aws의 주요 서비스


aws는 크게 4가지의 코어 서비스를 제공하는데 

compute영역

EC2, ECR, ECS, AWS LAMBDA, ELASTIC LOAD BALANCING

EC2와 같은 가상 서버 서비스이고, lambda는 서버 구성없이 이벤트에 응당하는 코드를 실행해주는 친구다. 다른 친구들은 사용하지 않아서 잘 모르겠다.


storage영역

CloudFront, EFS, Glacier, S3, Import/Export Snowball, Storage Gateway

S3는 AWS에서 제공하는 고가용성/고내구성의 객체 스토리지서비스로 객체를 무제한으로 저장할수 있는 서비스다. 굉장히 유용하고, 가장 유명한 스토리지 서비스인 것 같다. 나머지는 잘모른다. 


database영역

DynamoDB, ElastiCache, RDS, Redshift

이중에서 RDS는 Relational Database Service의 약자로, 관계형 데이터 베이스관련 서비스이다. 아는 왠만한 rds는 다 들어가있다. 

DYNAMODB는 NoSQL db 서비스이다. ElastiCache는 Redis/Memcache같은 인메모리 데이터 베이스를 관리하는 서비스이다.


networking영역

VPC, Route53, Direct Connect

VPC(Virtual Private Cloud)는 사설 IP주소 값을 기반으로 사용자가 구성한 네트워크 영역 위에 EC2와 같은 가상 서버를 배치할 수 있도록 aws에서 제공하는 네트워크 서비다. 



보통, 서비스를 구성하는데 있어서, 이 4가지 영역에 걸쳐서 대부분의 서비스를 사용하게 된다... (그리고 각각 이용하는데마다 요금이 발생하는데, 그래서 어느정도 요금이 나올지 예상하기가 쉽지 않다 ㅠ)


AWS 물리 인프라(Region, AZ, Edge)


aws는 물리 인프라 단위를 Region, AZ, Edge 세가지로 분류하고 있는데, 

AZ는 Availability Zone의 약자로 흔히 데이터 센터라고 보면 된다. 각 AZ는 물리적으로 완전히 독립된 객체이다. 


Region은 두 개 이상의 AZ로 구성되어 있는 동일 지역의 집합체라고 정의 할 수 있는데, 우리가  한국에서 서비스를 하고자한다면 가장 가까운 Seoul Region을 선택하는게 여러므로 유리할 것이다. Region 별로 각 서비스의 가격이 다르며, 서비스도 제공이 되는 것, 안되는 것이 있다. 


세번째 단위는 Edge로 잘 모르겠다. 


aws과금 방식


aws에는 엄청나게 다양한 과금 요소가 있지만 대표적인 과금 요소는 3가지로, Compute, Storage, Data Transfer이다. 이것도, 어떤 서비스를 사용하는지에 따라서 과금 방식이 차이가 나지만, Compute의 경우에는 기본적으로 인스턴스를 유지하는 시간당 비용이 발생한다. 여기서 유지하는 시간이란 해당 인스턴스가 실행되고 있는 시간을 뜻한다.(컴터켜졌으면 돈내라는 것) storage는 용량에 따라 과금하고, Data Transer의 경우 전송량에 비례해 과금이 발생한다.


대부분의 요금들이 On Demand이고, 사용량이 늘어나면 늘어날수록 더 낮은 단가에 제공한다. 또한, 약정을 통해서 과금량을 더 줄일 수도 있다



'개발 > AWS' 카테고리의 다른 글

공짜로 서비스 배포하기 Lambda로 서비스 배포하기 (1)  (0) 2023.02.05
aws IAM  (0) 2017.08.17
aws에서 결제 알람 받기  (0) 2017.01.23
AWS 준비하기  (0) 2016.10.23

 웹 쪽을 시작하기 앞서서 일단 웹! 하면 서버!기때문에


AWS를 준비하도록 한다.


사실 AWS는 꽤 자주 사용해 봤는데 제대로 사용하는 법은 잘 모른다. 


매번할때마다 까먹고 다시 구글링해서 보고... 



그래서 준비하는 AWS준비하기


https://aws.amazon.com/


일단 AWS에 들어가서 가입한다. 대충 로그인 하려고 하면 아래와 같은 창이 뜨는데 


계정 만드는 부분은 스크린샷을 안찍어둬서... 


걍 하면된다. 새사용자로 클릭,클릭,클릭, 하고 넘어가다가 신용카드나 체크카드를 요구한다.


돈을 뜯어가겠다는 건데 등록을 안하면 EC2(인스턴스를 관리하는 곳)을 열어주지 않는다.


따라서 무조건 등록해줘야한다.



카드를 처음 결제하는 사람일 경우에는 이 부분에서 막힐수가 있는데(이게 뭔소리지... 하는)


credit card number는 체크카드 앞면의 xxxx xxxx xxxx xxxx 하고 나와있는 것들을 의미하고 


날짜는 그 밑에 xx/xx라고 나와있는 게있는데 그걸 순서대로 넣어주면 된다. 


이름은 아마 선택사항이었던 것 같다.


그리고 그렇게 1달러가 들게 됩니다. 


아무튼 이렇게 AWS를 가입하고 나면 이제 EC2에 입장할 수 있는데 


아래와 같은 화면을 볼 수 있다.


빨간색 동그라미 위치에서 위치를 변경할 수 있고 (서울, 도쿄 등등 있다.)


파란색 동그라미로 이제 우리가 원하는 인스턴스를 만들 수 있다.


인스턴스란 복잡하게 생각할 필요는 없고 그냥 간단하게 컴퓨터를 만든다고 생각하면 된다.


인스턴스를 누르면 아래와 같은 창이 뜬다.



OS나 기타등등을 선택하고 추가 옵션을 뭐넣을건지, 스토리지는 얼마나 쓸 건지 등 결정할 수 있다. 


잘모르겠으면 그냥 우분투 선택하고 런치 시키면된다. 연습 단계에서는 하등 상관 없을 것 같다.


이 대 뭐시기 key를 발급 받을 꺼냐고 물어보는데 간단히 말하자면 그야말로 열쇠다.


여러분이 만든 key를 통해서 인스턴스에 접속 할 수 있고 따라서 key관리를 잘 해야한다.


이미 존재하는 키가 없다면 새로운 키를 발급받으라고 나오는데 


역시 이름짓고 하라는데로 하면 키를 생성하고 인스턴트를 실행할 수 있을 것이다.


그 후에 이제 우측 중간에 있는 메뉴 중에서 instances를 선택해 보자. 






하나가 생성되어 있을 것이고 기본셋팅중이 들어올 것이다. 


이때의 instance state가 노란불이 들어와 있을 것이다. 


이 불이 녹색으로 변경되면 ssh 나 putty 를 통해서 간단히 접속할 수 있다.


인스턴트 row에 우클릭을 하면 Connet라는 버튼이 나오는데 클릭하면 접속할 수 있는 방법이 안내 돼 있다.

간단히 설명하자면 

3. chmod xxxxxx.pem

이라고 되어 있는 것은 키의 권한을 바꾸는 거고( 보통 sudo를 쳐줘야 잘 작동한다. 주의) 

4. ~~~DNS 

라고 되어 있는건 그걸로 접속 할 수 있다는 거다. 

터미널에서 ssh를 사용할 수 있다면 example의 ssh -i xxxxx 부분을 그대로 복사해서 터미널에 쳐주면 된다.

sudo만 잊지 않으면 잘 작동한다. 



주의할 사항이 있는데 security groups을 설정해줘야한다. 일반적으로 HTTP를 사용할 꺼라면 security Groups에 HTTP 프로토콜을 사용하고 80번포트(고정)을 받을 것이라고 설정해줘야한다는 의미

django등에서는 일반적으로 custom HTTP 포트 8000 번을 개방하라고 한다. 

django  관련해서는 다른 포스트에서 다루기로 하겠다.




'개발 > AWS' 카테고리의 다른 글

공짜로 서비스 배포하기 Lambda로 서비스 배포하기 (1)  (0) 2023.02.05
aws IAM  (0) 2017.08.17
aws 시작하기  (0) 2017.08.17
aws에서 결제 알람 받기  (0) 2017.01.23

+ Recent posts