AWS Cloud9용 TypeScript 자습서 - AWS Cloud9

AWS Cloud9 신규 고객은 더 이상 사용할 수 없습니다. AWS Cloud9 의 기존 고객은 정상적으로 서비스를 계속 이용할 수 있습니다. 자세히 알아보기

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWS Cloud9용 TypeScript 자습서

이 자습서는 AWS Cloud9 개발 환경에서 TypeScript를 사용하는 방법을 보여줍니다.

이 자습서를 따르고 이 샘플을 생성하면 AWS 계정에 요금이 발생할 수 있습니다. 여기에는 Amazon EC2 및 Amazon S3 같은 서비스에 대한 발생할 수 있는 요금이 포함됩니다. 자세한 내용은 Amazon EC2 요금Amazon S3 요금을 참조하세요.

필수 조건

이 샘플을 사용하기 전에 설정이 다음 요구 사항을 충족하는지 확인하세요.

  • 기존 AWS Cloud9 EC2 개발 환경이 있어야 합니다. 이 샘플에서는 Amazon Linux 또는 Ubuntu 서버를 실행 중인 Amazon EC2 인스턴스에 연결된 EC2 환경이 이미 있다고 가정합니다. 다른 환경 또는 운영 시스템이라면 이 샘플 지침을 관련 도구를 설치하는 데에 적용해야 합니다. 자세한 내용은 에서 환경 만들기 AWS Cloud9 섹션을 참조하세요.

  • 기존 환경에 대한 AWS Cloud9 IDE가 이미 열려 있습니다. 환경을 열 때 AWS Cloud9은 웹 브라우저에서 환경을 위한 IDE를 엽니다. 자세한 내용은 AWS Cloud9에서 환경 열기 섹션을 참조하세요.

1단계: 필수 도구 설치

이 단계에서는 Node Package Manager(npm)를 사용하여 TypeScript를 설치합니다. npm을 설치하려면 Node Version Manager(nvm)를 사용합니다. nvm이 없는 경우 이 단계에서 먼저 설치합니다.

  1. AWS Cloud9 IDE의 터미널 세션에서 --version 옵션을 사용하여 명령줄 TypeScript 컴파일러를 실행함으로써 TypeScript가 이미 설치되었는지 여부를 확인합니다. (터미널 세션을 새로 시작하려면 메뉴 모음에서 Window(창), New Terminal(새 터미널)을 선택합니다.) 성공할 경우, 출력에 TypeScript 버전 번호가 포함됩니다. TypeScript가 설치된 경우 2단계: 코드 추가 단원으로 이동합니다.

    tsc --version
  2. --version 옵션을 지정하고 npm 을 실행하여 npm 이 이미 설치되어 있는지 확인합니다. 성공할 경우, 출력에 npm 버전 번호가 포함됩니다. npm이 설치된 경우 이 절차의 10단계로 건너뛰고 npm을 사용하여 TypeScript t를 설치합니다.

    npm --version
  3. yum update 명령(Amazon Linux) 또는 apt update 명령(Ubuntu Server)을 실행하여 최신 보안 업데이트와 버그 수정이 설치되어 있는지 확인합니다.

    Amazon Linux의 경우:

    sudo yum -y update

    Ubuntu Server:

    sudo apt update
  4. npm 을 설치하려면, 먼저 다음 명령을 실행하여 Node Version Manager( nvm )를 다운로드합니다. ( nvm 은 Node.js 버전을 설치하고 관리하는 데 유용한 간단한 Bash 셸 스크립트입니다. 자세한 내용은 GitHub 웹 사이트의 Node Version Manager를 참조하세요.)

    curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash
  5. nvm 사용을 시작하려면 터미널 세션을 닫고 나서 다시 시작하거나, nvm을 로드하는 명령을 포함하는 ~/.bashrc 파일을 소싱합니다.

    . ~/.bashrc
  6. nvm 옵션을 지정하고 nvm 을 실행하여 --version 이 설치되어 있는지 확인합니다.

    nvm --version
  7. nvm을 실행하여 최신 버전인 Node.js 16을 설치합니다(npm은 Node.js 에 포함되어 있음).

    nvm install v16
  8. --version 옵션으로 명령줄 버전의 Node.js를 실행하여 Node.js가 설치되어 있는지 확인합니다.

    node --version
  9. npm 옵션을 지정하고 npm 을 실행하여 --version 이 설치되어 있는지 확인합니다.

    npm --version
  10. -g 옵션으로 npm을 실행하여 TypeScript 설치합니다. 그러면 환경에 TypeScript가 글로벌 패키지로 설치됩니다.

    npm install -g typescript
  11. --version 옵션으로 명령줄 TypeScript 컴파일러를 실행하여 TypeScript 가 설치되어 있는지 확인합니다.

    tsc --version

2단계: 코드 추가

  1. AWS Cloud9 IDE에 이름이 hello.ts인 파일을 생성합니다. (파일을 생성하려면 메뉴 모음에서 [파일(File)], [새 파일(New File)]을 선택합니다. 파일을 저장하려면 [파일(File)], [저장(Save)]을 선택합니다.)

  2. IDE의 터미널에서, hello.ts 파일과 동일한 디렉터리에서 npm을 실행하여 @types/node 라이브러리를 설치합니다.

    npm install @types/node

    그러면 node_modules/@types/node 파일과 동일한 디렉터리에 hello.ts 폴더가 추가됩니다. 이 새 폴더에는 이 절차의 뒷부분에서 hello.ts 파일에 추가할 console.logprocess.argv 속성에 대해 TypeScript가 필요로 하는 Node.js 형식 정의가 포함되어 있습니다.

  3. 다음 코드를 hello.ts 파일에 추가합니다:

    console.log('Hello, World!'); console.log('The sum of 2 and 3 is 5.'); const sum: number = parseInt(process.argv[2], 10) + parseInt(process.argv[3], 10); console.log('The sum of ' + process.argv[2] + ' and ' + process.argv[3] + ' is ' + sum + '.');

3단계: 코드 실행

  1. 터미널에서, hello.ts 파일과 동일한 디렉터리에서 TypeScript 컴파일러를 실행합니다. 포함할 hello.ts 파일 및 추가 라이브러리를 지정합니다.

    tsc hello.ts --lib es6

    TypeScript는 hello.ts 파일 및 ECMAScript 6(ES6) 라이브러리 파일 세트를 사용하여 hello.ts 파일의 TypeScript 코드를 hello.js라는 파일의 해당하는 JavaScript 코드로 변환합니다.

  2. [환경(Environment)] 창에서 hello.js 파일을 엽니다.

  3. 메뉴 모음에서 Run(실행), Run Configurations(실행 구성), New Run Configuration(새로운 실행 구성)을 선택합니다.

  4. [[새로 만들기] - 유휴([New] - Idle)] 탭에서 [러너: 자동(Runner: Auto)]을 선택한 다음 [Node.js]를 선택합니다.

  5. 명령hello.js 5 9를 입력합니다. 코드에서 5process.argv[2]를 나타내고 9process.argv[3]를 나타냅니다. (process.argv[0]는 런타임의 이름(node)을 나타내고 process.argv[1]는 파일의 이름(hello.js)을 나타냅니다.)

  6. Run(실행)을 선택하여 출력을 비교합니다. 완료했으면 [중지(Stop)]를 선택합니다.

    Hello, World! The sum of 2 and 3 is 5. The sum of 5 and 9 is 14.
AWS Cloud9 IDE에서 코드를 실행한 후의 Node.js 출력
참고

IDE에서 새 실행 구성을 생성하는 대신 터미널에서 node hello.js 5 9 명령을 실행하여 이 코드를 실행할 수도 있습니다.

4단계: AWS SDK for JavaScript in Node.js 설치 및 구성

이 샘플을 응용해 AWS SDK for JavaScript in Node.js를 사용하여 Amazon S3 버킷을 생성하고 사용 가능한 버킷을 나열한 다음 방금 생성한 버킷을 삭제합니다.

이 단계에서는 AWS SDK for JavaScript in Node.js를 설치하고 구성합니다. 이 SDK는 JavaScript 코드에서 Amazon S3과 같은 AWS 서비스와 상호 작용할 수 있는 편리한 방법을 제공합니다. AWS SDK for JavaScript in Node.js를 설치한 후 환경에서 자격 증명 관리를 설정해야 합니다. SDK는 AWS 서비스와 상호 작용하기 위해서 이런 자격 증명이 필요합니다.

AWS SDK for JavaScript in Node.js를 설치하려면

AWS Cloud9 IDE의 터미널 세션에서 3단계: 코드 실행hello.js 파일과 동일한 디렉터리에서 npm 을 실행하여 AWS Node.js의 JavaScript용 SDK를 설치합니다.

npm install aws-sdk

이 명령은 3단계: 코드 실행node_modules 폴더에 여러 폴더를 추가합니다. 이러한 폴더에는 AWS SDK for JavaScript in Node.js의 소스 코드 및 종속 구성 요소가 들어 있습니다. 자세한 내용은 AWS SDK for JavaScript 개발자 가이드에서 SDK for JavaScript 설치를 참조하세요.

환경에서 보안 인증 관리를 설정하려면

AWS SDK for JavaScript in Node.js를 사용하여 AWS 서비스를 호출할 때마다 호출과 함께 자격 증명 세트를 제공해야 합니다. 이러한 자격 증명은 AWS SDK for JavaScript in Node.js가 해당 호출을 할 수 있는 적절한 권한이 있는지 여부를 결정합니다. 자격 증명으로 적절한 권한이 확인되지 않는 경우 호출이 실패합니다.

이 단계에서는 환경 내에서 자격 증명을 저장합니다. 이렇게 하려면 AWS Cloud9의 환경에서 AWS 서비스 호출 섹션의 지침을 수행한 다음 이 주제로 돌아옵니다.

자세한 내용은 AWS SDK for JavaScript 개발자 가이드Node.js에서 자격 증명 설정을 참조하세요.

5단계: AWS SDK 코드 추가

이 단계에서는 몇 가지 코드를 더 추가합니다. 이번 경우에는 Amazon S3와 상호 작용하기 위한 것이며 버킷을 생성하고 사용 가능한 버킷을 나열한 다음 막 생성한 버킷을 삭제합니다. 이 코드를 나중에 실행합니다.

  1. AWS Cloud9 IDE에서, 이전 단계의 hello.js 파일과 동일한 디렉터리에 s3.ts라는 파일을 생성합니다.

  2. AWS Cloud9 IDE의 터미널에서, s3.ts 파일과 동일한 디렉터리에서 npm를 두 번 실행하여 TypeScript용과 JavaScript용의 비동기 라이브러리를 설치함으로써 코드가 Amazon S3 작업을 비동기로 호출할 수 있도록 합니다.

    npm install @types/async # For TypeScript. npm install async # For JavaScript.
  3. 다음 코드를 s3.ts 파일에 추가합니다:

    import * as async from 'async'; import * as AWS from 'aws-sdk'; if (process.argv.length < 4) { console.log('Usage: node s3.js <the bucket name> <the AWS Region to use>\n' + 'Example: node s3.js my-test-bucket us-east-2'); process.exit(1); } const AWS = require('aws-sdk'); // To set the AWS credentials and AWS Region. const async = require('async'); // To call AWS operations asynchronously. const s3: AWS.S3 = new AWS.S3({apiVersion: '2006-03-01'}); const bucket_name: string = process.argv[2]; const region: string = process.argv[3]; AWS.config.update({ region: region }); const create_bucket_params: any = { Bucket: bucket_name, CreateBucketConfiguration: { LocationConstraint: region } }; const delete_bucket_params: any = { Bucket: bucket_name }; // List all of your available buckets in this AWS Region. function listMyBuckets(callback): void { s3.listBuckets(function(err, data) { if (err) { } else { console.log("My buckets now are:\n"); for (let i: number = 0; i < data.Buckets.length; i++) { console.log(data.Buckets[i].Name); } } callback(err); }); } // Create a bucket in this AWS Region. function createMyBucket(callback): void { console.log("\nCreating a bucket named '" + bucket_name + "'...\n"); s3.createBucket(create_bucket_params, function(err, data) { if (err) { console.log(err.code + ": " + err.message); } callback(err); }); } // Delete the bucket you just created. function deleteMyBucket(callback): void { console.log("\nDeleting the bucket named '" + bucket_name + "'...\n"); s3.deleteBucket(delete_bucket_params, function(err, data) { if (err) { console.log(err.code + ": " + err.message); } callback(err); }); } // Call the AWS operations in the following order. async.series([ listMyBuckets, createMyBucket, listMyBuckets, deleteMyBucket, listMyBuckets ]);

6단계: AWS SDK 코드 실행

  1. 터미널에서, s3.ts 파일과 동일한 디렉터리에서 TypeScript 컴파일러를 실행합니다. 포함할 s3.ts 파일 및 추가 라이브러리를 지정합니다.

    tsc s3.ts --lib es6

    TypeScript는 s3.ts 파일, AWS SDK for JavaScript in Node.js, 비동기 라이브러리 및 ECMAScript 6(ES6) 라이브러리 파일 세트를 사용하여 s3.ts 파일의 TypeScript 코드를 s3.js라는 파일의 해당하는 JavaScript 코드로 변환합니다.

  2. [환경(Environment)] 창에서 s3.js 파일을 엽니다.

  3. 메뉴 모음에서 Run(실행), Run Configurations(실행 구성), New Run Configuration(새로운 실행 구성)을 선택합니다.

  4. [[새로 만들기] - 유휴([New] - Idle)] 탭에서 [러너: 자동(Runner: Auto)]을 선택한 다음 [Node.js]를 선택합니다.

  5. [명령(Command)]에 s3.js YOUR_BUCKET_NAME THE_AWS_REGION 을 입력합니다. 여기서 YOUR_BUCKET_NAME 은 생성했다고 삭제할 버킷의 이름이며, THE_AWS_REGION 는 버킷을 생성할 AWS 리전의 ID입니다. 예를 들어 미국 동부(오하이오) 리전의 경우 us-east-2를 사용합니다. 더 많은 ID는 Amazon Web Services 일반 참조의 Amazon Simple Storage Service(Amazon S3)를 참조하세요.

    참고

    Amazon S3 버킷 이름은 해당 AWS 계정뿐만 아니라 모든 AWS에서 고유해야 합니다.

  6. Run(실행)을 선택하여 출력을 비교합니다. 완료했으면 [중지(Stop)]를 선택합니다.

    My buckets now are: Creating a new bucket named 'my-test-bucket'... My buckets now are: my-test-bucket Deleting the bucket named 'my-test-bucket'... My buckets now are:

7단계: 정리

이 샘플 사용 후 AWS 계정에 계속하여 요금이 부과되지 않도록 환경을 삭제해야 합니다. 지침은 AWS Cloud9에서 환경 삭제 단원을 참조하세요.