AWS Toolkit for JetBrains IDEs 사용설명서
AWS Toolkit for JetBrains IDEs: 사용설명서 Copyright 2019 Amazon Web Services, Inc. and/or its affiliates. All rights reserved. Amazon's trademarks and trade dress may not be used in connection with any product or service that is not Amazon's, in any manner that is likely to cause confusion among customers, or in any manner that disparages or discredits Amazon. All other trademarks not owned by Amazon are the property of their respective owners, who may or may not be affiliated with, connected to, or sponsored by Amazon.
Table of Contents AWS Toolkit for JetBrains IDEs 이란무엇입니까?... 1 추가리소스... 1 시작하기... 2 프로그래밍언어별 AWS Toolkit for JetBrains 기능... 2 AWS Toolkit for JetBrains 설정... 2 사전조건... 2 IntelliJ IDE 에 AWS Toolkit for JetBrains 설치... 3 AWS 자격증명설정... 3 AWS 액세스키받기... 3 AWS 액세스키를 AWS Toolkit for JetBrains 에추가... 4 AWS Toolkit for JetBrains 를사용하여여러개의 AWS 계정사용... 5 AWS 리전변경... 6... 6 AWS 서비스작업... 8 AWS Lambda 작업... 8 서버리스애플리케이션생성및배포... 8 Lambda 함수생성... 11 Lambda 함수호출및디버그... 13 문서기록... 17 iii
추가리소스 AWS Toolkit for JetBrains IDEs 이란무엇입니까? AWS Toolkit for JetBrains IDEs 는 Amazon Web Services 를사용하여개발자가쉽게서버리스애플리케이션을개발, 디버깅및배포할수있도록하는 Jetbrains 의 IDE( 통합개발환경 ) 용오픈소스플러그인입니다. Amazon Web Services 용애플리케이션을단순화하는자격증명관리및 AWS 리전관리와같은기능이포함되어있습니다. 주제 AWS Toolkit for JetBrains 시작하기 (p. 2) AWS 서비스작업 (p. 8) 추가리소스 도구키트의소스코드가필요하거나현재해결되지않은문제를보려면다음리소스를이용하십시오. 소스코드 문제추적기 1
프로그래밍언어별 AWS Toolkit for JetBrains 기능 AWS Toolkit for JetBrains 시작하기 이단원에서는 AWS Toolkit for JetBrains 설치및구성방법에대한정보를비롯하여 AWS Toolkit for JetBrains IDEs 를시작하는사람들에게필요한정보를제공합니다. 주제 프로그래밍언어별 AWS Toolkit for JetBrains 기능 (p. 2) JetBrains IDEs 에서 AWS Toolkit for JetBrains 설정 (p. 2) AWS 자격증명설정 (p. 3) AWS 리전변경 (p. 6) 프로그래밍언어별 AWS Toolkit for JetBrains 기능 시작하기전에각언어에대해지원되는도구키트기능을알아두십시오. 언어 리소스탐색기 새로운서버리스프로젝트 로컬실행 / 디버그 Lambda 함수배포 서버리스애플리케이션배포 원격 Lambda 함수호출 Python 예예예예예예 Java 예예예예아니요예 기타예아니요아니요아니요아니요예 JetBrains IDEs 에서 AWS Toolkit for JetBrains 설정 이단원서는 AWS Toolkit for JetBrains 를설치하거나업그레이드하는방법을설명합니다. 사전조건 AWS Toolkit for JetBrains 을설치하려면다음조건을갖춰야합니다. Amazon Web Services 계정 - AWS 계정을얻으려면 AWS 홈페이지로이동하여지금가입을클릭합니다. 등록하면 AWS 에서제공하는모든서비스를사용할수있습니다. 지원되는운영체제 - AWS Toolkit for JetBrains 는 Windows, Linux, macos 또는 Unix 에서지원됩니다. JetBrains IDEs 버전 2018.3.x 이상 - AWS Toolkit for JetBrains 최신버전을 JetBrains 다운로드페이지에서제공하는기본버전과일치하도록시도하고있습니다. AWS SAM CLI - 서버리스애플리케이션을로컬에서개발, 테스트및분석할수있게도와주는 AWS CLI 도구입니다. 도구키트를설치하는데에는필요하지않지만, AWS Lambda 기능에는필요하므로설치할것을권장합니다. AWS Serverless Application Model 개발자안내서의 AWS SAM CLI 설치를참조하십시오. 2
IntelliJ IDE 에 AWS Toolkit for JetBrains 설치 Docker - 이오픈소스소프트웨어컨테이너플랫폼은 AWS SAM CLI 에필요합니다. 자세한정보및다운로드지침은 Docker 를참조하십시오. IntelliJ IDE 에 AWS Toolkit for JetBrains 설치 Note 이설치지침은 AWS Toolkit 가지원하는 JetBrains IDEs 설치지침과동일합니다. 1. IntelliJ IDE 를시작합니다. 2. 기본설정메뉴에서플러그인을선택합니다. 3. 플러그인검색상자에 AWS 를입력하여목록에 AWS Toolkit 가표시되는지확인합니다. 항목을선택하고오른쪽창에세부정보를확인합니다. 4. 오른쪽창에서설치를선택합니다. 5. 설치후 IDE 를다시시작하라는메시지가표시되면다시시작을선택하여설치를완료합니다. AWS Toolkit for JetBrains 를설치한후 JetBrains 에서 AWS 리소스에액세스할수있도록 AWS 자격증명 (p. 3) 을구성해야합니다. AWS 자격증명설정 AWS Toolkit for JetBrains 를사용하여 Amazon Web Services 에액세스하려면 AWS 계정자격증명을사용하여 AWS Toolkit for JetBrains 를구성해야합니다. 이설명서에서다루지않은사용자와자격증명에대한자세한정보는다음리소스를참조하십시오. Amazon Web Services 일반참조의 AWS 보안자격증명 IAM 사용설명서의자격증명관리개요 : 사용자 AWS 액세스키받기 액세스키는 AWS 에대해사용자를식별하고 AWS 서비스와리소스를프로그래밍방식으로액세스할수있는자격증명입니다. 액세스키는 AWS 계정 ( 계정의 "root 사용자 ") 또는 IAM 을사용하여생성하는사용자와연결될수있습니다. root 사용자는기본적으로서비스및리소스에대해모든액세스권한을가진관리자이므로, 필요한작업을수행하는데필요한권한만가진 IAM 사용자를만들것을권장합니다. 그런다음자격증명에대해해당사용자와연결된액세스키를사용할수있습니다. 자세한정보는 IAM 사용설명서의 AWS 계정의 IAM 사용자생성단원을참조하십시오. 액세스키는사용자이름과유사한액세스키 ID 및암호화유사한보안액세스키로구성됩니다. 이액세스키는 AWS 에보내는프로그래밍방식의요청에서명하는데사용됩니다. 액세스키가없는경우에는 AWS Management 콘솔을사용해액세스키를생성할수있습니다. 계정 root 사용자의키를사용하는대신 IAM 사용자의액세스키를사용할것을권장합니다. Note 액세스키를생성하려면필요한 IAM 작업을수행할수있는권한이있어야합니다. 자세한정보는 IAM 사용설명서의 IAM 사용자에게암호정책및자격증명관리권한부여하기단원을참조하십시오. 3
AWS 액세스키를 AWS Toolkit for JetBrains 에추가 계정액세스키 ID 와보안액세스키를검색하는방법은다음과같습니다. 1. https://console.aws.amazon.com/iam/ 에서 IAM 콘솔을엽니다. 2. 탐색메뉴에서사용자를선택합니다. 3. 세부정보를보려면 IAM 사용자이름 ( 확인란아님 ) 을선택합니다. 4. 보안자격증명탭을선택한후액세스키만들기를선택합니다. 5. 새액세스키를보려면 [Show] 를선택합니다. 자격증명은다음과같습니다. 액세스키 ID: AKIAIOSFODNN7EXAMPLE 보안액세스키 : wjalrxutnfemi/k7mdeng/bpxrficyexamplekey 6. 키페어파일을다운로드하려면 [Download.csv file] 을선택합니다. 안전한위치에키를저장합니다. Important AWS 계정을보호하기위해서는키를기밀로유지하도록하고, 결코이메일로전송해서는안됩니다. AWS 또는 Amazon.com 의이름으로문의가온다할지라도조직외부로키를공유하지마십시오. Amazon 을합법적으로대표하는사람이라면결코보안키를요구하지않을것입니다. 보안키를분실한경우복원할수없습니다. 대신, 보안을위해새키페어를생성하고기존의키페어를삭제해야합니다. AWS 액세스키를 AWS Toolkit for JetBrains 에추가 AWS Toolkit for JetBrains 는 AWS CLI 및 AWS SDK 에서사용하는시스템과동일한시스템을사용하여 AWS 액세스키를찾고사용합니다. AWS Toolkit for JetBrains 에입력하는액세스키는홈디렉터리의.aws 디렉터리에있는공유 AWS 자격증명파일 (credentials) 에저장됩니다. AWS CLI 를사용하여 AWS 자격증명을이미설정한경우 AWS Toolkit for JetBrains 는해당자격증명을자동으로감지하여사용할수있도록만듭니다. AWS CLI 사용에대한자세한내용은 AWS Command Line Interface 사용설명서를참조하십시오. 액세스키를 AWS Toolkit for JetBrains 에추가하려면 1. JetBrains IDEs 중하나를엽니다. 2. AWS Explorer 창에서 AWS 연결구성을선택합니다. (IDE 를처음열경우왼쪽가장자리에서창을확장해야할수있습니다.) 3. AWS 자격증명파일편집을선택합니다. 4. 파일이없으면만들라는메시지가표시됩니다. 그다음에 [OK] 를선택합니다. 5. 이도구키트는 IDE 에서자격증명파일을엽니다. 액세스키 ID 와보안액세스키를추가한후파일을저장합니다. 자격증명을파일에추가하고저장했으면 IDE 를다시시작하라는메시지가표시됩니다. IDE 가다시시작되면 AWS Explorer 에나열된 AWS Lambda 를확인합니다. 노드를확장하며해당계정에정의된모든 Lambda 애플리케이션과함수를확인합니다. 4
AWS Toolkit for JetBrains 를사용하여여러개의 AWS 계정사용 AWS 자격증명파일형식 도구키트가 AWS 자격증명파일을생성하는경우다음형식의파일이생성됩니다. [default] aws_access_key_id={your_access_key_id} aws_secret_access_key={your_secret_access_key} [profile2] aws_access_key_id={your_access_key_id} aws_secret_access_key={your_secret_access_key} 프로필이름은대괄호에지정되며 ( 예 : [default]), 그뒤에는해당프로필의구성가능한필드가키 - 값페어로이어집니다. 자격증명파일에여러개의프로파일을정의할수있습니다. aws configure --profile PROFILE_NAME 을사용하여구성할프로파일을선택하여추가하거나편집합니다. aws_session_token, metadata_service_timeout 및 metadata_service_num_attempts 와같은추가필드를지정할수있습니다. CLI 를사용해서는이를구성할수없으므로사용하려는경우에는반드시파일을직접편집해야합니다. 구성파일및사용가능한필드에대한자세한내용은 AWS Command Line Interface 사용설명서의 AWS 명령줄인터페이스구성을참조하십시오. AWS Toolkit for JetBrains 를사용하여여러개의 AWS 계정사용 자격증명파일이 AWS 계정이한개보다많을경우도구키트는이러한계정을쉽게선택할수있게해줍니다. 예를들어, 개발자및관리자에게개발및릴리스또는게시에대한별도의리소스를제공하는데여러계정이유용할수있습니다. 별도의 AWS 자격증명집합은 AWS 액세스키를 AWS Toolkit for JetBrains 에추가 (p. 4) 에서설명한공유 AWS 자격증명파일의프로파일로저장됩니다. IDE 하단오른쪽에서 AWS 메뉴를선택한후모든자격증명을선택하여구성된프로파일을모두볼수있습니다. 새로운액세스키집합을추가하려면, 1. IDE 하단오른쪽에서 AWS 메뉴를엽니다. 2. AWS 연결설정을선택한후모든자격증명메뉴를선택합니다. 5
AWS 리전변경 3. AWS 자격증명파일편집을선택합니다. IDE 에서편집하기위해자격증명파일을엽니다. 4. AWS 자격증명파일형식 (p. 5) 에서설명한자격증명파일형식에따라추가프로파일을입력합니다. AWS 리전변경 자격증명을설정할경우 AWS Toolkit for JetBrains 는기본 AWS 리전을자동으로선택합니다. 이단원에서는다른리전을선택하는방법을설명합니다. AWS Toolkit for JetBrains 를사용하여다른리전을선택하려면 1. AWS Explorer 를열고옵션메뉴를선택합니다. 2. AWS 연결설정을선택한후모든리전을선택합니다. 6
AWS 리전변경 3. 목록에서리전을선택합니다. 7
AWS Lambda 작업 AWS 서비스작업 AWS Explorer 는 AWS Toolkit for JetBrains 이연동할수있는 Amazon Web Services 보기를제공합니다. 이단원에서는 JetBrains IDEs 에 AWS Explorer 보기에액세스하고사용하는방법에대한정보를제공합니다. 여기에서는시스템에이미 AWS Toolkit for JetBrains 가설치되어있다고가정합니다. AWS Lambda 작업 AWS Toolkit for JetBrains 는 AWS Lambda 에대한코드작성을지원합니다. Lambda 는사용자지정코드로생성된이벤트에대한응답으로또는 Amazon Simple Storage Service(Amazon S3), Amazon DynamoDB, Amazon Kinesis, Amazon Simple Notification Service(Amazon SNS), Amazon Cognito 등다양한 AWS 제품에서코드를실행하는완벽관리형컴퓨팅서비스입니다. Lambda 에대한자세한정보는 AWS Lambda Developer Guide 를참조하십시오. AWS Toolkit for JetBrains 사용설명서의이단원에서는 AWS Toolkit for JetBrains 의기능을사용하여 Lambda 함수를생성하고, 배포하고, 실행하는방법을중점적으로설명합니다. AWS Toolkit for JetBrains 를사용하여서버리스애플리케이션생성및배포 이예제에서는 PyCharm IDE 에서 AWS Toolkit for JetBrains 를사용하여서버리스애플리케이션을생성하고배포합니다. AWS Toolkit for JetBrains 를사용하여서버리스애플리케이션을생성하려면 1. IDE 가시작하면시작창에서 + 새프로젝트만들기를선택합니다. 2. 새프로젝트대화상자에서 AWS Serverless Application 를선택합니다. 3. 프로젝트를저장할위치를입력합니다. 이예제에서는나머지필드에서기본값을그대로사용합니다. 4. 이도구키트는 AWS SAM 템플릿파일을비롯하여배포하는데필요한모든파일을포함하는기본프로젝트를생성합니다. AWS SAM 템플릿파일은애플리케이션을어떻게배포할지를정의합니다. AWS 8
서버리스애플리케이션생성및배포 SAM 템플릿구문에대한자세한정보는 AWS Serverless Application Model 개발자안내서에서 AWS SAM 템플릿기본사항을참조하십시오. AWS Toolkit for JetBrains 를사용하여서버리스애플리케이션을배포하려면 1. 프로젝트의상황에맞는메뉴에서서버리스애플리케이션배포를선택합니다. 9
서버리스애플리케이션생성및배포 10
Lambda 함수생성 2. 스택의이름을입력합니다. AWS SAM 템플릿파일을사용하여생성할 AWS CloudFormation 스택입니다. 3. 새로운 Amazon S3 버킷을생성하거나, 계정에서기존버킷을선택할수도있습니다. 이버킷은프로젝트를저장하는데사용됩니다. 4. 애플리케이션배포대화상자에서배포진행상황을확인할수있습니다. 5. 배포가완료되면 AWS Explorer 창에해당애플리케이션이나열됩니다. 애플리케이션의일부로생성된 Lambda 함수를호출및디버그하는방법을알아보려면 Lambda 함수호출및디버그 (p. 13) 단원을참조하십시오. Lambda 함수생성 AWS Toolkit for JetBrains 를사용하여 Lambda 함수를생성하려면먼저프로젝트에요청핸들러를만들어야합니다. 핸들러만들기에대한자세한정보는 AWS Lambda Developer Guide 를참조하십시오. Java 핸들러만들기에대한자세한정보는 AWS Lambda Developer Guide 의 Java 핸들러를참조하십시오. 11
Lambda 함수생성 AWS Toolkit for JetBrains 를사용하여 Lambda 함수만들기 이예에서는다음과같은간단한핸들러를사용해보겠습니다. import com.amazonaws.services.lambda.runtime.context; import com.amazonaws.services.lambda.runtime.requesthandler; public class HelloLambda implements RequestHandler<String, String> { } @Override public String handlerequest(string input, Context context) { context.getlogger().log("input: " + input); String output = "Hello, " + input + "!"; return output; } Note import 문을위해 AWS SDK for Java 가필요합니다. Java 용 SDK 에대한종속항목을설정하는절차는 AWS SDK for Java Developer Guide 를참조하십시오. 프로젝트에이함수가있으면 AWS 계정에서 Lambda 함수를생성할수있습니다. AWS Toolkit for JetBrains 를사용하여 Lambda 함수를생성하려면 1. AWS Explorer 에서 AWS Lambda 를마우스오른쪽버튼으로클릭하여상황에맞는메뉴를엽니다. 2. 새 AWS Lambda 생성을선택합니다. 3. 대화상자에새함수에대한정보를입력합니다. Lambda 함수를실행할새로운 IAM 역할을만들거나, 기존역할을선택할수있습니다. 이목록에는 Lambda 함수를실행할수있는권한을가진역할만표시됩니다. Amazon S3 버킷을생성하여소스를업로드하거나, 계정에있는기존 S3 버킷을선택할수있습니다. 4. 모든필드를입력한이후 Create Function 을선택합니다. 12
Lambda 함수호출및디버그 프로세스가완료되는데몇분정도걸립니다. 함수가생성되면함수가생성되었다는팝업알림이표시됩니다. 이제 Lambda 에함수가업로드되었습니다. AWS Explorer 에서함수목록에 Lambda 함수가표시됩니다. Lambda 함수호출및디버그 Lambda 함수호출 Lambda 핸들러함수가포함된프로젝트를열경우 Lambda 함수를로컬에서호출할수있습니다. 함수가없는경우새함수를생성하는예제를보려면 Lambda 함수생성 (p. 11) 단원을참조하십시오. 1. 코드창커터에서 Lambda 아이콘을선택하여상황에맞는메뉴를표시합니다. 2. '[Local] HelloLambda' 실행을선택합니다. 13
Lambda 함수호출및디버그 3. 입력필드에다음을입력합니다. "AWS Lambda" 구성대화상자가표시되지않으면 IDE 에서실행을선택한후구성편집을선택합니다. IDE 를사용하는다른프로젝트에서와마찬가지로 Lambda 함수의출력이실행되는것을볼수있습니다. 14
Lambda 함수호출및디버그 Lambda 함수디버그 거터아이콘에서동일한상황에맞는메뉴를사용하여로컬로 Lambda 함수를디버그할수도있습니다. 1. 디버거에서찾을중단점을설정합니다. 2. 코드창커터에서 Lambda 아이콘을선택하여상황에맞는메뉴를표시합니다. 3. '[Local] HelloLambda' 디버그를선택합니다. 15
Lambda 함수호출및디버그 디버거는중단점에도달할때까지실행된후디버거창을엽니다. 그런다음 IDE 의디버거도구를사용하여코드를진행할수있습니다. 16
사용설명서에대한문서기록 다음표에서는본 ServiceName 릴리스관련설명서를소개합니다. update-history-change update-history-description update-history-date 최초릴리스 (p. 17) AWS Toolkit for JetBrains 용사용설명서의첫번째릴리스입니다. November 27, 2018 17