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. 화려하게간다
    나둔데 수벌....
    대화보기
    • labis98
      20220130 좋은 강의 감사합니다.
    • 드두드두
      저도 밑에 dldlsgh89님처럼 app.get('/ec2' function(req, res)~~~~ 이부분에서 res.json(data) 가 null이 뜨고 자격증명 오류가 뜨는데 어떻게 해결해야 하나요ㅠㅠ... 80번포트에 접속안하고 console로만 했을 경우에는 오류가 안뜹니다....도와주세욥ㅠㅠ
    • 이한성
      강의 잘 들었습니다.
    • 제이치
      수강 완료!
    • Woori
      잘봤습니다
    • dldlsgh89
      동영상보면서 마지막까지 진행했는데 저같은 경우 이상하게 sudo node app.js를 실행하면 credentials에서 자격증명이 누락됐다는 에러가 뜨네요. 근데 그냥 node app.js를 하면 잘나옵니다. 다시 말해서 ssh로 접속해서 인스턴스정보를 확인할때는 잘 되는데 웹상으로 접속해서 /ec2 경로로 들어가서 json 파일로 확인하려고 하면 에러가 뜹니다;; 무슨 권한 문제인건가 싶다가도 동영상에서 하는데로 그대로 따라했는데도 왜 안되지싶어요 ㅋㅋ;; 다른 분들은 잘 되나요?
    • 코린이
      윈도우 환경에서는 mkdir ~/.aws 이 명령어가 안 되서 사용자 디렉터리에다 폴더랑 파일 만들었는데
      'AWS was not able to validate the provided access credentials'에러가 뜹니다. 윈도우 환경에서 하신
      동영상 강의도 있나요 ㅠㅠ
    • 고생
      인증파일 생성 하기전에 mkdir ~/.aws 해주셔야 합니다.. 동영상엔 나오고 밑에 글엔 없으니 참고
    • 궁금
      이미 php할때 .aws와 credentials를 생성해놨으면 또 안해도 되는건가요??
    버전 관리
    egoing
    현재 버전
    선택 버전
    graphittie 자세히 보기