반응형

AWS 29

서버리스 서비스 예제 - 03 [S3에 도메인 연동하기]

이 글의 일부는 AWS 공식 문서( 링크 )를 참고하였습니다. 단계별 상세 내용은 해당 문서를 참고하시기 바랍니다. 1. 도메인 등록하기 - whois.co.kr 등에서 도메인을 먼저 구매하세요. 도메인 네임은 알파벳과 숫자, 그리고 -(하이픈) 으로 구성할 수 있습니다. 도메인은 단순한 조합이 아닌 계층적인 구조로 이루어집니다. helloworld. co. kr(실제 생성 하실 때는 각자 원하는 이름으로 사용해야 합니다.)로 예를 들어보면... kr은 1단계로 최상위 도메인으로 국가도메인(kr, us 등)을 나타냅니다. co는 2단계로 해당 도메인을 운영하는 기관의 성격을 나타냅니다.(co: 기업 , or:비영리기관 등) helloworld 는 3 단계로 도메인 네임을 사용하는 기관이나 개인이 원하는 ..

서버리스 서비스 예제 - 02 [ API Gateway - Lambda-DynamoDB ]

DynamoDB에 대해서 내용은 이 링크를 꼭 한번 읽어보시길 권유 드립니다. 이 예제에서는 1:1 모델링에 적합한, 전달될 유저 ID를 분할키로 사용하고, info라는 키에 name과 phone 정보를 담아보겠습니다. DynamoDB에서 "test_db"라는 이름으로 테이블을 먼저 생성해 보겠습니다. 그리고 분할키의 이름은 "key"로 지정하겠습니다. 분할키에는 전달될 유저 ID를 지정하겠습니다. 정렬키도 별도로 추가하지 않겠습니다. 생성이 완료되었으면 바로 람다 함수를 추가해 보겠습니다. 함수명을 "save"라는 이름으로 생성합니다. aws-sdk 모듈은 바로 사용 가능해서, 아래 코드를 붙여서 바로 테스트 가능합니다. var AWS = require("aws-sdk"); AWS.config.upda..

서버리스 서비스 예제 - 01 [ API Gateway - Lambda-ElastiCache(Redis) ]

최근 본격적으로 AWS에 서비스를 구축하면서 자잘하게 부딪혔던 작은 문제들을 정리하는 김에 저처럼 처음 접해보시는 분들께 도움이 되길 바라며 공개해 봅니다. 앞으로 몇 번에 걸쳐 간단한 샘플을 만들어보면서 실제 서비스 인프라를 구축하기 위해 어떤 과정들이 필요한지 하나씩 정리해 보겠습니다. 이번에 제작할 샘플은 REST API를 통해 Redis에 정보를 저장하는 과정을 만들어 보겠습니다. 서비스는 아래와 같이 구성해 보겠습니다. 작업은 크게 네 단계로 진행합니다. 1. VPC 구성하기 2. Redis 구성하기 3. Lambda 함수 제작 4. API Gateway 구성하기 따라하기 식으로 구성했으니 편하게 진행해 보시기 바랍니다. 바로 시작해 보겠습니다. 1. VPC(Virtual Private Clou..

AWS CPP SDK - SQS 에 메세지 보내기

( Windows 10 / VisualStudio 2017 환경에서 테스트 되었습니다. ) 우선 AWS Console에서 필요한 계정과 SQS 설정을 해보겠습니다. 이미 계정 생성과 SQS 설정이 되어 있다면 다음으로 건너띄시기 바랍니다. 여기서는 sqs_tester로 만들어 보겠습니다. 권한은 쓰기, 읽기를 분리해도 되고, 테스트를 위해 생성한다면 AmazonSQSFullAccess로 적용해도 괜찮습니다. 이제 SQS를 세팅해 보겠습니다. FIFO 대기열로 생성해 보겠습니다. 구성은 기본 상태로 진행하겠습니다. 아.. 대기열 이름 끝은 ".fifo"로 끝내야 하니 주의하세요. 그리고 초당 300개의 메세지를 처리할 수 있다고 하니 실제 사용하실 때는 이런 제한사항을 꼭 확인 후 사용하시기 바랍니다. 큐..

AWS CPP SDK 지역 설정 방법

java 사용할 때는 credential 파일과 config 파일을 자신 계정 루트에 .aws 폴더 만들어서 넣으면 되는데... cpp sdk에서는 region 정보가 담긴 config파일을 사용하지 않습니다. https://docs.aws.amazon.com/sdk-for-cpp/v1/developer-guide/credentials.html (* cpp sdk에서 credential 설정하는 방법) Aws::SDKOptions options; Aws::InitAPI(options); Aws::Client::ClientConfiguration clientConfig; clientConfig.region = "ap-northeast-2"; . . . Aws::SQS::SQSClient sqs(client..

C++에서 AWS SDK 연동하기

설치하기 Windows에서는 GitHub( https://github.com/aws/aws-sdk-cpp )에서 직접 다운받아 빌드를 하기보다는 NuGet으로 손쉽게 설치해서 사용하길 권합니다. (VS 2017에서는 문제가 없으나 2019에서는 동적 dll linking 에러가 발생합니다. VS 2019를 사용하시는 분들은 aws.amazon.com/ko/blogs/korea/aws-c-plus-sdk-in-windows-visual-studio/를 참고하여 정적 라이브러리로 빌드해서 사용하세요.) CentOS에서는 아래와 같은 순서로 설치할 수 있습니다. cmake(https://cmake.org/) 3.x 이상의 버전이 설치되어 있지 않다면 먼저 설치를 해야 합니다. > wget https://cma..

S3 버킷 암호화로 데이터 보호하기

plain text 형태로 S3에 업로드한 자료들이 맘에 걸려서 bucket에 올린 자료들을 모두 암호화 하기로 결정했습니다. 여러 복잡한 절차들이 있을 줄 알았는데 생각보다 큰 불편함없이 마무리 할 수 있어서 좋긴 한데, 뭔가 하다 만 느낌이라 걱정이 싹 가시진 않네요. 기존에 자료를 업로드 하는 app과 자료를 읽는 app 모두에서 별다른 조치를 할 필요는 없었습니다. IAM에 설정된 사용자에 정책을 추가하는 것과 Bucket에 암호화 설정하기. 그리고 기존 데이터 암호화하기로 모든 작업이 끝나네요. 이 설정이 편한게 데이터 암호화를 클라이언트가 직접 하는게 아닌 server side encryption이라 별로 손 댈게 없어서 좋았습니다. put, get 시 별도 하는게 없어 암호화 되었는지 아닌지..

Elasticsearch를 Node.js에 통합하기

다음과 같은 순서로 작성되어 있습니다. 1. 개요 2. 준비 3. 쿼리 알아보기 4. nodejs와 통합 5. chart로 표현하기 1. 개요 최근 회사에 Elasticsearch(이하 ES)로 통계 시스템을 구축했습니다. Mysql MyISAM 엔진으로 구축하던 것과 비교해보면 엄청나게 편리해졌네요. Kibana로 쿼리하고 결과를 손쉽게 출력하여 담당자가 아닌 컨텐츠 개발자도 자신이 보고 싶은 결과를 바로 추가하여 볼 수 있을 정도니, 작은 개발사에는 이보다 더 좋은 솔루션이 있을까 싶네요. 그런데 ES에서 나온 다른 두 결과의 비교가 필요한 경우 불가능한 경우가 있어서 조금 아쉽더군요. 그래서 이를 직접 만들어 보기로 했습니다. 시간을 기준으로 데이터를 비교하는 경우는 timelion을 사용하면 되나..

반응형