밖에 노출되면 안되는 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 써야되는줄 알았는데 그것도 아니었음

+ Recent posts