본문 바로가기
반응형

Cloud Services22

소규모 서비스를 위한 호스팅 서버 준비하기 # 가상서버 리눅스 호스팅 오늘은 앱서비스개발을 위해서 최소한의 비용으로 서버를 준비하는 방법에 대해서 정리해 보도록 하겠습니다. 1. Why Hosting? 호스팅서비스의 경우 비용을 제어할 수 있다는 장점이 가장 큰 것 같습니다. 월 얼마정도로 맞추어놓고 그에 맞게 사용하면됩니다. 저처럼 개인개발자의 경우, 사용한만큼 과금되는 형태는 분명 신경이 쓰여지는 부분입니다. AWS에서도 EC2같이 호스팅서비스를 제공하고 있습니다. 하지만 매번 환율에 따라 가격도 달라지고 이런저런 작은 비용들이 붙습니다. 게다가, AWS의 UI가 편하다고 생각된 적은 한번도 없었구요. 국내업체에서 가상서버호스팅을 사용할 경우, 설치비와 매월 얼마씩해서 결재해놓으면 그것으로 요금에 대해서는 걱정 끝입니다. Docker가 생긴 요즘같은 시대에 서비스가 커.. 2021. 10. 15.
AWS Lambda 사용하는 방법 # Gateway와 연동 오늘은 AWS의 Lambda를 사용하는 방법에 대해서 정리해 보도록 하겠습니다. 1. Lamda의 단위는 함수 EC2의 경우는 한대의 서버인 Instance를 on/off시켜서 사용했었는데요. Lamda는 컴퓨터를 켜고 끄는 개념이 없으므로, 하나의 함수를 생성해서 그것을 사용하는 개념입니다. 하나의 기본단위를 Lambda라고 보면 되겠네요. 2. 요금 가장 중요한 요금 먼저 알아보도록 하겠습니다. 먼저 Free Tier의 경우를 보도록 하겠습니다. Free Tier의 경우는 아래까지는 무료로 사용할 수 있는데요. 구분 FreeTier해당건수 요청건수 월별 무료 요청 1백만 건 컴퓨팅 시간 월별 400,000GB-초 컴퓨팅 시간 요청 건수 또는 100밀리초당 시간당으로 요금을 측정합니다. 2. Lambd.. 2021. 4. 21.
AWS Cognito 로 앱 로그인 구현을 준비하기 # UserPool 오늘은 AWS의 Cognito를 사용하는 방법에 대해서 알아보고, 추후 안드로이드 앱에서 적용할 수 있도록 설정해 보도록 하겠습니다. 먼저 Cognito에 대해서 간단히 알아보고 설정화면을 보도록 하겠습니다. 1. AWS Cognito 회원가입과 로그인 기능등의 유저인증기능을 서버에서 구현하는 것은 상당한 노력과 시간이 필요합니다. 그것을 AWS의 API를 이용해서 구현하여 보안문제에 들어가는 것을 시간과 인건비를 AWS의 요금과 바꾸는 서비스가 Cognito입니다. 큰 기업에서는 서버팀이더라도, 보안팀을 따로 두고 관리하는데요. 이 서비스를 이용하면, 꼭 이메일가입뿐만이 아니라, FaceBook등의 SNS서비스를 통한 가입도 구현이 가능해 집니다. 사실 Gmail서비스를 가지고 있는 Google의 Fi.. 2021. 4. 11.
S3 서비스에 대한 정리 # S3 버킷 AWS 오늘은 AWS의 S3서비스에 대해서 정리해보도록 하겠습니다. 1. S3 S3는 Simple Storage Service를 의미합니다. 간단한 저장 서비스라는 것이지요. 단순히 저장에 대한 서비스만 제공하는 것이 아니라, 저장한 데이터를 안전하게 분산하여서 99.999999999% Durability를 제공해준다고 합니다. 간단하게는 보면 S3는 우리가 저장하고자하는 파일과 폴더를 Bucket이라고 하는 단위에 저장하고, 이 Bucket은 여러 지역의 AWS서버들에 분산되어서 안전하게 저장되어집니다. 2. Bucket S3에서는 프로젝트별로 Bucket을 구분합니다. 각각의 Bucket안에 파일과 폴더들이 들어가게 되겠지요. S3의 공식문서를 보면, object라는 표현이 많은데요. S3에 저장하는 Fil.. 2021. 4. 10.
RDS Replica의 부하를 분산하는 방법 #Route53 #AWS 이전의 글에서 RDS의 Instance를 복제해서 Replica를 만드는 방법을 정리해 보았었는데요. 이렇게 복제된 Replica에 Request를 분산하는 방법에 대해서 정리해 보도록 하겠습니다. 1. 부하를 분산할 Replica의 EndPoint 복사 가장 먼저 할 일은 Load를 분산시킬 Replica서버들의 EndPoint들을 적어두는 것 인데요. 먼저 RDS > Databases 에서 부하를 분산시킬 Replica 인스턴스의 EndPoint들을 메모장 같은 곳에 복사해 놓습니다. EndPoint들은 Instance를 선택한후 Connectivity & Security에 적혀있는데요. 이곳에서 정보를 Drag해서 복사해 주면 됩니다. 참고로 port번호는 필요하지 않습니다. 2020. 5. 12.
RDS를 복제해 주는 Replication 설정하기 #Master #Slave #AWS AWS의 EC2를 확장할 때와 DB 서버를 확장할 때는 약간 다르게 접근해야 하는데요. RDS를 확장할 때의 전략중 하나가, 읽기 전용 서버들을 복제해서 부하를 분산시킬 때 사용하는 Replication입니다. 오늘은 이 방법에 대해서 정리해 보도록 하겠습니다. 참고로 이글은 RDB를 생성했다는 가정하에 쓰는 글이기 때문에, RDB생성은 아래 링크를 참조해 주세요. >> RDS 관계형 데이터베이스 서버 생성하기 #Free Tier #AWS 1. DB의 특성과 Read and Write DataBase 서버 사용의 특징은 Read가 Write보다 훨씬 많다는 것입니다. 대부분의 조회에 쓰이는 Select문의 빈도가 매우 높구요. 프로필 수정이나 컨텐츠 게시 및 삭제등에 쓰이는, insert, udpate,.. 2020. 5. 9.
EBS(Elastic Block Storage)에 대한 정리 #EC2 #AWS 오늘은 AWS의 EBS(Elastic Block Storage)에 대해서 정리해 보도록 하겠습니다. 1. EBS AWS를 시작한지 얼마되지 않아서, EC2를 몇번 사용하지 않으신 분들은, 나는 EBS(Elastic Block Storage)같은 서비스를 사용한 적이 없다고 하실수도 있는데요. 사실은 EC2를 생성할 때, 혹은 RDS를 생성할 때, 저장공간에 대한 옵션을 설정한 적이 있으실텐데요. 이 때, EBS에 대한 설정을 하고 있는 것 입니다. EC2를 생성할 때 4번째 단계에서 보게되는, 아래의 화면은 EBS에 대한 옵션을 설정하는 화면이었습니다. EBS Volumes을 추가할 수 있다는 설명도 이제 보이실 것 같습니다. 참고로 EBS에서 말하는 하나의 Volume이 바로 하나의 디스크입니다. 처음.. 2020. 5. 8.
AWS와 Firebase 비용에 관한 생각 정리 오늘은 AWS와 Firebase의 비용을 비교해 보고 생각해 보려고 합니다. 여기서 언급하는 가격이나 수치는, 절대적인 것이 아니며, 하나의 의견으로 참고만 해 주세요. 1. AWS Calculator vs Firebase Calculator 두 서비스 다 요금을 미리 계산해 볼 수 있는 계산기를 제공해 주는데요. AWS가 제공하는 서비스가 많은만큼 굉장히 다양한 서비스에 대한 계산이 가능합니다. 아래링크를 통해서 확인 가능하구요. >> https://calculator.aws/ 이에 반해 Firebase Calculator는 아래링크에서 확인할 수 있는데요. >> https://firebase.google.com/pricing/ 화면하단에 사용하는데로 요금을 내는 Blaze Plan에 대한 계산기를 이.. 2020. 5. 7.
사용자수에 따른 AWS 아키텍처 설계하기 AWS의 Scalable한 서비스들을 효율적으로 사용하기 위해서는, 사용자수에 맞추어서 아키텍처를 효율적으로 설계할 필요가 있는데요. 늘어나는 사용자수에 따라서 어떻게 설계해야 할지 정리해 보도록 하겠습니다. 다만 여기서 정리하는 아키텍처는 절대적인 정답이 아니므로, 서비스의 특징에 따라서 변경해서 설계해야 겠지요. 1. 100명 이상의 사용자 아주 초기의 아키텍처가 되겠네요. 100~999명 정도의 사용자를 가지고 있다면, 아래 정도의 솔루션이면 될 것 같은데요. 아직까지는 웹앱이 들어가 있는 EC2서버와 RDS가 있으면 충분합니다. 서버가 한 대이므로, 아래 이미지와 같이 Elastic IP를 이용한 고정 IP주소와 Route53을 연결해 주어도 되고, 단순한 App Server라면, IP주소로 연결.. 2020. 5. 6.
ELB에 무료 SSL인증서 받아서 설정하기 #ACM #HTTPS #AWS 오늘은 ELB(Elastic Load Balancer)에 SSL인증서를 붙여서 사용하는 방법에 대해서 정리해 보도록 하겠습니다. 참고로 ELB에 대해서는 아래 글을 참조해 주세요. >> ELB(Elastic Load Balancer) 생성해서 부하분산 적용하기 #AWS 1. ELB에 SSL 인증서 설정하기 1-1. ELB Listener 설정 이전에 SSL인증서를 설정하지 않았다면, ELB의 Listeners탭에 들어가면, 아래와 같이 되어있을텐데요. 명시적으로 SSL Certificate이 없다고 나오고 있습니다. 아래 이미지와 같이, 해당 Listener를 선택해서 Edit버튼을 눌러줍니다. Edit버튼을 눌러주면, 아래와 같이 설정화면이 나오는데요. 아래 이미지와 같이, HTTPS로 설정해 주면 포.. 2020. 5. 2.
Route53을 이용해 도메인과 ELB 를연결하는 방법 #AWS 오늘은 AWS의 Route53을 이용해 도메인과 ELB 를연결하는 방법에 대해서 정리해 보도록 하려고 하는데요. 먼저 Route53에 대해서 알아보도록 하겠습니다. 1. Route53 Route53을 처음 키게 되면, 아래와 같이 Route53의 기능들을 설명한 선택 화면이 나오는데요. 크게는 첫번째인 DNS(Domain Name System)을 관리하는 기능과, Traffic을 관리하고 서버상태를 관리해주는 기능이 있구요. 마지막으로는 Domain을 구입할 수도 있습니다. 참고로 AWS에서 도메인을 구매하는 것은, 과정도 편하고 수수료도 비싸지 않은 편이어서, 환율이 낮을때는 특히나 괜찮은 것 같습니다. 게다가 Hosted Zone까지 자동으로 설정을 해 주니 더욱 좋네요. 이 글에서는 DNS를 관리하.. 2020. 5. 1.
RDS 백업과 복원하기 #AWS AWS에서 RDS쓰면서 해야하는 백업과 복원도 알아 두어야 하는데요. 오늘은 이 부분에 대해서 정리해 보겠습니다. 1. RDS 백업 먼저 Services > RDS에서 왼쪽의 Instances를 선택해 줍니다. 나오는 화면에서 백업하고자 하는 DB Instance 를 선택하고, Actions 드롭다운 메뉴를 선택해 줍니다. (혹은 Instance위에서 우측마우스 버튼을 눌러주어도 됩니다.) 나오는 메뉴 중 take snapshot을 아래 이미지와 같이 선택해 줍니다. 그럼 아래와 같은 이미지가 나오는데요. Snapshot의 이름을 정해주고, 우측하단의 take snapshot버튼을 눌러줍니다. 주의 해야할 것은, 백업을 하는동안 DB에 액세스가 되지 않을 수 있다는 사실입니다. 이제, RDS > Snap.. 2020. 4. 28.
EC2 시작시 사용할 Shell Script 및 Cloud-init 작성하기 #AWS 오늘은 EC2 최초 실행시에 사용할 Shell Script의 사용방법에 대해서 정리해 보겠습니다. 새로 부팅할 서버를 만들 때 마다, 서버에 접속해서 서버실행 명령어를 내리는 것은 비효율적일 수 있습니다. 이럴 때, Shell Script를 사용해 주어서 자동으로 필요한 패키지 설치등이나, 웹서버 실행을 해 주면 되는데요. 오늘은 이것에 대해서 정리해 보도록 하겠습니다. 본격적으로 Script를 작성하기 전에, EC2인스턴스의 이미지를 생성해서, EC2이미지로부터 생성할 때 스크립트를 적용하는 것에 대해서 정리해 보겠습니다. 참고로 EC2를 생성하는 구체적인 방법에 대해서는 아래글을 참조해 주세요. >> AWS EC2 서버 론칭하는 방법 정리 1. Image 생성 및 EC2 론칭 먼저 EC2 > Inas.. 2020. 4. 27.
ELB(Elastic Load Balancer) 생성해서 부하분산 적용하기 #AWS AWS를 이용하여 실제 서비스에 적용한다고 할 때, 필수적이라고 할 수 있는 부분 중 하나가, load를 분산해주는 Load Balancer 인데요. 트래픽이 늘어나거나, 줄어들었을 때, 그에 맞추어서 Instance의 수를 늘린다고 해결되는 것이 아니라, 유저의 트래픽을 늘어난 Instance에 분산시켜 주어야 하기 때문인데요. 오늘은 부하분산을(Load Balancing) 해주는, Elastic Load Balancer에 대해서 정리 해 보겠습니다. 1. ELB 생성 먼저 Services > EC2에서, Load Balancing> Load Balancers를 선택해 줍니다. 우측에 나오는 화면에서, 파란색의 create Load Balancer버튼을 눌러서 생성을 시작합니다. 그럼 아래와 같이 Lo.. 2020. 4. 24.
EC2에서 RDS서버에 접속하기 #MySQL Client #AWS EC2와 RDS Instance를 론칭하였다면, VPC내의 EC2에서 RDS에 접근할 수 있도록 해 주어야, 작업을 하는 것이 용이한데요. 오늘은 EC2에서 MYSQL이 설치된 RDS에 접근하는 방법에 대해서 정리해 보겠습니다. 참고로 RDS서버를 생성하는 방법은 아래 글을 참조해 주세요. >> RDS 관계형 데이터베이스 서버 생성하기 #Free Tier #AWS 1. MYSQL CLIENT 설치 EC2(Ubuntu)에서 MySQL서버에 접속해서 데이터를 보기위해서는, MySQL 클라이언트가 설치되어 있어야 하는데요. 먼저 Ubuntu에서 MySQL Client를 설치해 주겠습니다. 설치를 하기전에 apt-get update는 좋은 습관이지요. sudo apt-get update; 이제 mysql-cli.. 2020. 4. 23.
RDS 서버 생성하는 방법 정리 #관계형 데이터베이스 #Free Tier #AWS 오늘은 관계형 데이터베이스 서버인, AWS의 RDS를 생성하는 방법에 대해서 정리해 보겠습니다. 정리하면서 Free Tier에 해당하는 옵션을 설정할 수 있도록, 해당하는 옵션들에 대해서도 알아보도록 하겠습니다. 1. 자주 쓰이는 시스템 에러로그 먼저 콘솔화면에서 아래와 같이 Services > Database > RDS를 선택해 줍니다. 나오는 화면에서 왼쪽 메뉴에서 Databases를 선택해 주면 아래와 같은 화면을 볼 수 있는데요. 이제 Create database를 선택해 줍니다. 그러면, AWS에서 제공할 수 있는, 데이터베이스 서버 엔진의 종류와 옵션을 선택하라고 나옵니다. 한가지 중요한 것은 Amazon Aurora는 Free Tier가 적용되지 않는다는 점 인데요. 아래 이미지의 아랫부분을.. 2020. 4. 22.
AWS EC2 서버 론칭하는 방법 정리 보통 AWS를 시작하고 제일 먼저 하는 것은, EC2서버를 론칭 해 보는 것인데요. 오늘은 이것에 대해서 정리해 보도록 하겠습니다. 1. EC2 론칭하기 FreeTier에 해당하는 Instance를 선택해서 EC2 서버를 론칭할 텐데요. (참고로 FreeTier에 대한 내용은 아래 링크를 참조해 주세요.) >>AWS 프리티어(Free Tier) 와 사용량 확인하는 방법 1-1. Launch Instance 먼저, 메인화면의 콘솔에서 Services> EC2를 선택해 줍니다. 클릭하면 아래와 같은 화면을 볼 수 있을 텐데요. 왼쪽 메뉴화면에서 Instances > Instances를 선택해 줍니다. 그리고 우측 화면에서 Launch Instance를 선택해 줍니다. (최근에 AWS콘솔화면이 자꾸 바뀌고 있.. 2020. 4. 16.
AWS사용시 MFA(멀티팩터인증) 사용하여 보안을 강화하는 방법 #2FA #Google OTP AWS와 관련해서 해킹으로 인하여 과하게 요금을 부과당하게 되었다는 이야기를 가끔 커뮤니티에서 보게 되는데요. 특히 일반적인 비밀번호만 설정하였을 경우 더욱 그렇습니다. 이에 대비해서 훨씬 안전한 멀티팩터인증을 사용해 좀 더 보안을 강화할 수 있는데요. 오늘은 이 방법에 대해서 간단히 정리해 보도록 하겠습니다. 1. MFA 설정 AWS를 많이 사용하지 않으신 분들에게는 어디서 이것을 설정할지 조금 어려울 수 있는데요. 이에 과한 설정은 "내 계정"에 있지 않구요. 내 보안 자격증명에 있습니다. 아래 이미지에서 가르키는 대로 내 보안 자격증명을 클릭하면 나오는 메뉴에서, 멀티 팩터 인증(MFA)를 클릭해 줍니다. 그럼 아래와 같이, MFA활성화 버튼이 나오게 되는데요. 이를 클릭해 줍니다. 그럼 어떤 MF.. 2020. 4. 15.
AWS FreeTier 와 사용량 확인하는 방법 #EC2 #RDS AWS를 시작하게 되면서, 가장 먼저 알아두어야 할 것이 바로 프리티어와 그 사용량입니다. AWS는 1년동안 무료로 사용할 수 있는 양을 정해서, 그 양을 벗어나면 과금을 하고 있기 때문인데요. 초기에 학습용으로 혹은 테스트 용도로 사용하고 있다면, 그 양을 벗어나지 않도록 주의를 해야 합니다. 오늘은 AWS FreeTier에 대해서 알아보고, 사용량을 확인하는 방법에 대해서 정리해 보겠습니다. 1. AWS FreeTier AWS 프리티어 제품들은 크게, 1년동안 무료인 제품과 항상 무료인 제품으로 나누어 볼 수 있는데요. 1년동안 무료인, EC2나 S3의 경우 잊지말고, 기간을 생각해 놓아야 합니다. 무료라고 항상 켜두면 되는 것이 아니고, 특정 크기나 조건의 인스턴스를 지정된 시간안에서 사용할 때만 .. 2020. 4. 13.
AWS에서 NodeJS 환경 구축하고 NPM 모듈 설치하기 오늘은 AWS에서 NodeJS를 사용할 수 있도록, 서버에 AWS를 설치하고, 필요한 설정을 하는 것에 대해서 정리해 보겠습니다. 설치 환경은 EC2 Instance의 Ubuntu를 기준으로 합니다. 1. NodeJS설치 아래 사이트에서는 NodeJS를 ubuntu에서 설치할 수 있는 방법이 안내되어 있는데요. (https://github.com/nodesource/distributions/blob/master/README.md) 아래와 같은 화면을 볼 수 있습니다. 현재 LTS인 12.x버전의 설치 방법에 대해서는 아래와 같이 나와있네요. 위에서 나온대로, 아래와 같이 명령어를 사용하겠습니다. curl -sL https://deb.nodesource.com/setup_13.x | sudo -E bash.. 2020. 4. 12.
Firebase Storage Security Rule 에 대한 정리 #보안규칙 오늘은 Firebase Storage Rule에 대해서 알아보도록 하겠습니다. AWS의 S3를 쓰시는 분들도 많이 계시지만, Fireabse의 Stroage를 쓰시는 분들도 많이 계실텐데요. 오늘은 Firebase Storage를 사용할 때 가장 먼저 만나게 되는, Rule 정하는 코드에 대해서 알아보도록 하겠습니다. 1. Firebase Storage의 첫 화면 Firebase의 좌측 네비게이션에서 storage를 선택한 후 나오는 화면에서, 시작하기를 누르면 가장 먼저 보게되는 화면은 아래의 이미지와 같습니다. 시작하자마자, 보안규칙에 관한 안내가 나오는데요. 여기서 바로 바꿀 수는 없지만, 가볍게 보고 가도록 하겠습니다. 먼저 아래에 디폴트로 나오는 보안 규칙에 관한 코드에서, 가장 중요한 부분은 .. 2020. 3. 31.
Firebase 호스팅서비스 테스트 및 디플로이(Deploy) 오늘은 Firebase로 호스팅을 해서 디플로이 하는 방법에 대해서 정리해 보겠습니다. Firebase호스팅은 NodeJS를 기반으로 하고 있기 때문에, 패키지 설치방법과 같은 NodeJS에 대한 기본적인 사용법을 알고 있어야 하는데요. 이 글에서 NodeJS까지 다루기에는 너무 큰 주제이므로, Firebase를 시작해서 Deploy하는 부분에 대해서만 다루도록 하겠습니다. 1. Firebase생성하기 먼저 Firebase에서 새로운 프로젝트를 생성합니다. 아래 링크에서 Firebase로 접속하면 아래와 같은 화면을 보게 되는데요. >> https://console.firebase.google.com/ 2020. 3. 29.