밖에 노출되면 안되는 API 키나 비밀번호 등을 저장하기 위해 .env 파일을 사용하는데 제대로 못 불러와서 애먹어서 기록을 위해 저장한다.
프로젝트 루트 디렉토리에 .env 파일을 생성한뒤
키=값
의 형태로 값을 넣어주면 된다. 문자열이어도 "" 은 쓰지 말 것! (나는 놀랍게도 콜론을 쓰고 계속 값을 불러와서 몇시간을 삽질했다 ... )
.env 파일을 보다 편하게 쓰기 위해 dotenv npm module을 설치했다. 그나저나 import 쓰려니까 package.json에 type: "module" 을 추가하라고 에러 메세지가 떠서 추가했더니 갑자기 잘 import해오던 js파일 뒤에 모두 확장자를 붙여줘야 찾아오는... 이상한 상황이 발생했다. 일단은 돌아가게 하는게 목적이니까 .js 모두 적어주고 type: "module"까지 잘 추가해주었다,
aws rds에 연결해야되므로 엔드포인트, 아이디, 비밀번호, 포트 번호를 env 파일에 저장하여 로드했다. dotenv.config()를 최상단에 호출하여 .env 파일을 불러올 수 있게 설정한 뒤 process.env._____ 의 형식으로 가져다가 쓰면 된다!!
aws rds에 mysql 을 셋팅한 뒤 workbench에 연결하는 건 쉬웠는데 저 이상한 삽질 때문에 시간을 너무 많이 날렸다...
import mysql from "mysql";
import dotenv from "dotenv";
dotenv.config();
const connection = mysql.createConnection({
host: process.env.AWS_DB_HOST,
user: process.env.AWS_DB_USER,
password: process.env.AWS_DB_PASSWORD,
port: process.env.AWS_DB_PORT,
database: "test",
});
connection.connect(function (err) {
if (err) {
throw err;
}
console.log("✅ Connected to DB");
connection.end();
});
그나저나 나는 aws rds 연결하려면 무조건 aws-sdk 써야되는줄 알았는데 그것도 아니었음
'개발 프로젝트 > 2022... 마켓컬리 핵페스타' 카테고리의 다른 글
db 연결 비동기 처리 (0) | 2022.08.22 |
---|---|
aws ec2 사용하기 (0) | 2022.08.21 |
aws rds + nodejs 설정하기 (0) | 2022.08.21 |
React Native에서 push notification 구현하기 - FCM (0) | 2022.08.19 |
aws 이용하여 push 알림 서버 만들기 (0) | 2022.08.18 |