본문 바로가기

AWS

AWS Elastic Beanstalk Amazon Linux 2 마이그레이션

새 환경 생성

Tomcat Linux 2 버전으로 기존 ami 플랫폼을 지정하지 않고 환경 생성

 

생성된 EC2 확인

빈 폴더 확인

 

1. AMI 복원

기존대로라면, Elastic Beanstalk 생성 시 기존 EC2의 ami를 지정하여 모두 한번에 복원이 가능하지만, linux 버전 변경으로 인해 ami 버전이 달라 지원되지 않는다.

특수한 경우가 아니라면 이 방법이 최고

 

2. EBS 스냅샷 연결

스냅샷으로 볼륨 생성

 

새로 생성된 EC2와 같은 가용영역으로 볼륨 생성

 

볼륨 우클릭 > 볼륨 연결

 

새로 생긴 EC2 선택

 

볼륨 연결 확인

 

mount를 해줘야 사용할 수 있음

nginx 등 / 루트에 있는 파일들도 복원을 하고 싶은데 루트에 마운트할 수 없기 때문에 이 방법으로는 해결할 수 없다..

 

ChatGPT 답변
일반적으로 리눅스 기반의 운영 체제에서는 루트 파일 시스템(/)에 추가 마운트 볼륨을 직접 마운트하는 것을 권장하지 않습니다. 루트 파일 시스템은 시스템의 기본적인 디렉토리 구조를 포함하고 있으며 시스템 부팅 및 운영에 필요한 중요한 파일들이 저장되는 공간입니다. 루트 파일 시스템에 추가 마운트 볼륨을 직접 마운트하면 시스템의 안정성과 동작에 영향을 미칠 수 있습니다.
대신, 일반적으로 추가 마운트 볼륨은 루트 파일 시스템 외의 디렉토리에 마운트하는 것이 권장됩니다. 예를 들어, /mnt, /data, /var, /home, /opt 등의 디렉토리에 추가 마운트 볼륨을 마운트할 수 있습니다. 이렇게 하면 데이터와 시스템 파일이 분리되어 관리되며, 데이터의 손실 가능성이 줄어들고 시스템 안정성이 향상됩니다.

 

 

3. 루트 볼륨 대체

루트 볼륨 대체는 실행 중인 EC2에서 루트 볼륨을 분리 후 붙일 때 사용할 수 있다..

 

4. 새로운 마운트 볼륨 환경 구성

현재 테스트 서버와 운영 서버를 동일한 환경으로 구성을 하고 있고, 두 환경 모두 마이그레이션을 해야하는 상황.

두 환경이 동일하기 때문에, 이번 기회에 테스트 서버에서 마운트 볼륨으로 생성 후 분리/연결해서 사용할 수 있는 구조로 변경.

 

고민 내용
1) 루트 볼륨만 사용한다.
-> ami로만 복원이 가능하다.
-> 볼륨을 하나만 관리하면 된다.

2) 마운드 볼륨을 사용한다.
-> ami로 복원이 가능하다.
-> ami 복원이 불가능한 상황이더라도, 볼륨만 마운트 후, 필요한 설정들만 추가로 해주면 된다.
파일을 옮기고 할 필요가 없다.
-> 볼륨이 여러개라 아주 조금 손이 간다.
-> 초기 세팅이 중요하다.
-> 마운트 하는 방법을 알아야 한다.

=>결론
- 장기적으로 봤을 때, 이번과 같이 ami가 지원되지 않는 경우, 앞으로 AWS에 대해서 모르는 사람이 작업을 하게 될 환경이기 때문에, 관리하기 어려울 것 같다.
- 유지보수 하기 가장 쉬운 방법을 선택해야 한다. (간단하고, 최대한 자동화 해야함)
- 초기 세팅이 번거롭더라도 마운트 볼륨을 사용하는 방법만 잘 적어두거나 shell로 만들어두면 괜찮지 않을까?

 

루트 볼륨 : 8G (기본)

마운트 볼륨 : 10G

 

1) 가용 영역 확인

EC2 > 인스턴스 > 가용 영역 (ap-northeast-2c)

 

2) 볼륨 생성

EC2 > EBS > 볼륨 > 볼륨 생성

 

3) 인스턴스 - 볼륨 연결

 

4) 인스턴스 볼륨 연결 확인

EC2 > 인스턴스 > 스토리지

 

5) 볼륨 attach 확인

EC2 ssh 접속 > $ lsblk

6) 디스크 포맷 확인

 

7) 디스크 포맷

AWS EBS 마운트할 때 ext4와 xfs 중에서 어떤걸 해야해? (ChatGPT)
ext4:ext4 파일 시스템은 많은 리눅스 배포판에서 기본 파일 시스템으로 사용되는 가장 보편적인 파일 시스템 중 하나입니다.안정적이고 성능이 우수하며 대부분의 리눅스 시스템에서 기본 지원됩니다.파일 시스템 확장과 복구가 간편하고, 구성이 비교적 쉽습니다.일반적으로 작은 크기의 볼륨이나 미디엄 규모의 작업에 적합합니다.

XFS:XFS 파일 시스템은 고성능 파일 시스템으로 알려져 있으며, 대용량의 데이터를 다루는 데 특히 효과적입니다.큰 파일 크기와 대용량 디스크를 다루는데 더 적합합니다. 따라서 대용량 데이터베이스나 대용량 로그 파일 등의 경우 XFS가 성능면에서 유리할 수 있습니다.ext4에 비해 파일 시스템 확장이나 복구가 조금 더 복잡할 수 있습니다.

gp2(EBS General Purpose SSD)는 일반적인 워크로드에 적합한 SSD 기반의 EBS 볼륨 유형입니다. 따라서 일반적으로 ext4나 XFS 중 어느 파일 시스템을 선택하더라도 gp2 볼륨과 잘 동작할 것입니다.

파일 시스템 선택은 운영 체제 및 특정 요구 사항에 따라 달라지기 때문에, 사용하는 리눅스 배포판과 환경에서 각 파일 시스템의 성능과 기능을 테스트하여 적합한 파일 시스템을 결정하는 것이 중요합니다. 일반적으로는 ext4가 일반적인 용도에 적합하며, 대용량 데이터를 다루는 상황에서는 XFS가 더 적합할 수 있습니다.

프로젝트 규모가 작기 때문에 ext4 로 적용.

 

8) 디스크 마운트

/data 경로에 마운트 후 다른 곳에서 ln 또는 cp 해서 사용할 예정.

 

/data 경로가 없다면 디렉토리 생성

/data로 마운트

 

9) 자동 마운트 설정

재부팅 시에도 자동으로 마운트될 수 있도록 설정

.. 하려고 보니 기존 디스크가 xfs로 마운트 되어있다. 통일해주는게 좋을 것 같다.

 

10) 볼륨 언마운트 및 마운트 재설정

 

디스크 포맷 시에는 데이터가 모두 사라지므로 신중하게 할 것.

/data 마운트

 

11) 자동 마운트

UUID 확인

 

/etc/fstab 변경

 

재마운트

 

'AWS' 카테고리의 다른 글

AWS 볼륨 수정  (0) 2023.08.02
AWS 탄력적 IP 변경  (0) 2023.08.02
AWS 애플리케이션 환경 구성  (0) 2023.08.01
AWS CodePipeline 설정  (0) 2023.07.31
AWS 서버 구축  (0) 2023.07.31