AWS S3 문서를 보면, 버킷의 키 값을 이용하여 여러 오브젝트를 한번에 삭제하는 예제가 있습니다.( 예제 링크 ) 저는 키 없이 특정 경로 이하의 모든 오브젝트 삭제가 필요하여 관련 코드를 알아보도록 하겠습니다. private final S3Client s3Client; public void deleteObjects(String bucketName, String prefix){ ListObjectsV2Request request = ListObjectsV2Request.builder().bucket(bucketName).prefix(prefix).build(); ListObjectsV2Iterable list = s3Client.listObjectsV2Paginator(request); for (Li..
목차 자격 증명(credentials) 설정 aws configure 명령으로 access key, secrect key와 리전 및 포맷 정보를 저장할 수 있습니다. $ aws configure AWS Access Key ID [****************IU5A]: AWS Secret Access Key [****************kdC5]: Default region name [ap-northeast-2]: Default output format [json]: 또는 credentials 파일을 직접 수정하여 설정하셔도 됩니다. ➜ ~ sudo vi ~/.aws/credentials aws configure명령으로 key를 설정하고 ~/.aws 경로에 있는 credentials 파일을 읽어보면 아..
목차 이제 X-Ray에 기본적인 데이터가 잘 쌓이고는 있지만 추가로 보고 싶은 내용들이 있어 SQL문과 Segment 정보를 일부 커스터마이즈 하였습니다. SQL에 query 문 추가와 Subsegment 이름을 "클래스.메소드"으로 생성하도록 해보겠습니다. Segment에 Query문 기록하는 방법 X-Ray의 트레이스에서 SQL 쿼리를 기록하고 있는 subsegment 정보를 보면, 데이터베이스의 각종 정보는 나오나 정작 호출한 쿼리에 대해서는 수집을 하지 않고 있습니다. 문서에 보면, 보안 때문에 SQL query문은 기록을 하지 않는다고 합니다. 그런데 또 문서의 segment documents 에는 SQL 쿼리 subsegment를 만들때 사용하는 쿼리로 sanitized_query가 있습니다...
목차 AOP with Spring 적용하기 트레이스에서 세부 정보를 확인하면 subsegment가 외부 호출한 부분에 대한 정보만 추적을 하고 있고 실제 내부에서 호출된 로직들에 대해서는 얼마나 시간이 소요되지는지에 대한 정보가 없습니다. 그래서 메소드 단위로 시간이 얼마나 소요되는지 확인을 위해 AOP를 적용해보겠습니다. 설명 링크 먼저 아래의 의존성을 추가해줍니다 com.amazonaws aws-xray-recorder-sdk-spring 2.11.0 그리고, AbstractXrayInterceptor 를 상속받아 xrayEnabledClasses 함수를 빈 상태로 오버라이드 하고, 해당 함수를 적용할 범위를 지정해 줍니다. @Pointcut으로 XrayEnabled 어노테이션이 적용된 bean id..
목차 AWS X-Ray Console, Spring Boot 코드 구현, 데몬 설치 및 실행을 통한 AWS X-Ray에 수집된 데이터를 확인하는 방법에 대해서 설명하도록 하겠습니다. AWS X-Ray Console 시작하기 먼저 AWS 웹사이트에 X-Ray 콘솔로 들어가 아래와 같이 선택을 하여 다음을 눌러줍니다. ( 저는 Spring Boot 애플리케이션으로 테스트하였습니다. ) 의존성 설정하기 아래와 같이 5개의 의존성울 추가하였습니다( maven 기준 ) com.amazonaws aws-xray-recorder-sdk-bom 2.11.0 pom import com.amazonaws aws-xray-recorder-sdk-core com.amazonaws aws-xray-recorder-sdk-apa..
목차 객체 업로드 S3에 객체를 업로드하는 코드 입니다. 업로드할 버킷의 지역, 버킷명, 객체명(파일명) 그리고 파일의 데이터를 byte로 하여 S3Client의 putObject함수를 이용하여 업로드 할 수 있습니다. Region region = Region.AP_NORTHEAST_2; S3Client s3 = S3Client.builder().region(region).build(); String bucketName = "bucket"; String objectKey = "test.csv"; putS3Object(s3, bucketName, objectKey, getObjectFile("path/of/file")); private String putS3Object(S3Client s3, String ..
AWS SAM 개발자 가이드 문서에 따라서 샘플 앱을 받아서 빌드와 로컬 호출 테스트를 해보려고 하는데, 시작부터 문제가 생겼습니다. 그냥 가이드대로 따라 했을 뿐인데, sam build 에서 아래와 같이 엄청나게 긴 에러 메시지들이 발생. 이래 저래 검색을 해보다가, 마지막에 keychain 을 중점으로 검색...하다 해결에 실마리가 되는 답변을 찾았습니다. ( stackoverflow.com/questions/56267890/docker-compose-unable-to-start/57025492#57025492 ) ➜ goatee-IntelliJ git:(main) ✗ sam build Building codeuri: . runtime: None metadata: {'DockerTag': 'java1..
1. AWS SAM CLI 설치( Mac ) 2. AWS Toolkit 설치( IntelliJ ) 3. 서버리스 애플리케이션 구성 4. 빌드 및 로컬 테스트 5. SAM 테스트 명령어 1. AWS SAM CLI 설치( Mac ) AWS SAM CLI는 Lambda 실행 환경을 제공해주고, 코드 디버깅을 할 수 있게 해줍니다. AWS SAM CLI 설치를 위해 아래 명령을 수행합니다. brew tap aws/tap brew install aws-sam-cli 설치 확인을 위해 아래 명령을 수행합니다. sam --version 정상적으로 설치가 완료되었으면 아래와 같이 버전이 표기됩니다. SAM CLI, version 1.17.0 AWS SAM CLI 업그레이드를 위해서는 아래 명령을 수행합니다. brew ..
1. Lambda 함수 생성 2. JAVA 패키지 빌드 3. 배포 패키지 업로드 및 핸들러 메서드 정의 4. 테스트 이벤트 생성 및 테스트 1. Lambda 함수 생성 Function name을 작성, Runtime에 Java를 선택, Permissions에 적절한 role을 선택해 줍니다. 2. JAVA 패키지 빌드 blank-java 코드를 다운 받습니다. dependencies { implementation 'com.amazonaws:aws-lambda-java-core:1.2.1' implementation 'com.amazonaws:aws-lambda-java-events:3.1.0' runtimeOnly 'com.amazonaws:aws-lambda-java-log4j2:1.2.0' } tas..
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Permissions 0644 for 'xxx-ssh.pem' are too open. It is required that your private key files are NOT accessible by others. This private key will be ignored. Load key "xxx-ssh.pem": bad permissions centos@ec2-xxx.ap-northeast-2.compute.a..
- Total
- Today
- Yesterday
- Java
- Index
- Linux
- gradle
- tomcat
- logstash
- scala
- mac
- intellij
- JPA
- AWS
- elasticsearch
- Size
- docker
- JSON
- Spark
- Git
- Filter
- Container
- plugin
- spring boot
- Postman
- spring
- Log
- SpringBoot
- maven
- Kibana
- error
- apm
- install
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |