반응형 CLOUD/AWS200 Canary 배포 - Sam 탬플릿 업데이트 및 Canary 모니터링 프로젝트에서 SAM 템플릿(sam-app/template.yaml)을 열고 HelloWorldFunction 속성 섹션에 다음 줄을 추가합니다. AutoPublishAlias: live DeploymentPreference: Type: Canary10Percent5Minutes 배포 기본 설정 유형 이 워크샵에서는 Canary10Percent5Minutes 전략을 사용합니다. 즉, 트래픽이 2단계로 이동됩니다. 첫 번째 증분에서는 트래픽의 10%만 새 Lambda 버전으로 이동되고 5분 후에 나머지 90%가 이동됩니다. CodeDeploy에서 선택할 수 있는 다른 배포 전략이 있습니다. Canary10Percent30Minutes Canary10Percent5Minutes Canary10Percent10.. 2021. 8. 24. Canary 배포 개요(SAM) 카나리아 배포는 전체 고객 기반에 롤아웃하기 전에 소규모 사용자 하위 집합에 변경 사항을 천천히 롤아웃하여 새 버전의 애플리케이션 배포 위험을 줄이는 기술입니다. 블루/그린 및 카나리아 배포의 개념은 한동안 사용되어 왔으며 소프트웨어 배포의 위험을 줄이기 위한 모범 사례로 잘 확립되었습니다. 기존 애플리케이션에서는 애플리케이션 상태를 확인하는 동시에 플릿의 서버를 천천히 점진적으로 업데이트합니다. 그러나 이러한 개념을 서버리스 세계에 매핑할 때 약간의 임피던스 불일치가 있습니다. 서버가 없을 때는 여러 서버에 소프트웨어를 점진적으로 배포할 수 없습니다. 이것을 가능하게 하는 데 관련된 몇 가지 서비스와 기능이 있다는 것입니다. Lambda 버전 및 별칭 AWS Lambda를 사용하면 동일한 함수의 여러 .. 2021. 8. 24. AWS codecommit 리포지토리 연결 및 에러 로컬에서 codecommit을 이용하는데 the requested url returned error 403 aws codecommit 다음과 같은 에러가 떠버렷습니다. 근데 이상한게 첫번째는 잘 됬었던거 같은데 중간에 설정값을 바꾼것같네요. Troubleshooting을 하자면 Codecommit에는 3가지 접근방법이 있다. https - credential helper 사용하는방식 ssh - ssh(퍼블릭,프라이빗) key 이용하는 방식 https(GRC) - 로컬로 연결하는 방식 저는 로컬에서 git-remote-codecommit 을 사용하므로 https(GRC)를 사용해야하는데 https입력하라고 해서 맨위에 것을 사용한게 원인이었습니다. 헌데 push를 했는데 git: 'remote-codeco.. 2021. 8. 24. Pipeline 만들기(SAM) Pipeline 구축 방법 CI/CD 파이프라인 생성을 자동화하는 가장 좋은 방법은 코드로서의 인프라를 통해 프로그래밍 방식으로 프로비저닝하는 것입니다. 이는 마이크로서비스당 파이프라인이 있는 마이크로서비스 환경에서 특히 유용합니다. 이는 잠재적으로 수십 개의 파이프라인을 의미할 수 있습니다. 이러한 파이프라인을 자동으로 생성하는 방법을 사용하면 개발자가 매번 콘솔에서 수동으로 빌드하지 않고도 필요한 만큼 생성할 수 있습니다. 파이프라인을 만드는 다양한 방법 프로그래밍 방식으로 파이프라인을 생성하기 위해 다양한 메커니즘을 사용하는 고객을 봅니다. 오늘날 개발자는 선택할 수 있는 선택지가 많지만 가장 일반적인 것은 다음과 같습니다. AWS CloudFormation AWS CDK Terraform AWS .. 2021. 8. 23. Pipeline 만들기(SAM) 개요 및 리포지토리 생성 AWS Code Pipeline을 사용하여 지속적 전달 파이프라인을 생성하여 빌드, 패키징 및 배포 명령을 자동화하는 방법을 배우게 됩니다. 사용하는 서비스는 CodeCommit, CodeBuild, CodePipeline, CloudFormation 및 AWS CDK입니다. 모든 CI/CD 파이프라인은 코드 리포지토리로 시작합니다. 여기에서는 간편한 통합을 위해 AWS CodeCommit을 사용하지만 GitHub와 같은 다른 소스 코드 통합을 사용할 수도 있습니다. 터미널에서 다음 명령을 실행하여 새 CodeCommit 리포지토리를 생성합니다. aws codecommit create-repository --repository-name sam-app 나중에 cloneUrlHttp의 값이 필요하니 복사해둡.. 2021. 8. 23. AWS에 수동 배포(SAM) 완전 자동화된 지속적 전달 파이프라인 구축을 시작하기 전에 이 장에서는 AWS SAM CLI를 사용하여 서버리스 애플리케이션을 구축, 패키징 및 배포하는 방법을 배웁니다. 이 워크샵은 배포 자동화에 관한 것이지만 이 장은 Serverless 애플리케이션을 패키징하고 배포하는 방법의 기초를 배우는 데 매우 중요합니다. 수동 배포를 수행하는 방법을 배우는 것은 소스 제어 리포지토리에 변경 사항을 커밋하기 전에 자신의 개인 스택을 만들고 자주 배포하여 변경 사항을 테스트하려는 개발자에게도 유용합니다. Artifacts 아티팩트는 CI/CD 컨텍스트에서 빌드 프로세스의 출력을 나타냅니다. 아티팩트는 일반적으로 zip/tar 파일, jar 또는 바이너리 형태입니다. 그런 다음 이러한 아티팩트를 가져와 다른 환경(.. 2021. 8. 23. 로컬에서 프로젝트 실행(SAM) 이제 SAM 응용 프로그램이 있습니다. AWS SAM CLI를 사용하여 로컬에서 실행하고 테스트하는 방법을 배우게 됩니다. 이는 일상적인 개발 워크플로의 일부이기 때문에 중요합니다. 애플리케이션이 예상대로 작동하는지 확인하고, 무엇이 잘못되었는지 디버그하고, 변경 사항을 중앙 저장소로 푸시하기 전에 문제를 수정하는 데 도움이 됩니다. 애플리케이션을 로컬에서 실행하기 전에 애플리케이션에서 사용할 수 있는 타사 라이브러리 또는 종속성을 설치하는 것이 일반적입니다. 이러한 종속성은 런타임에 따라 다른 파일에 정의됩니다(예: NodeJS 프로젝트의 경우 package.json 또는 Python 프로젝트의 경우 requirements.txt). cd sam-app/hello-world npm install SAM.. 2021. 8. 23. CI/CD를 위한 serverless appllication - AWS SAM 생성 CI/CD를 위한 serverless application을 만들것입니다. # 개요 우선 SAM을 이용하여 API gateway와 lambda를 SAM을 통해 만들고 도커로 로컬에서 돌려봅니다. 그게 됐다면 AWS에 수동으로 코드를 올린뒤 pipeline을 만들어 CI/CD를 구성할 것입니다. 마지막으로 canary 배포 구성을 하여 롤백테스트를 할 것입니다. AWS SAM은 명령줄 도구인 AWS SAM CLI를 제공하므로 서버리스 애플리케이션을 쉽게 생성하고 관리할 수 있습니다. 특히 Hello World 애플리케이션의 초기 골격을 생성하므로 새 프로젝트의 스캐폴딩을 쉽게 만들어 기본으로 사용하고 거기에서 프로젝트를 계속 빌드할 수 있습니다. 방금 만든 Hello World SAM 프로젝트는 배포 시 .. 2021. 8. 23. AWS SAM(Serverless Application Model) 서버리스 애플리케이션을 구축하기 위한 오픈 소스 프레임워크 서버리스 애플리케이션는 작업을 수행하는 데 함께 작동하는 Lambda 함수, 이벤트 소스 및 기타 리소스의 조합입니다. 서버리스 애플리케이션은 단순한 Lambda 함수 이상입니다. API, 이벤트 매핑 등 추가 리소스를 포함할 수 있습니다. 일반적으로 배포를 S3에 하는데 local에서 테스트 하고 싶다면 docker를 이용하여 컨테이너를 생성해테스트 해볼수 있습니다. Docker는 macOS 시스템에서 컨테이너를 실행하는 응용 프로그램입니다.AWS SAM와 유사한 로컬 환경을 제공합니다. 도커 컨테이너를 사용함으로써 AWS lambda를 사용할 수 있습니다. 이 컨테이너를 사용하여 서버리스 응용 프로그램을 빌드, 테스트 및 디버깅할 수 있습니다.. 2021. 8. 23. AWS 지역(region)에 따라 속도가 다름 리소스 별로 연결하고 써보면 지역마다 속도가 굉장히 다르다. 뭄바이 써봤는데 드럽게 느리길래 원래 이런가 싶었는데 미국꺼 쓰니까 엄청나게 빨랐다. 2021. 8. 20. AWS ELB(Elastic Load Balancing) 목차 Elastic Load Balancing은 들어오는 애플리케이션 트래픽을 Amazon EC2 인스턴스, 컨테이너, IP 주소, Lambda 함수, 가상 어플라이언스와 같은 여러 대상에 자동으로 분산시킵니다. Elastic Load Balancing은 단일 가용 영역 또는 여러 가용 영역에서 다양한 애플리케이션 부하를 처리할 수 있습니다. Elastic Load Balancing이 제공하는 네 가지 로드 밸런서는 모두 애플리케이션의 내결함성에 필요한 고가용성, 자동 조정, 강력한 보안을 갖추고 있습니다. Elastic Load Balancing는 로드 밸런서 유형 Application Load Balancer, Network Load Balancer 및 Classic Load Balancer를 지원합.. 2021. 8. 18. NAT 게이트웨이 활용 개요 Elastic cache관련 구축을 진행하다가 vpc로 네트워크 구성을 해보고 싶어서 진행하였습니다. 퍼블릭 NAT 게이트웨이를 사용하여 프라이빗 서브넷의 인스턴스가 아웃바운드 트래픽을 인터넷에 전송할 수 있지만 인터넷이 해당 인스턴스에 대한 연결할수 없습니다. 학습내용 VPC 서브넷 라우팅 테이블 인터넷 게이트웨이 탄력적 IP NAT 게이트웨이 아키텍처 가용 영역 A의 퍼블릭 서브넷에는 NAT 게이트웨이가 있습니다. 가용 영역 B의 프라이빗 서브넷에는 인스턴스가 포함되어 있습니다. 라우터는 프라이빗 서브넷의 인스턴스에서 NAT 게이트웨이로 인터넷 바인딩 트래픽을 보냅니다. NAT 게이트웨이는 NAT 게이트웨이의 탄력적 IP 주소를 소스 IP 주소로 사용하여 인터넷 게이트웨이로 트래픽을 보냅니다. .. 2021. 8. 17. 이전 1 ··· 12 13 14 15 16 17 다음 반응형