Amazon Linux 2023에서 Python 및 가상 환경 구성
사용한 EC2 정보
- ami : ami-02c329a4b4aba6a48 (Amazon Linux 2023 AMI)
- instance_type : t2.medium
Python 및 가상 환경 구성을 위한 bash 코드 작성
- Python Version은 아래 페이지에서 확인이 가능하며, 변경도 가능
- 주석 처리한 pip install 부분에 필요한 라이브러리를 작성해 설치해 주면 됨
#! /bin/bash
# yum upgrade & essential package
sudo yum update -y
sudo yum groupinstall "Development Tools" -y
sudo yum install gcc bzip2-devel libffi-devel -y
# python 3.8.4
sudo wget https://www.python.org/ftp/python/3.8.4/Python-3.8.4.tgz
tar -xf Python-3.8.4.tgz
cd Python-3.8.4
./configure --enable-optimizations
sudo make altinstall
# 가상 환경 구성
cd /home/ec2-user
python3 -m venv venv_ai
source venv_ai/bin/activate
#필요한 라이브러리 설치
pip install --upgrade pip
# pip install
Terraform EC2 resource 구성
- Terraform에 user_data를 작성하기 위해 첫 줄에 "<<EOF", 마지막 줄에 EOF를 작성
- 주의할 점
- user_data는 들여쓰기할 경우 에러 발생
- 경로 지정을 하지 않을 경우 최상단(/)에서 실행됨
resource "aws_instance" "ai_server" {
ami = "ami-02c329a4b4aba6a48"
instance_type = "t2.micro"
...
user_data = <<EOF
#! /bin/bash
sudo yum update -y
sudo yum groupinstall "Development Tools" -y
sudo yum install gcc bzip2-devel libffi-devel -y
sudo wget https://www.python.org/ftp/python/3.8.4/Python-3.8.4.tgz
tar -xf Python-3.8.4.tgz
cd Python-3.8.4
./configure --enable-optimizations
sudo make altinstall
cd /home/ec2-user
python3 -m venv venv_ai
source venv_ai/bin/activate
pip install --upgrade pip
# pip install
EOF
...
}
Reference
https://medium.com/pythoneers/installing-python-3-on-amazon-linux-with-openssl-and-pip-dependencies-2e9c76b91018
https://jakpentest.tistory.com/entry/AWS-EC2-Amazon-Linux-2023-%EC%97%90%EC%84%9C-Python-Project-Setting
https://velog.io/@whdgnszz1/AWS-EC2-%EC%9D%B8%EC%8A%A4%ED%84%B4%EC%8A%A4%EC%97%90-python-flask-%EC%84%9C%EB%B2%84-%EB%9D%84%EC%9A%B0%EA%B8%B0
https://seungjuitmemo.tistory.com/332