AWS S3에서 NetworkingError: connect ECONNREFUSED에러가 발생합니다.
조회수 4243회
node.js에서 aws s3 테스트 중입니다.
var AWS = require('aws-sdk');
AWS.config.region = 'ap-northeast-1';
AWS.config.endpoint = 'archabucket.s3-website-ap-northeast-1.amazonaws.com';
var fs = require('fs');
var s3 = new AWS.S3();
var params = {
Bucket: 'archabucket',
Key: 'logo.png',
ACL: 'public-read ',
Body: fs.createReadStream('94.png'),
ContentType: 'image/png'
};
s3.putObject(params, function(err, data) {
if (err) console.log(err, err.stack); // an error occurred
else console.log(data); // successful response
});
생활코딩을 보면서 간단하게 테스트 중인데 엔드포인트 에러가 뜨길래 엔드포인트를 잡아주니 이번엔 NetworkingError: connect ECONNREFUSED 에러가 뜹니다..
그냥 간단하게 버킷리스트를 반환하는건되는데 .... AmazonS3FullAccess 권한은 주었습니다.. 지역도 서울로 바꿔도 똑같고 참 난감합니다...
1 답변
-
수정 답변
AWS.config.region = 'ap-northeast-1'; AWS.config.endpoint = 'archabucket.s3-website-ap-northeast-1.amazonaws.com';
여기가 문제인 것 같네요. 서울의 region과 endpoint는 다음과 같이 지정해야 합니다.(ap-northeast-1은 일본이고, 2로 해야 서울입니다.)
AWS.config.region = 'ap-northeast-2'; AWS.config.endpoint = 's3.ap-northeast-2.amazonaws.com';
이전 답변
Aws Node.js SDK 페이지에 나온 코드를 조금 수정 하니 데이터가 업로드되네요.
아래 코드에서 추가된 부분이라고 주석 달린 부분은 여기를 참고했어요.
var AWS = require('aws-sdk'); //추가된 부분-시작 AWS.config.update({ signatureVersion: 'v4' }); //추가된 부분-끝 var s3 = new AWS.S3(); s3.createBucket({Bucket: '버킷name'}, function() { var params = {Bucket: '버킷name', Key: 'myKey', Body: 'Hello!'}; s3.putObject(params, function(err, data) { if (err) console.log(err) else console.log("Successfully uploaded data to myBucket/myKey"); }); });
댓글 입력