Amazon Web Services

nodejs를 위한 AWS SDK

본 수업에서는 AWS를 제어하는 방법으로서 SDK를 사용하는 방법을 알아봅니다.

실습환경

nodejs 실습환경을 구축하는 방법은 아래의 링크를 참고해주세요. 

https://opentutorials.org/module/1946/11767

SDK 설치

npm install aws-sdk --save

사용자 생성 및 권한 부여

IAM에서 사용자를 생성 한 후에 AWS 인프라에 접속하기 위한 권한을 부여해야 합니다. 예를들어 EC2를 제어한다고 하면 AmazonEC2FullAccess 권한을 부여해야 합니다. 권한은 최소한으로 주셔야 안전합니다. 

인증파일 생성

~/.aws/credentials 에 아래 형식으로 키 값을 넣어주세요. 참고

[default]
aws_access_key_id = <YOUR_ACCESS_KEY_ID>
aws_secret_access_key = <YOUR_SECRET_ACCESS_KEY>

예제 소스 코드

var express = require('express');
var app = express();
var AWS = require('aws-sdk');
AWS.config.region = 'ap-northeast-2';
var ec2  = new AWS.EC2();
app.get('/', function(req, res){
        res.send('Hello world');
});
app.get('/ec2', function(req, res){
        ec2.describeInstances({}, function(err, data) {
                res.json(data);
        });
});
app.listen(80, function(){
        console.log('Connect 80 port');
});

아래와 같이 구동시킵니다. 

sudo node app.js

 

댓글

댓글 본문
  1. 잘봤습니다
  2. dldlsgh89
    동영상보면서 마지막까지 진행했는데 저같은 경우 이상하게 sudo node app.js를 실행하면 credentials에서 자격증명이 누락됐다는 에러가 뜨네요. 근데 그냥 node app.js를 하면 잘나옵니다. 다시 말해서 ssh로 접속해서 인스턴스정보를 확인할때는 잘 되는데 웹상으로 접속해서 /ec2 경로로 들어가서 json 파일로 확인하려고 하면 에러가 뜹니다;; 무슨 권한 문제인건가 싶다가도 동영상에서 하는데로 그대로 따라했는데도 왜 안되지싶어요 ㅋㅋ;; 다른 분들은 잘 되나요?
  3. 코린이
    윈도우 환경에서는 mkdir ~/.aws 이 명령어가 안 되서 사용자 디렉터리에다 폴더랑 파일 만들었는데
    'AWS was not able to validate the provided access credentials'에러가 뜹니다. 윈도우 환경에서 하신
    동영상 강의도 있나요 ㅠㅠ
  4. 고생
    인증파일 생성 하기전에 mkdir ~/.aws 해주셔야 합니다.. 동영상엔 나오고 밑에 글엔 없으니 참고
  5. 궁금
    이미 php할때 .aws와 credentials를 생성해놨으면 또 안해도 되는건가요??
버전 관리
egoing
현재 버전
선택 버전
graphittie 자세히 보기