CDK Deploy를 위한 Minimum Policy는 무엇일까 당연히 Administrator Role 인줄 알았는데 아래의 Role도 일단 Deploy는 성공했다. { "Version": "2012-10-17", "Statement": [ { "Action": [ "cloudformation:*" ], "Resource": "*", "Effect": "Allow" }, { "Condition": { "ForAnyValue:StringEquals": { "aws:CalledVia": [ "cloudformation.amazonaws.com" ] } }, "Action": "*", "Resource": "*", "Effect": "Allow" }, { "Action": "s3:*", "Resource":..
AWS의 Amazon Pinpoint에는 Event를 저장하는 기능이 있다. Event Stream이라 하여, Amazon Pinpoint에서 발생하는 모든 로그를 AWS Kinesis로 보내는 기능인데, 나는 보통 Elasticsearch로 보내어 로그를 관리 한다. 이후 Kibana를 통해 BI를 구성하여 쓴다. Pinpoint EventStream 기능을 활성화 하여 Kinesis Firehose를 통해 Elasticsearch로 보내도록 구성해보자. Elasticsearch 도메인 생성 새 도메인 생성 버튼 누른 후 원하는 것을 선택한다. 나는 개발 및 테스트를 선택했다. 이후 도메인 이름을 적당히 지정 후 네트워크를 구성한다. 나는 도메인 이름을 pinpoint로 지정하였다. 나는 네트워크 구성..
AWS의 Amazon Pinpoint에 이벤트를 보내고, 이벤트 발생시 캠페인을 발송 하도록 만들어 보자. Custom Event 생성 { "ApplicationId": "80716e293edf4c43a3023f4ade22f26c", "EventsRequest": { "BatchItem": { "email-h": { "Endpoint": { "Address": "jakemraz100@gmail.com", "ChannelType": "EMAIL" }, "Events": { "KeyName": { "EventType": "_userauth.sign_up", "Timestamp": "2020-05-15T11:10:02Z" } } } } } } 위에서 "email-h"는 endpoint의 id이다. 위 이벤트를..
AWS Java SDK v2를 사용하여 AWS Elasticsearch에 쿼리하는 코드를 작성해보자 Gradle 추가 Gradle에 Elasticsearch 버전을 맞추어 아래를 추가한다. implementation 'org.elasticsearch.client:elasticsearch-rest-client:7.7.0' implementation 'com.google.code.gson:gson:2.8.6' implementation 'software.amazon.awssdk:auth' implementation 'software.amazon.awssdk:apache-client' 참고로 지금 내가 쓰는 es 버전은 7.4인데 sdk 버전은 7.7...
IaC를 통해 람다를 배포하는 여러가지 방법이 있다. CDK를 통해 cdk-cli를 통하여 배포하는 방법, SAM(Serverless Application Model)을 통하여 sam-cli를 통해 배포하는 방법. 또는 CloudFormation을 통해 직접 배포 코드를 작성 하는 방법. 지금까지 내가 알고 있던 세 방법의 공통점은, Lambda Handler를 S3 Bucket에 올린 후, Ref: 를 통해 가져오는 방식이라는 점이었다. 이런 방식에서는 CD(Continous Delivery)를 통해서는 어찌 배포 해야 하는가... 고민에 빠진 시점이 있었다. 최근 AWS CodeBuild의 IaC를 작성하다가.. BuildSpec의 내용을 CloudFormation의 yaml에 직접 작성하는 것을 보..
와.. 겨우 이것 때문에 2시간을 삽질했다. AWS Code Pipeline 을 통한 CI/CD 를 구성하는 경우 가장 쉬운 구성으로 택하는 것이 Code Commit에 올린 소스를 Code Build 에서 빌드 하는 것이다. Code Build의 소스를 Code Commit으로 한 경우라면 문제가 안된다. 당연히 해당 소스로 부터 코드를 가져온다. 하지만.. 여러가지 Repository를 Clone해서 사용하려는 경우에는..? 어떻게 해야 하는가? HTTPS 로 Git clone 하자니.. 아이디, 패스워드를 입력해야 하니.. 아래와 같은 에러가 난다. fatal: could not read Username for 'https://git-codecommit.us-west-2.amazonaws.c..
node에서 aws-sdk 사용 할 때 async / await 를 사용하려면 어떻게 해야 할까 예를 들어 DynamoDB의 Document Client 에서 update 를 하려고 하면 해당 부분 소스는 아래와 같다 update: function(params, callback) { var operation = this.serviceClientOperationsMap['update']; return this.makeServiceRequest(operation, params, callback); }, 여기 있는 makeServiceRequest는 무엇일까? 따라가 보면 꽤 흥미진진하다. 중요한 것은 request.d.ts에 있는 class Request를 리턴한다는 것이다. 그리고 해당 클래..
이 글은 Create a Serverless Workflow 튜토리얼 글을 따라 하면서 내용을 최신으로 바꾸고 적당히 순서도 바꿔가며 작성한 글이다. Lambda에서 Lambda를 호출하려면 어떻게 해야할까? 여러가지 방법이 있겠지만 flow에 따라 적절한 Lambda 함수가 호출되도록 하기에 가장 적절한 솔루션은 AWS Step Functions 라고 생각한다. State Machine & Serverless Workflow 생성 우리가 만들 Workflow는 아래를 수행한다. Support Case를 생성하는 Lambda Function을 호출 문제 해결 담당자에게 Assign 하는 Lambda Function을 Invoke ... 이 과정에서 Lambda Function들 간에 Data를 전달하여 ..
- Total
- Today
- Yesterday
- Python
- API
- winapi
- gcc
- Visual C++
- linux
- AWS
- Quiz
- jni강좌
- java
- it
- MFC
- C
- 드라이버
- 음악
- 리눅스
- Troubleshooting
- db
- C++
- jni
- algorithm
- source
- database
- android
- Cloud
- driver
- 안드로이드
- NDK
- kering
- 프로그래밍
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |