AWS Secrets Manager을 이용해서 Redshift의 패스워드를 자동으로 교체하기

redshift-data cli를 이용해서 sql을 실행할 때 인증방식으로 AWS Secrets Manager를 사용하려고 합니다. Secrets Manager콘솔에서 새 시크릿을 만들고 Redshift의 패스워드를 자동으로 교체하는 설정까지 해보았습니다. 구성 Redshift클러스터는 배스천 서버를 이용해서 외부에서도 접속할 수 있도록 했고, 패스워드를 자동교체하는 람다는 NAT게이트웨이가 아닌 VPC엔드포인트를 통하도록 설정했습니다. 시크릿 생성과 자동교체 설정 새 시크릿을 생성합니다. Redshift 클러스터의 유저명과 패스워드를 입력하고 클러스터를 선택 해 줍니다. KMS키는 디폴트 키를 선택했습니다. 자동교체를 활성화 하고 교체 간격을 선택 해 줍니다. 새 람다함수를 생성합니다....

2021-07-26 · bokyung

AWS SAM을 이용해서 Lambda함수 배포하기

이전 글에서 CloudFront와 Lambda@Edge를 이용해서 이미지 리사이징하기 를 정리해 보았는데요. AWS SAM을 이용해서 CloudFormation으로 Lambda함수를 배포하는 방법을 정리해 보았습니다. 배포순서 SAM CLI설치 Install SAM CLI 저는 SAM CLI, version 1.23.0을 이용했습니다 template.yaml작성 CloudFormation기반의 템플릿(template.yaml)을 작성합니다. . ├── index.js ├── node_modules/ ├── template.yaml ├── package-lock.json └── package.json SAM deploy을 이용하여 코드 패키징과 배포 SAM deploy \ --template-file template.yaml \ # Lambda@edge인 경우는 us-east-1리전에 만든 Bucket이 필요합니다. --s3-bucket <zip파일을 업로드 할 Bucket name> \ --s3-prefix SAM \ --stack-name <cloudformation 스택명> \ --capabilities CAPABILITY_NAMED_IAM \ --region <cloudformation을 배포 할 리전> \ --profile <profile name> SAM은 배포 시...

2021-05-17 · bokyung

CloudFront와 Lambda@Edge를 이용해서 이미지 리사이징하기

리사이징 된 이미지를 S3에 저장하지 않고 원본만 이용해서 리사이징 하는 방법은 없을까 고민하던차에 Lambda@Edge를 이용해서 이미지 리사이징 하는 방법을 적용해 보았습니다. Lambda@Edge 동작 원리 Lambda@Edge는 CloudFront에 접근할 때 실행되는 Lambda의 확장판입니다. CloudFront 이벤트가 발생할 때 Lambda 함수를 실행할 수 있습니다. 이벤트는 4가지가 있습니다. Viewer Request : CloudFront가 뷰어로부터 요청을 받고 요청한 개체가 edge cache에 있는지 확인하기 전에 함수를 실행합니다. Origin Request : CloudFront가 오리진으로 요청을 전달할 때만 실행됩니다. 요청한 개체가 edge cache에 있으면 함수가 실행되지 않습니다....

2021-05-14 · bokyung

Jenkins에서 Spring Batch Job을 실행하기

Jenkins에서 스프링 배치 Job을 실행해 보았습니다. Jenkins 환경 Amazon Linux2 AMI ID : ami-0f27d081df46f326c AMI 이름 : amzn2-ami-hvm-2.0.20210303.0-x86_64-gp2 Jenkins version : Jenkins 2.284 환경변수와 플러그인 설정 여러 Job을 등록하는 경우 각각의 Job에서 같은 파라미터를 넘겨주게 되는데 환경변수에 등록해두면 관리하기가 편해집니다. Job파라미터로 실행날짜를 넘겨주기 위해서 timestamper플러그인을 사용하였습니다. Manage Jenkins > System Configuration > Configure System > Global properties > Environment variables에서 Job에서 공통으로 사용하는 환경변수를 설정합니다. 배치Job등록 New Item > Freestyle project을 선택해서 Job을 등록합니다....

2021-03-31 · bokyung

Jenkins에서 Spring Batch 프로젝트를 Gradle 빌드하기

스프링 배치 Job Runner를 조사하던 중에 Jenkins에서 batch프로젝트를 gradle빌드해 보았습니다. Jenkins 환경 Amazon Linux2 AMI ID : ami-0f27d081df46f326c AMI 이름 : amzn2-ami-hvm-2.0.20210303.0-x86_64-gp2 Jenkins version : Jenkins 2.284 인증정보 등록 Github 아이디/패스워드 인증 방법 Jenkins에서 Repository관련 작업이 가능하도록 Github에서 Personal access tokens를 발행합니다. ( Settings > Developer settings > Personal access tokens ) Manage Jenkins > Manage Credentials > domain에 있는 global을 클릭합니다. Kind는 Username with password를 선택하고 패스워드란에 Personal access tokens값을 입력하고 인증정보를 추가합니다....

2021-03-30 · bokyung