IT/AWS

반응형

AWS Lambda!


서버리스 아키텍트(Serverless Architect)

 

서버리스(Serverless)
개발자가 서버를 직접 관리할 필요 없이 애플리케이션을 빌드하고 실행할 수 있도록 하는 클라우드 네이티브 개발 모델
문자 그대로 서버가 진짜 없는 것이 아니라 추상화된 것

 

서버리스 서비스의 경우 클라우드 서비스를 제공하는 기업에서 서버를 관리하기 때문에 사용자는 스케일링 등의 관리를 하지 않고 전적으로 서비스와 어플리케이션 개발에 집중할 수 있습니다.

 

서버리스 아키텍트의 장단점

장점 단점
서버 관리가 불필요
(자동 확장, 장애 방지)
다른 클라우드 컴퓨팅 자원보다 비쌈
(시간당 비용으로 계산했을 경우)
개발한 코드에만 집중 가능 트리거 호출과 동시에 서버가 세팅되어 속도가 느림
사용한 만큼만 과금(BaaS, FaaS) 장기적인 작업에 적합하지 않음
급격한 트래픽 변화에 유연 함수의 처리 결과에 따라 상태를 따로 저장

 

서버리스의 2가지 서비스 형태

서비스 형태 BaaS(Backend as a Service) FaaS(Function as a Service)
개요 백엔드 개발에 필요한 기능들을 API 형태로
제공하는 서비스
기능을 하나의 함수로 구현
커스터마이징 커스터마이징 어려움 로직을 개발자가 작성하므로 커스터마이징 가능
특징 빠른 개발 가능 업로드한 코드를 함수 단위로 쪼개어 대기상태로
두었다가 Request가 있을 때마다 실행시켜 처리
대표 서비스 Google Firebase AWS Lambda, NCP Cloud Functions

 

AWS Lambda

  • AWS 람다는 서버를 프로비저닝하거나 관리하지 않고도 코드를 실행할 수 있게 해주는 컴퓨팅 서비스
  • 함수 실행 시간은 최대 15분으로 짧은 이벤트 기반 워크로드에 적합
  • 코드가 실행되지 않을 때는 요금이 부과되지 않음

간단하게 예제를 통해 살펴봅시다.

 

AWS 콘솔에 접속해서 Lambda를 사용해봅니다.

위의 검색란에서 Lambda를 찾아보세요

 

함수를 생성해봅니다

 

런타임에서 사용할 언어를 선택하고 함수를 생성합니다

 

 

함수를 생성하면 하단의 코드 소스란에 예시가 작성되어 있습니다.

 

정상적으로 작동하는지 테스트란에 들어가서 실제로 실행해봅시다.

Hello from Lambda!

Nodejs나 Python과 같은 언어는 코드 소스란을 통해 바로 수정 및 테스트가 가능하지만 Go lang의 경우 코드 소스 란이 없고 대신 zip파일을 업로드하거나 Amazon S3를 통해 업로드하는 형태로 Lambda를 사용할 수 있습니다.

 

 

 

반응형
반응형

비버야 오랫만이야


업무를 하며 AWS 상에서 프로젝트 구축을 진행중에 VPC와 AZ 그리고 Jumpbox를 사용한 원격 액세스에 대해 공부해보았습니다. 이를 활용해서 AWS상에 올려놓은 DB 서버에 DBeaver와 Jumpbox를 통해 접속하여 DB table을 확인하는 부분까지 진행해보도록 합시다.

 

AWS 상에서 VPC(Virtual Private Cloud) 환경을 구축합니다. Internet Gateway를 두고 Public과 Private Subnet을 각각 둡니다. 우리는 Jumpbox를 통해서만 Private subnet에 접속하려고 합니다. 보안을 위해서요.

 

이미 구축된 DB table에 접근하도록 Jumpbox 접속을 한 상태에서 DBeaver를 사용해보도록 합시다. 제 PC 환경이 Windows이므로 MacOS의 경우 조금 다를지도 모르겠습니다. (큰 차이는 없겠죠? 요즘 제 iMac은 앱개발이 끝나고 휴식을 취하고 있습니다..)

 

DBeaver에서 Database 연결을 시작합니다. PostgreSQL을 선택합니다. (참고로 AWS Aurora PostgreSQL의 경우 PostgreSQL 10.14 버전과 호환됩니다.)

 

 

Host와 Port, Database에 각각 할당된 값을 입력해주시고 Authentication에 사용자명과 패스워드를 입력해줍니다.

 

 

 

SSH 탭으로 넘어가서 Jumpbox 포트를 입력해줍니다.

 

 

접속 후에 우리 코끼리 옆 드롭다운 버튼을 클릭해서 정상적으로 작동되는지 확인합니다.

 

성공!

 

회사 프로젝트가 끝나면 개인적으로 VPC 환경 세팅 전체를 다시 미니 프로젝트로 진행해보고 디테일하게 남겨보려합니다. 그 때 세부적인 환경세팅 등을 공유할 수 있도록 할께요.

반응형

'IT > AWS' 카테고리의 다른 글

[AWS] Serverless architect와 AWS Lambda  (0) 2022.04.27
AWS 따라하기 - AWS EC2 시작하기!  (0) 2021.09.03
AWS 따라하기 - Promotion Credits 신청하기!  (0) 2021.09.01
반응형


Amazon Elastic Compute Cloud !

 

AWS 서비스들 가운데에서도 가장 유명하고 기본적인 서비스 중 하나로 EC2가 있습니다. AWS EC2Amazon Elastic Compute Cloud의 약자로 AWS 클라우드에서 확장 가능한 컴퓨팅 스토리지를 제공하는 서비스를 말합니다. EC2에서 원하는 사양의 인스턴스를 생성하여 가상 서버를 구축하고, 네트워킹 및 보안 구성과 스토리지 관리를 할 수 있습니다. 트래픽이 늘어나면 그 필요량만큼의 인스턴스를 생성하여 대응할 수 있고, 필요없어진 인스턴스는 종료하면 일정 시간 후 자동으로 삭제되어 과금되지 않습니다. 우리가 일반적으로 아는 가장 기본적인 클라우스 서버의 기능을 생각하시면 될 것입니다.

 

AWS EC2는 쉽게 배울 수 있고, 빠르게 사용이 가능하며, 프리 티어 유저분들의 경우 12개월간 특정 인스턴스를 무료로 사용하실 수 있습니다. 이전에 포스팅한 프로모션 크레딧을 사용하시면 더욱 좋을 것입니다.

 


 

 

우선 AWS EC2를 사용하기 위해서 콘솔 가입을 해주시고, 로그인 하신 후에 서비스 중 EC2를 선택해서 접속해주세요. 저는 자주 쓰는 서비스들 중 하나기 때문에 즐겨찾기 해두었습니다.

 

인스턴스를 비워둔 상태로, 처음 접속하시면 저와 똑같이 이렇게 보이실 것입니다.

 

NEW EC2 Experience가 적용되어 이전의 UI와 조금 다릅니다만 이전에 사용하셨던 분들도 사용하시기에는 큰 차이가 없습니다. 위의 화면은 EC2 대시보드라고 부릅니다.

 

 

EC2 사용을 위해 인스턴스를 생성해보도록 하겠습니다. 우측 상단의 인스턴스 시작을 눌러줍니다.

 

 

EC2를 사용하기 위해서 먼저 OS, App Server, App이 포함된 AMI를 선택합니다. 각 OS별로 프리 티어 사용가능 여부가 표시되어있으므로 확인하시고 프리 티어 사용자 분들께서는 프리 티어를 사용해보시는 것을 추천드립니다.

 

 

Amazon Linux 2와 같은 자체 Linux OS부터 Ubuntu, Red Hat, Debian, MS Server 등 다양한 OS 선택이 가능합니다. 프리 티어만 따로 보기도 가능합니다. 원하는 OS와 Application이 있는 사양을 선택하시면 됩니다.

 

 

프리 티어 사용 가능한 항목은 별도의 표시가 되어있습니다. t2 micro 유형이 프리 티어 사용 가능 항목이며 t2 부터 z1d 까지 정말 많은 종류의 인스턴스가 있습니다. 사양별로 선택이 가능하도록 잘 분류되어있습니다.

 

각 스펙별로 세분화하여 등록되어 있어 원하는 인스턴스를 자유롭게 선택 가능합니다.

 

다음 보안 그룹을 구성해줍니다. 

 

 

왼쪽 하단의 규칙 추가를 통해 원하는대로 규칙을 추가할 수 있으며 한 번 생성한 보안 그룹은 이후의 다른 인스턴스를 만들때 다시 활용이 가능합니다. 

 

 

HTTP와 IMAP, POP3와 같은 다양한 유형을 선택할 수 있으며 사용자 지정 TCP를 통해 TCP 포트 범위를 별도 지정하여 활용할 수 있습니다.

 

 

나머지 구성을 모두 끝내면 키 페어 생성 또는 선택 창이 뜹니다. 여기서 생성되는 키는 해당 인스턴스에 접속할 때 필요하므로 안전하게 잘 보관해주시고 유출되지 않도록 주의해야할 것입니다. 또 혹시 실수로 지우거나하는 경우 해당 서버에 접속이 안되니 관리에 특별히 신경써야합니다. 원하는 폴더에 잘 보관하셔서 키를 생성 혹은 기존에 생성하신 키 페어를 선택하신 후에 인스턴스를 시작할 수 있습니다.

 

 

다음과 같이 인스턴스가 생성되고 실행 중 상태가 뜨면 접속이 가능합니다.

 

 

인스턴스를 우클릭하고 연결을 선택하시면 다음과 같이 4가지 연결 방식 중 하나를 선택하여 우리가 방금 생성한 인스턴스에 연결할 수 있습니다.

 

성공적으로 접속되었으니 테스트 삼아 docker 설치도 해보았습니다.

 

 

터미널이나 cmd창에서 접속하기 위해서는 키 페어를 저장하고 있는 디렉토리로 가셔서 다음 명령어를 통해 접속이 가능합니다.

 

ssh -i /path/my-key-pair.pem my-instance-user-name@my-instance-public-dns-name

 

일반적으로 연결할 때 SSH 클라이언트를 클릭해보면 쉽게 명령어를 복사 붙여넣기 할 수 있도록 되어있으니 참고해주세요.

 


 

우리는 몇 번의 클릭만으로도 아주 간단하게 AWS EC2를 시작해볼 수 있었습니다. 이제 EC2를 활용해서 클라우드 컴퓨팅을 직접 체험해보세요!

반응형
반응형


 

AWS를 처음 접하신다면 일단 AWS의 제품들을 사용하기에 앞서, 우선 프리티어 사용가능 여부를 확인하시기 바랍니다.

 

AWS Free Tier의 유형. AWS 홈페이지에 자세한 안내가 있습니다!

 

AWS 프리티어 오퍼는 AWS 신규 가입자에게 12개월간 무료로 제공되는 서비스들을 활용할 수 있도록 하는 서비스입니다. 12개월동안 모든 제품군을 무료로 쓸 수 있다는 것은 아닙니다. 처음 사용을 시작한 시점부터 일정 기간까지만 무료 사용이 가능한 평가판 제품군이 있고, 언제나 무료로 사용가능한 제품군도 존재합니다. 

 

대표적으로 AWS의 EC2 (Elastic Compute Cloud) 는 750시간의 인스턴스를 제공하고, S3 (Simple Storage Service) 의 경우 5GB의 표준 스토리지 용량과 함께 PUT Request 2000건, GET Request 20,000건을 제공합니다. 제가 주로 사용하는 두 제품군의 경우는 위와 같습니다만, 다른 수많은 프리티어 제품군이 있고 각각의 무료 사용 한도나 기간 등이 다르기 때문에 필요하신 서비스는 직접 확인해보시는 것이 가장 좋습니다.

 

먼저 계정을 처음 생성하여 AWS를 사용하실 분들은 제가 설명드릴 Promotion Credits를 바로 등록하지마시고 프리 티어를 통해 경험해보시고 충분히 AWS에 적응이 되고 난 후에 사용하시는 것이 좋을 것입니다.

 

Promotion Credits를 등록하시게 되면 AWS의 다양한 제품군에 사용이 가능한 $300 크레딧을 받을 수 있습니다. 유료로만 사용가능한 Blockchain, IoT 등의 제품군을 경험해보시기 좋은 기회가 될 것입니다. 등록 방법은 매우 간단합니다.

 

우선 AWS 계정을 생성하시고, 생성하신 분들은 아래의 사이트로 접속하신 후에 AWS 프로모션 크레딧 신청 양식을 작성해주시면 됩니다.

 

 

크레딧 신청하기

 

클라우드 서비스 | 클라우드 컴퓨팅 솔루션| Amazon Web Services

개발자, 데이터 사이언티스트, 솔루션스 아키텍트 또는 AWS에서 구축하는 방법을 배우는 데 관심이 있는 모든 사용자용 무료 온라인 교육 AWS 전문가가 구축한 500개 이상의 무료 디지털 교육 과정

aws.amazon.com

 

작성하시고 나서 승인되면 $300 크레딧이 승인되었다는 메일이 도착합니다.

 

$300 크레딧을 받았습니다!

 

메일이 혹 도착하지 않으셨더라도 확인하실 수 있는 방법이 있습니다. aws 콘솔에 로그인 하셔서 자신의 아이디를 클릭해보시면 다음과 같은 창이 뜹니다

 

내 결제 대시보드로 가서 

 

 

크레딧란을 클릭합니다.

 

 

크레딧란에 $300 크레딧이 정상적으로 들어와있음을 확인하실 수 있습니다.

 

 

반응형

+ Recent posts