일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- laravel
- linux
- elasticsearch
- MySQL
- Oracle
- JVM
- php
- Design Patterns
- springboot
- jenkins
- javascript
- IntelliJ
- Web Server
- jsp
- it
- 요리
- Spring Boot
- AWS
- ubuntu
- redis
- devops
- 맛집
- Gradle
- Spring
- Git
- db
- java
- ReactJS
- Spring Batch
- tool
- Today
- Total
목록AWS (50)
아무거나
DynamoDB 적용의존성 추가(build.gradle.kts)...dependencies { ... // AWS SDK implementation("software.amazon.awssdk:dynamodb-enhanced") implementation(platform("software.amazon.awssdk:bom:2.20.56"))...Entity Class 생성[SampleTable.kt]import com.bkjeon.base.feature.constants.DdbIndexConstimport org.springframework.format.annotation.DateTimeFormatimport software.amazon.awssdk.enhanced.dynamodb.mapper.annota..
BatchGetItem (WHERE IN) 정의 다수의 테이블 아이템을 hashkey, rangedkey 를 지정해서 가져올 수 있으나 결과값이 100개로 제한된다, 특정 rangedkey 로 다수의 아이템 검색이 필요하면 query 과 권장된다. BatchGetItem 은 조건식을 사용할 수 없고 쿼리 결과를 수정할 수 없기 때문에 상황에 따라 GetItem 과 적절하게 선택하여 사용하는것이 좋다. WHERE IN 절과 비슷하게 사용할 수 있다. 사용법(SDK) [build.gradle] ... implementation 'com.amazonaws:aws-java-sdk-dynamodb:1.12.239' ... [DynamoDBConfig.java] ... import com.amazonaws.serv..
AWS Lambda 와 SES(=Simple Email Service) 를 이용한 간단한 메일 발송 (NodeJS) 메일 발송 기능을 개발을 하기위해 AWS 의 Lambda 와 SES(=Simple Email Service) 를 선택하게 되었다. 서비스의 역할 및 예제코드를 참고하여 간단하게 메일 발송 기능을 구축해보자. (NodeJS 를 사용) AWS Lambda AWS Lambda 는 이벤트 기반 서버리스 컴퓨팅 플랫폼이며, 이벤트에 반응하여 Lambda 에 작성된 코드를 실행하는 서비스이다. 즉, 클라우드 제공업체에서 인프라에 대한 관리를 대신 처리해주기 때문에 개발자는 비즈니스 로직에만 집중할 수 있다. (Node, Java, .NET, Go, Python, Ruby 등의 다양한 언어를 지원한다...
AWS JAVA SDK 사용시 AWS Credential 클래스별 자격증명 (AWS Credential 관련 코드를 작성할 때 필수적으로 참고해야되는 내용이다.) BasicAWSCredentials 직접 accessKey, secretKey 설정 ... .withCredentials( new AWSStaticCredentialsProvider( new BasicAWSCredentials( "{accessKey}", "{secretKey}" ) ) ) ... DefaultAWSCredentialsProviderChain 기본 작업 공급자 체인이며 하기 순서대로 자격 증명을 찾는다. EnvironmentVariableCredentialsProvider 환경변수 AWS_ACCESS_KEY_ID 과 AWS_SE..
Spring Boot 에서 aws-java-sdk-dynamodb 를 활용한 AWS DynamoDB 연동 (+Credentials Setting 포함) 먼저 AWS Credentials 설정을 application.yml 기반으로 하게된다면 중요키들이 노출하게된다. 그래서 보통 KMS(=Key Management System)를 통한 관리, 키값 암호화 관리, 서버에 설정된 AWS CLI 를 통한 저장된 프로필 사용(Ex- ~/.aws/credentials) 등의 방법이 있으며 해당 내용에서는 서버에 설정된 AWS CLI 를 통한 저장된 프로필 사용 하는 방법으로 진행하도록 한다. aws-java-sdk-dynamodb 를 선택한 이유 (=spring-data-dynamodb 의 단점) 2020.03.0..
java-example-code/sample-multi-module at master · bkjeon1614/java-example-code (github.com) Project 최상위 경로에 Codedeploy로 배포에 사용할 appspec_api.yml 추가 (appspec_{원하는명칭}.yaml) 및 scripts/base-api 폴더 생성 후 deploy-before.sh 파일 생성 [appspec_api.yml] version: 0.0 os: linux files: - source: / destination: /home/ec2-user/build/ permissions: - object: / pattern: "**" owner: ec2-user group: ec2-user hooks: Befor..
AWS RDS MySQL VS Aurora Aurora란 AWS가 MySQL과 Postgresql을 호환해서 만든 RDBMS이다. 둘의 가장 큰 차이점은 Storage이며 Aurora는 Shared Storage를 사용하며 MySQL은 Binary Log 기반의 Replication 기반이 아닌 Storage와 Page 기반의 Replication을 사용 Aurora 장점 기본적으로 MySQL 및 PostresSQL 호환 가능하다. 스토리지 용량이 64TB까지 자동 증가된다. (RDS MySQL은 EBS 볼륨 할당을 직접 해야함) 3개의 AZ (가용 영역)에 대해서 6방향 복제를 지원한다 (6개의 스토리지 지원) Read Replica (읽기 전용 복제본)을 15개까지 지원한다 Read Replica에 ..
[springboot gradle 개발환경별 버저닝 빌드&배포] 개발환경 기준 : dev, stage, master(=live) 사용툴 : jenkins + s3 + codedeploy [빌드] 1. build.gradle에 저장될 jar이름 설정(안하면 jenkins item이름으로 기본정의됨) jar { archivesBaseName = "test" } 2. build 부분에서 Add build step -> Invoke Gradle script 선택 3. jekins item 설정에서 Build 부분에서 Use Gradle Wrapper 버튼 클릭하고 설정 - Make gradlew executable 체크 - Wrapper location: ${workspace} // ${workspace}는 ..
사용방법은 간단하다. 파일을 생성하고 아마존S3에 accesskey와 secretkey를 이용하여 권한을 얻고 파일을 업로드 하면된다. public class AWSService { private static final String BUCKET_NAME = "bucket_name"; private static final String ACCESS_KEY = "ACCESS_KEY"; private static final String SECRET_KEY = "SECRET_KEY"; private AmazonS3 amazonS3; public AWSService() { AWSCredentials awsCredentials = new BasicAWSCredentials(ACCESS_KEY, SECRET_KEY);..
// s3 bucket 가져오기 @Repository public class S3BucketService { private static String bucketName = "deploy.versioning"; private static String bucketFolderRoot = "project"; private static String accessKey = {accesskey}; private static String key = {key}; @Autowired private ProjectDAOServiceImpl deployDAOService; // 전체 버킷 조회 서비스 모델 public HashMap getS3Bucket() { ArrayList projectArr = new ArrayList()..