본문 바로가기

Compute/EC2

AWS Amazon Linux AMI에 node.js npm aws-sdk 설치

금일은 EC2 Amazon AMI에 node.js / Express / npm / aws-sdk를 구성한다.

인터넷에서 잘못된 정보로 헤매는 경우가 많아, 간단하게 정리해봄. 이것도 언젠가 잘못된 정보가 될 수 있으니 AWS Document를 참고하는게 낫다.

 

설치 전에 먼저 yum update를 한다.

 

Tutorial: Setting Up Node.js on an Amazon EC2 Instance - AWS SDK for JavaScript

The AWS Documentation website is getting a new look! Try it now and let us know what you think. Switch to the new look >> You can return to the original look by selecting English in the language selector above. Tutorial: Setting Up Node.js on an Amazon EC2

docs.aws.amazon.com

 

1.node.js 설치(v4)

#curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.0/install.sh | bash
#. ~/.nvm/nvm.sh
#nvm install 4.4.5
#node -v

 

2. aws-sdk 설치

#npm install aws-sdk
#npm install express

 

3. aws credentials 등록(Access&Secret Key)

[root@ip-10-0-1-81 aws-nodejs-sample]# aws configure
AWS Access Key ID [****************26XQ]: AKXXXXXXXXXCVV26XQ
AWS Secret Access Key [****************qRNl]: 8lh+diCXXXXXXX8zeM6ZdNXSs
Default region name [ap-northeast-1]: ap-northeast-1
Default output format [json]: json

 

4. Access/Secret Key 확인

root@ip-10-0-1-81 aws-nodejs-sample]# cat /root/.aws/credentials
[default]
aws_access_key_id = AKIXXDXXXXXX26XQ
aws_secret_access_key = 8lh+XXXXXXXXdNXSsbRYqRNl

 

인스턴스에서 필요한 Policy가 적용된 Access&Secret Key를 등록해야 한다.

필요한 정책마다 추가도 가능하다.

[default] / [S3-FULL] / [RDS-FULL] 이런 식으로 해당 정책을 나눠서 등록하는 것을 권장한다.

 

5. Test 코드

var AWS = require('aws-sdk');
var s3 = new AWS.S3();
 s3.createBucket({Bucket: 'myBucket'}, function() {
  var params = {Bucket: 'myBucket', Key: 'myKey', Body: 'Hello!'};
  s3.putObject(params, function(err, data) {
      if (err)
          console.log(err)
      else console.log("Successfully uploaded data to myBucket/myKey");
   });
});

 

6. 실행

[root@ip-10-0-1-50 aws-nodejs-sample]# node test.js
Successfully uploaded data to myBucket/myKey

 

테스트 코드는 S3 myBucket에 Hello 문자열이 저장된 mykey 객체를 등록하는 코드다.

간단하게 EC2 인스턴스에 node aws-sdk를 테스트 해봤다.