일반

Q: Amazon CodeGuru란 무엇입니까?

Amazon CodeGuru는 지능형 권장 사항으로 코드 품질 및 애플리케이션 성능을 사전에 개선하는 데 도움이 되는 완전관리형 서비스입니다.

Q: Amazon CodeGuru로 무엇을 할 수 있습니까?

Amazon CodeGuru는 기계 학습 모델과 학습한 모범 사례를 활용하여 코드 품질을 개선하고 애플리케이션 성능을 최적화할 수 있는 지능형 권장 사항을 제공합니다. Amazon CodeGuru에는 CodeGuru 리뷰어와 CodeGuru 프로파일러가 포함됩니다. CodeGuru 리뷰어는 코드 리포지토리의 코드 풀 요청을 분석하는 기능이고, CodeGuru 프로파일러는 애플리케이션의 실행 성능을 분석하는 기능입니다.

CodeGuru 리뷰어는 프로덕션으로 이동하기 전의 코드 검토 중에 코드 문제를 자동으로 감지하여 코드를 프로덕션에 배포하기 전에 문제를 감지하고 전체 애플리케이션 성능 및 품질을 개선할 수 있도록 합니다. CodeGuru 프로파일러는 애플리케이션에서 핵심 비즈니스 논리를 실행하는 것이 아니라 일상 작업을 로깅하는 데 과도한 CPU 용량이 소비되는 상황을 식별할 수 있습니다. CodeGuru 프로파일러는 최소한의 리소스 소비로 프로덕션 애플리케이션을 지속적으로 프로파일링하도록 설계되었습니다.

Q: Amazon CodeGuru를 시작하려면 어떻게 해야 합니까?

Amazon CodeGuru는 공개적으로 평가판이 제공됩니다. Amazon CodeGuru 콘솔에서 바로 시작할 수 있습니다.

Amazon CodeGuru 리뷰어를 시작하려면 CodeGuru 리뷰어 콘솔에 로그인하고 GitHub 또는 AWS CodeCommit의 기존 코드 리포지토리를 연결하면 됩니다. 1회성 설정을 완료하면 CodeGuru 리뷰어가 풀 요청 또는 코드 리포지토리 내에서 직접 코드를 분석하고 코드 개선 권장 사항을 제공하기 시작합니다.

몇 분 내에 애플리케이션 프로파일링을 시작할 수도 있습니다. Amazon CodeGuru 프로파일러를 시작하려면 CodeGuru 프로파일러 콘솔에 로그인하고 애플리케이션을 구성하면 됩니다. CodeGuru 프로파일러가 제공하는 단계별 지침과 코드를 사용하여 애플리케이션에 소규모의 평범한 에이전트를 설치합니다. CodeGuru 프로파일러를 지속적으로 실행하여 라이브 애플리케이션의 성능 문제를 찾을 수 있습니다.

Q: Amazon CodeGuru를 사용할 수 있는 AWS 리전은 어디입니까?

지원되는 AWS 리전을 보려면 모든 AWS 글로벌 인프라에 대한 AWS 리전 표를 참조하십시오. 자세한 내용은 AWS 일반 참조에서 리전 및 엔드포인트를 참조하십시오.

Amazon CodeGuru 리뷰어

Q: Amazon CodeGuru 리뷰어란 무엇입니까?

Amazon CodeGuru 리뷰어는 Java 기반 코드에서 중요한 결함과 AWS 모범 사례와의 차이를 식별하는 자동화된 코드 검토 서비스입니다. 풀 요청 또는 코드 리포지토리 내에서 코드 줄을 스캔하고 주요 오픈소스 프로젝트 및 Amazon 코드베이스에서 학습한 표준을 기반으로 지능형 권장 사항을 제공합니다. CodeGuru 리뷰어는 AWS CodeCommit 및 GitHub 등 널리 사용되는 소스 제어 시스템의 기존 코드 검토 워크플로와 원활하게 통합되며 코드 품질 개선을 위해 실행할 수 있는 권장 사항을 제공합니다.

Q: 지원되는 프로그래밍 언어 및 소스 코드 리포지토리는 무엇입니까?

Amazon CodeGuru 리뷰어는 현재 GitHub 및 AWS CodeCommit 리포지토리에 저장된 Java 코드를 지원합니다.

Q: Amazon CodeGuru 리뷰어는 어떤 유형의 문제를 감지합니까?

Amazon CodeGuru 리뷰어는 동시성 문제, 잠재적 경합 조건, 삭제되지 않은 입력, 중요한 데이터(예: 자격 증명)의 부적절한 처리, 리소스 유출을 확인하며 동시 코드의 경합 조건도 감지합니다.

Q: Amazon CodeGuru 리뷰어를 시작하려면 어떻게 해야 합니까?

Amazon CodeGuru 콘솔로 이동하여 코드 풀 요청 내에 직접 CodeGuru 리뷰어 권장 사항을 통합하면 됩니다. CodeGuru 콘솔에서 AWS CodeCommit 및 GitHub 리포지토리를 연결하는 단계를 수행하여 CodeGuru 리뷰어의 권장 사항을 수신할 수 있습니다. CodeGuru 리뷰어는 읽기 전용 액세스 권한을 필요로 하며 풀 요청에 대한 설명을 게시할 수 있습니다. CodeGuru 리뷰어를 활성화하면 연결된 리포지토리의 풀 요청에 대한 설명이 생성되는 대로 자동화된 지능형 권장 사항이 제공됩니다.

Q: Amazon CodeGuru 리뷰어가 내 코드에 액세스할 수 있습니까?

Amazon CodeGuru 리뷰어는 코드에 대한 권장 사항을 생성할 목적으로 읽기 전용 액세스 권한으로만 코드에 액세스합니다. AWS에서는 고객의 신뢰, 개인 정보, 콘텐츠의 보안을 최우선으로 하고 있으며 콘텐츠에 대한 무단 액세스 또는 유출을 방지하기 위해 전송 중 암호화를 비롯한 적절한 제어를 구현하고 고객과의 약속을 충실히 준수합니다. 자세한 내용은 데이터 프라이버시 FAQ를 참조하십시오.

Q: Amazon CodeGuru 리뷰어에 내 코드 복사본이 유지됩니까?

아니요. Amazon CodeGuru 리뷰어는 사용자의 소스 코드를 저장하지 않습니다.

Q: Amazon CodeGuru 리뷰어는 지능형 권장 사항을 제공하기 위해 어떻게 학습됩니까?

Amazon CodeGuru 리뷰어는 로지스틱 회귀와 신경망 조합을 사용하는 규칙 마이닝 및 지도형 기계 학습 모델을 사용하여 학습됩니다.

예를 들어 AWS 및 업계 모범 사례와의 차이를 교육하는 동안 CodeGuru 리뷰어는 검색 기술 및 로컬리티 인식 모델을 사용하여 Amazon 코드베이스에서 AWS API 호출이 포함된 풀 요청을 마이닝합니다. 코드의 품질을 개선하기 위한 코드 변경을 살펴보고 설명서 데이터를 교차 참조로 사용합니다. 여기서 결과적으로, 리뷰어가 코드를 검토할 때 사용자에게 모범 사례로 권장하는 새로운 규칙 세트가 생성됩니다.

리소스 및 중요한 데이터 유출에 대한 학습 중에는 리소스 또는 중요한 데이터를 사용하는 코드 경로에 대해 전체 코드 분석을 수행하고, 이를 나타내는 기능 세트를 생성한 다음, 로지스틱 회귀 모델 및 CNN(Convolutional Neural Network)의 입력으로 사용합니다.

규칙 기반 및 기계 학습 기반 모델에 대해 CodeGuru 리뷰어는 사용자가 레이블로 제공하는 피드백을 사용하고 코드 감지기의 품질을 반복적으로 개선합니다.

Amazon CodeGuru 프로파일러

Q: Amazon CodeGuru 프로파일러란 무엇입니까?

Amazon CodeGuru 프로파일러는 애플리케이션의 실행 시간 동작을 파악하고, 성능을 개선하며, 컴퓨팅 비용을 절감하는 데 도움이 되는 개발자용 기능입니다. CodeGuru 프로파일러는 애플리케이션 런타임 프로필을 분석한 후 개발자에게 코드에서 가장 관련성이 높은 부분의 성능을 개선하는 방법을 알려주는 지능형 권장 사항 및 시각화를 제공합니다.

Q: 이미 방대한 로깅 및 디버깅 기능이 코드에 통합되어 있습니다. 그래도 프로파일링이 필요합니까?

“하향식”(로깅 및 디버깅) 모니터링 접근 방식은 좋은 방법이지만 코드 효율성 분석에는 실용적이지 않습니다. 실행 시간을 기록하는 것은 제한된 시나리오에만 효과가 있으며 구현하는 데 많은 시간이 걸립니다. 이 경우 적합한 것이 “상향식” 실행 시간 모니터링입니다. Amazon CodeGuru 프로파일러는 시나리오에 관계 없이 애플리케이션의 동작에서 발생하는 모든 것에 대한 데이터를 수집합니다. CodeGuru 프로파일러는 일반적으로 발생하는 성능 비효율에 대한 기술 자료를 사용하여 라이브 애플리케이션에서 성능에 영향을 미치는 코드 패턴을 자동으로 검색합니다. 그런 다음 개발자가 제공된 권장 사항에 따라 문제를 수정할 수 있습니다.

Q: CodeGuru 프로파일러는 기존의 APM 및 독립 실행형 프로파일러와 어떻게 다릅니까?

기존의 APM은 모니터링, 추적 및 애플리케이션 성능에 관한 유용한 데이터를 제공합니다. Amazon CodeGuru 프로파일러는 애플리케이션의 실행 시간 데이터를 시각화하고 검색된 성능 문제에 대해 실행할 수 있는 권장 사항을 제공하여 이러한 APM 기능을 보완합니다. CodeGuru 프로파일러를 사용하면 성능을 최적화할 수 있는 가장 좋은 기회를 나타내는 코드 부분을 손쉽게 식별하고 성능 엔지니어링에 대한 해박한 지식 없이도 최적화를 수행하는 방법에 대한 지침을 받을 수 있습니다. 또한 일부 독립 실행형 프로파일러는 테스트 환경에서만 실행되도록 설계되었지만 CodeGuru 프로파일러는 프로덕션 환경의 프로덕션 트래픽 로드 아래에서 애플리케이션에 미치는 영향 없이 지속적으로 실행되도록 설계되었습니다. 따라서 베어메탈 호스트에서 실행할 때와 같이 프로덕션의 운영 문제를 해결하는 데 많은 도움이 됩니다.

Q: 어떤 유형의 애플리케이션을 프로파일링할 수 있습니까?

Amazon CodeGuru 프로파일러는 Amazon EC2에서 호스팅되는 애플리케이션과 Amazon ECS 및 Amazon EKS에서 실행되는 컨테이너식 애플리케이션, AWS Fargate에서 실행되는 서버리스 애플리케이션에서 작동합니다.

Q: 지원되는 프로그래밍 언어는 무엇입니까?

Amazon CodeGuru 프로파일러는 현재 Java 애플리케이션을 지원합니다.

Q: CodeGuru 프로파일러는 어떻게 작동합니까?

CodeGuru 프로파일러는 에이전트, 프로파일러 서비스 및 지능형 권장 사항의 3가지 부분으로 구성됩니다. 에이전트는 애플리케이션의 일부로 프로세스 내 스레드로 실행됩니다. 에이전트는 에이전트를 실행하는 각 서비스 인스턴스의 데이터를 수집한 후 5분 간격으로 프로파일러 서비스로 전송합니다. 그러면 프로파일러 서비스가 이러한 데이터를 집계합니다. CodeGuru 프로파일러는 프로필 데이터를 대화형 플레임 그래프로 게시합니다. 사용자는 이 그래프를 사용하여 응용 프로그램의 성능을 시각화할 수 있습니다. 또한 CodeGuru 프로파일러는 프로파일링된 데이터를 지속적으로 스캔하고 Amazon 및 성능 엔지니어링 모범 사례와 비교합니다. 성능 문제가 발견되면 선제적으로 지능형 권장 사항을 제공합니다.

Q: 프로파일링 그룹이란 무엇입니까?

프로파일링 그룹은 사용자가 생성하는 논리적 그룹화으로, 단일 애플리케이션의 경계를 나타냅니다. 예를 들어 마이크로서비스 아키텍처에서 프로파일링 그룹은 마이크로서비스에 할당된 프로필을 집계하고 모든 마이크로서비스에 대한 단일 프로필을 생성할 수 있습니다.

Product-Page_Standard-Icons_01_Product-Features_SqInk
요금에 대해 자세히 알아보기

Amazon CodeGuru 요금 페이지를 방문하십시오.

자세히 알아보기 
Product-Page_Standard-Icons_02_Sign-Up_SqInk
무료 계정에 가입

AWS 프리 티어에 즉시 액세스할 수 있습니다. 

가입하기 
Product-Page_Standard-Icons_03_Start-Building_SqInk
콘솔에서 구축 시작

AWS Management Console에서 Amazon CodeGuru를 사용하여 구축을 시작하십시오.

로그인