[os] 환경변수란? 설정 방법 정리 (비밀정보 숨기기, 파이썬 os.environ, EC2 환경 변수 설정)

2023. 5. 25. 02:58·etc

환경 변수란 운영체제(OS) 수준에서 설정되는 변수입니다.

주로 애플리케이션에서 설정하기 어려운 값들을 환경 변수로 관리합니다.

 

환경 변수를 이용하면 애플리케이션에서 코드를 수정하지 않고도

개발, 테스트, 운영 등 배포 환경에 따라 값을 유연하게 변경할 수 있어서

이식성과 유지 보수성 측면에서 큰 이점이 있습니다.

 

예를 들면, 서버에서 중요한 키나 비밀 정보를 숨기기 위해 사용합니다.

AWS를 이용하기 위한 시크릿 키가 노출되면 안 되겠죠?

또한, Git hub에 올라가서도 안됩니다.

따라서 환경 변수를 사용합니다. 😀 

 


📝환경변수 생성

 

✔ GUI 방법과 cmd 방법 2가지가 있습니다.

 

⦁ cmd를 사용하는 방법

//window
set 변수명=값

//mac, rinux
export 변수명=값

 

 

⦁ GUI를 사용하는 방법 (Window)

✔ 환경 변수를 검색합니다. 

 

✔ 환경 변수 클릭 !

 

✔ 새로 만들기를 통해 변수 이름과 값을 넣어주세요. 끝 ! 

 


📝환경 변수 활용 예시 (Python) 

 

⦁ import os

✔ os는 파이썬에서 기본으로 제공하는 내장 패키지입니다. 따라서 별도의 설치 과정 없이 import해서 사용할 수 있습니다. 운영 체제와 상호 작용 하기 위한 함수를 제공합니다. 

 

 

✔ 환경 변수에 시크릿 키, DB 정보 등 숨겨야 하는 정보들을 넣어두고 위와 같이 사용하면

코드를 수정할 필요도 없고, 민감한 정보는 보호할 수 있습니다 ! 👍

 


📝EC2 아마존 리눅스에서 환경 변수 설정

 

 

✔ config 파일을 따로 생성하는 것이 아닌, 환경 변수를 사용하는 방법을 선택했다면

AWS EC2 환경에 Flask를 배포할 때, 다시 한번 환경 변수를 설정해 주어야 합니다.

 

EC2를 생성할 때 운영체제를 선택했으니 다른 운영체제이기 때문입니다.

Amazon Linux에 환경 변수를 설정해 보겠습니다.

 

⦁ 환경 변수 파일 편집

sudo vi /etc/environment

 

✔ Amazon Linux에서는 /etc/environment 파일을 사용하여 시스템 전역의 환경 변수를 설정할 수 있습니다. 

 

✔ 파일에 환경 변수를 VALUE_NAME=value 처럼 넣어주면 됩니다. (공백 포함하면 안 됩니다!)

 

 

📝 vi 편집기 간단 사용법

i로 insert모드로 변경 → 마우스 우클릭 붙여넣기 (메모장에 복사하면 편해요) → esc, !wq 입력

 

⦁ 환경 변수 확인

 

✔ echo $변수명 을 입력하면 환경 변수를 출력할 수 있습니다 ! 

 

 


참고 문헌 : 

https://www.daleseo.com/python-os-environ/

'etc' 카테고리의 다른 글

[ChatGPT] 챗지피티 API란? 사용방법 정리  (7) 2023.11.02
[IT뉴스] ChatGPT에 대한 개발자들의 인식 통계 알아보기 (Stack Overflow)  (0) 2023.09.10
[API 테스트 툴] 포스트맨(Postman) 사용방법 정리  (1) 2023.05.09
[VSC] Jupyter Notebook에서 작업한 ipynb 파일 티스토리에 올리기  (0) 2023.04.16
[에러] ERROR: Could not install packages due to an OSError: [WinError 5] 액세스가 거부되었습니다 해결방법  (0) 2023.04.16
'etc' 카테고리의 다른 글
  • [ChatGPT] 챗지피티 API란? 사용방법 정리
  • [IT뉴스] ChatGPT에 대한 개발자들의 인식 통계 알아보기 (Stack Overflow)
  • [API 테스트 툴] 포스트맨(Postman) 사용방법 정리
  • [VSC] Jupyter Notebook에서 작업한 ipynb 파일 티스토리에 올리기
현기
현기
  • 현기
    현기의 개발블로그
    현기
  • 전체
    오늘
    어제
    • 분류 전체보기 (120)
      • Front-End (39)
        • Next (5)
        • React (8)
        • React Native (11)
        • Flutter (0)
        • Vue (1)
        • JSP (9)
        • HTML, CSS, JS (5)
      • Back-End (16)
        • Node.js (3)
        • Spring (8)
        • Flask (1)
        • AWS (4)
      • DB (5)
        • Oracle (4)
        • MySQL (1)
      • Python (7)
      • Java (27)
        • 자바 이론 (17)
        • 코딩테스트 연습 & 실습 (10)
      • 자료구조 & 알고리즘 (7)
        • 코딩테스트 (6)
        • 알고리즘 (1)
      • 블록체인 (0)
      • 프롬프트 엔지니어링 (0)
      • CS 지식 (5)
      • IT뉴스 (0)
      • 일상 (3)
      • etc (11)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    node.js
    티스토리챌린지
    React Native
    자바스크립트
    쓰레드
    Spring
    JSP
    REST API
    DI
    React Native Chart
    상속
    오블완
    Python
    Java
    react-native-chart-kit
    큐
    next-intl
    자바
    그리디
    오라클
    서블릿
    파이썬
    IS-A
    스택
    Express
    리액트 네이티브
    JDBC
    자바 스프링
    react
    포스트맨
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
현기
[os] 환경변수란? 설정 방법 정리 (비밀정보 숨기기, 파이썬 os.environ, EC2 환경 변수 설정)
상단으로

티스토리툴바