이전 글에서는 AWS API Gateway를 WebSocket 형태로 생성하고 기본적인 connect, disconnect 하는 방법을 알아보았습니다. 이제 새로운 커스텀 경로를 생성하여 데이터를 전송하고 그 결과 다시 Spring Application에서 API Gateway 쪽으로 전송해 연결된 소켓 클라이언트에 데이터를 전달해보도록 하겠습니다. 먼저 AWS API Gateway에 새로운 경로를 추가하고 통합 요청 설정을 해주겠습니다. 이는 기존에 추가한 connect, disconnect 경로와 유사합니다. 이렇게 경로를 생성한 뒤, 요청 템플릿을 추가해줍니다. { "connectionId" : "$context.connectionId", "requestId": "$input.path('reques..
이번 프로젝트에서 MSK를 사용하게 되었습니다. MSK는 Serverless 로 생성되었는데 이와 SpringBoot 프로젝트를 연동하는 방식에 대해 살펴보고자 합니다. 먼저 spring-kafka dependencies를 추가해줍니다. // build.gradle dependencies { ... // kafka implementation 'org.springframework.kafka:spring-kafka' ... } 여기서 MSK 생성에 대해서는 다루지 않겠습니다. MSK를 Serverless로 생성하고 나서 클라이언트 정보 보기를 하면 아래와 같이 부트스트랩 서버의 엔드포인트를 확인할 수 있습니다. Serverless 의 경우 현재 인증 유형은 IAM 밖에 존재하지 않습니다. 이를 SpringB..
회사 업무 중 채팅 서버를 구현 중이었는데요... 의도치 않은 방향성의 전환으로(?) AWS API Gateway 에서 제공하는 WebSocket 기능을 사용하게 되었습니다. 채팅 서버의 스케일 아웃 시 여러 서버 간 메시지 동기화를 위해 레디스나 카프카 사용을 고민했었는데요 프로젝트 사정상 API Gateway가 제공하는 WebSocket 기능을 사용하여 소캣 기능을 구현하도록 하였습니다. 이렇게 하면 별도 Application 서버는 웹 소캣 기능을 가지지 않아도 되고 별도의 커넥션 관리 및 메시지 동기화 작업이 필요하지 않다고 합니다...! 우선 API Gateway 의 웹 소켓 API를 그림으로 살펴보면 다음과 같습니다. 추가적으로 HTTP REST API 들이 늘어나는 환경에서도 테스트를 진행할..
업무 중 파일 업로드를 실제 서버로 파일을 보내는 대신 클라이언트에서 처리하는 방향으로 변경하면서 PreSignedUrl을 사용하게 되어 관련 내용을 정리하려고 합니다. 전 회사에서 해당 방식을 사용한다는 것은 알고 있었지만 어떻게 동작하는지 구체적으로 관심가지지 않아서 몰랐던 내용을 직접 해보면서 정리하였습니다. 😅 1. AWS IAM Role 에 S3 업로드 권한 부여 S3에 파일을 업로드 및 다운로드하기 위해서는 S3에 대한 권한을 가지고 있어야 합니다. 저는 개인적으로 사용하던 기존 User에 S3FullAccess 권한을 부여했습니다. (local AWS CLI를 통해 접근하는 User 또는 EC2에게 주어지는 Role에 권한을 추가해주면 됩니다.) * 사용자를 새로 생성한 경우 CLI 에서 접..
1. AWS IAM 생성하기 KMS는 AWS IAM user나 role을 통해서 권한을 가질 수 있으니 우선 local에서 사용할 IAM user 또는 role을 만들어 줍니다. 저는 user를 만들어서 진행을 해보겠습니다. 2. KMS Key 생성하기 KMS Key를 생성합니다. 이때 키 관리 권한과 키 사용 권한은 위에서 만들어둔 user를 지정합니다. 3. credential 설정하기 먼저 aws cli를 사용하여 암복호화가 되는지 확인하기 위해 설정을 진행합니다. (1) aws cli 설치 https://docs.aws.amazon.com/ko_kr/cli/latest/userguide/getting-started-install.html (2) aws configure로 credential 설정하..
- Total
- Today
- Yesterday
- 순열
- 프로그래머스
- CodeDeploy
- Baekjoon
- sort
- search
- Combination
- 에라토스테네스의 체
- DFS
- Dynamic Programming
- CodeCommit
- EC2
- map
- Algorithm
- cloudfront
- spring
- BFS
- 수학
- AWS
- 조합
- string
- ECR
- programmers
- permutation
- array
- SWIFT
- java
- ionic
- 소수
- CodePipeline
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |