본문 바로가기
반응형

aws33

AWS Secrets Manager 개념 및 테스트 비밀값 관리 대부분 어플리케이션은 외부에 노출돼서는 안되는 비밀값을 갖고 있음(ex. 데이터베이스 접속정보, 서드파티 서비스 호출을 위한 액세스 키 등) 비밀값 관리 원칙 비밀값 유출가능성으로 비밀값은 버전 관리 시스템에 업로드되면 안됨 비밀값은 최소한의 인원만 알고 있어야 함 비밀값과 아닌 값은 분리해서 관리 필요 비밀값 관리 방법 배포 자동화 툴 - Jenkins, Chef, Ansible 같은 배포 자동화 툴들은 배포 시 서버 내 암호화된 값을 어플리케이션이 사용할 수 있게 저장할 수 있음 Vault(오픈소스) - 비밀값 암호화, API 접속을 위한 임시 토큰 발급, 키 롤링, 외부서비스(IAM, SSH, DB 등)에서 사용하는 권한 시스템 사용, 기록 감사, 암복호화 API 등 제공 - 어플리케이.. 2022. 3. 11.
AWS ALB, AutoScalingGroup 활용해서 Blue-Green 배포 테스트 Blue-Green 배포 대체 환경을 생성하여 점진적으로 트래픽을 전환하는 방식 로드밸런서의 설정(등록/해제) 변경으로 롤백이 빠름 배포 과정에서 요청량을 처리하는 인스턴스 개수가 줄지 않음 배포 과정에서 인스턴스의 수를 2배로 늘려야 함으로 배포준비 시간이 오래 걸림 Blue/Green 배포를 위해 일단 기존 환경인 Blue환경을 확인한 후 신규 버전인 Green 환경 구성하여 로드밸런서 설정을 진행한다. 기존 Blue환경 구성 확인 * 기존 환경 구성 참조: https://happy-jjang-a.tistory.com/70 - ASG에 "mytest-nginx-asg" 그룹과 로드밸런서에 대상 그룹 설정되어 있음 - 로드밸런서 설정: 리스너 HTTP:80 및 대상그룹 - 로드밸런서를 통한 기존 환경 .. 2022. 3. 9.
AWS Certificate Manager(ACM) 인증서 생성 HTTPS와 SSL/TLS 인증서 HTTPS는 HTTP 프로토콜의 보안이 강화된 버전 HTTP 프로토콜에 SSL/TLS 암호화 프로토콜을 이용해 전송되는 데이터의 암호화를 진행 HTTPS의 3가지 목적 - 기밀성: 주고 받는 내용에 대한 암호화 - 무결성: 주고 받는 내용을 변조하지 못하게 하는것 - 인증: 클라이언트가 통신하고 있는 서버의 신원을 확인 AWS Certificate Manager를 통해 무료로 발급 가능 Certificate Manager를 통한 인증서 생성 - ACM메뉴에서 오른쪽 '인증서 요청' 클릭(기존에 이미 가지고 있는 인증서가 있다면 '인증서 가져오기'로 등록 가능) - '퍼블릭 인증서 요청' 선택 - 서브도메인까지 포함하기 위해 사용하는 도메인 앞에 * 붙임(ex> *.myt.. 2022. 3. 8.
AWS API Gateway 살펴보기(HTTP API, REST API 생성) AWS API Gateway Amazon API Gateway는 규모와 관계없이 REST 및 WebSocket API를 생성, 게시, 유지, 모니터링 및 보호하기 위한 AWS 서비스로 API의 '관문' 역할 API서버와 Client 사이에서 API들을 관리해주는게 API Gateway API에 대한 단일 진입점으로 사용자 요청을 각 API 서버로 라우팅해주고, API에 대한 로깅, 엑세스 제어, 모니터링, 인증 처리 가능 제공 API 유형 HTTP API : API 프록시 기능정도만 필요할 때 적합, 단순/저렴 REST API: API 관리 기능, 요청/응답에 대한 제어가 필요할 경우 적합, 복잡/비쌈 WebSocket API: 웹소켓 용도 * HTTP API vs REST API 선택: https://.. 2022. 3. 4.
AWS CodePipeline 구성(CodeCommit, CodeBuild, CodeDeploy 활용) CodePipeline 어플리케이션 및 인프라 업데이트의 배포 파이프라인 자동화를 제공하는 완전 관리형 Continuous Delivery 서비스 코드 변경이 발생하는 경우 자동 빌드 -> 테스트 -> 배포 수행 AWS 서비스 및 3rd Party(Github, Jenkins 등) 툴과 통합 가능 커스텀 WorkFlow 모델링: AWS Lambda와 통합하여 파이프라인 어느 단계에서든 사용자 정의 함수 Trigger 가능 CodePipeline 주요 구성요소 Pipeline: WorkFlow 구성, 각 파이프라인 당 S3버킷에 폴더 생성 및 아티팩트 저장 됨 Stage: 수행 '작업' Action: 실행 단위로 지정된 순서 및 병렬로 수행, 모든 Action은 입력/출력 아티팩트를 가짐 Transitio.. 2022. 2. 28.
AWS CodeDeploy로 EC2 Auto Scaling Group 배포(java) CodeDeploy 클라우드 기반 배포 자동화를 위한 CD(Continuous Deploy) 도구 AWS EC2, ECS, Lambda 및 온프레미스 서버에도 배포 가능 S3, CodeCommit, CodePipeline, Git, ELB, Auto-Scaling 등과 통합 CodeDeploy 주요 구성 요소 AppSpec 파일: 배포할 어플리케이션에 대한 정보를 설정(yml or json) 배포 구성: CodeDeploy에서 사용하는 배포규칙,배포성공/실패 조건 세트 - EC2/온프레미스 인스턴스의 최소개수지정, Lambda함수 버전으로 특정 트래픽 라우팅 방식(Canary, Linear, All-at-Once) 등 배포그룹: 개별 인스턴스들의 세트, 특정 태그가 지정된 인스턴스 or ASG에 포함된 .. 2022. 2. 27.
AWS CodeBuild로 빌드하기(SpringBoot, Maven) CodeBuild 클라우드의 완전 관리형 CI(Continuous Integration) 서비스: 소스코드 컴파일, 단위테스트, 빌드 파일 생성 빌드서버의 프로비저닝 및 운영/관리 불필요 Maven, Gradle 등 많이 사용되는 프로그래밍 언어 및 도구에 따라 사전 패키지된 빌드 환경(빌드 프로젝트)을 제공 빌드 수행 볼륨에 따라 자동 확장/축소 가능 및 사용한 빌드 시간만큼만 비용을 지불 CodeBuild 동작방식 Source Control - GitHub, CodeCommit, S3 등에서 소스 불러오기 Build Project - 소스코드위치, 빌드환경, 빌드명령, 빌드 결과 저장위치 등 빌드 실행 방식 정의 Build Environment - Build Project 기반으로 빌드 환경 생성 및.. 2022. 2. 26.
AWS CodeCommit Migration 테스트(from Github) Github의 소스를 CodeCommit으로 마이그레이션 하는 방법 - CodeCommit메뉴에서 빈 리파지토리 생성 - 생성된 리파지토리의 URL을 복제하여 로컬로 Clone 실행 git clone https://git-codecommit.ap-northeast-2.amazonaws.com/v1/repos/springboot-test - Github에서 Migration 할 리파지토리의 URL 복제 - Github의 소스를 저장할 디렉토리 생성하고, git clone --mirror 수행 mkdir github-migration git clone --mirror https://github.com/xxxx/springboot-jsp.git github-migration - github-migration .. 2022. 2. 24.
반응형