etc

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

현기 2023. 5. 25. 02:58

환경 변수운영체제(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/