lightsail instance 설명을 보니 scale out 이 쉽지 않은것 같다.
디스크 수정을 하려면 통째로 업그레이드 해야 하고, 업그레이드도 스냅샷을 떠서 새 인스턴스를 생성해야 된다.
일단 어떻게 될지 모르니 Free tier 1x2로 시작하기로 한다.
1. 디스크 공간 할당량 수정: Lightsail에서는 인스턴스 번들을 업그레이드하지 않고 디스크 크기를 늘릴 수 없습니다. 번들을 업그레이드하면 디스크 공간과 함께 RAM, CPU, 대역폭 등과 같은 다른 파라미터가 증가합니다. Amazon EC2에서는 인스턴스를 업그레이드하지 않고도 Amazon Elastic Block Store(Amazon EBS) 볼륨의 크기를 늘릴 수 있습니다.
2. 인스턴스 업그레이드: Lightsail에서는 인스턴스를 직접 업그레이드할 수 없습니다. 인스턴스의 스냅샷을 만든 다음 해당 스냅샷을 사용하여 더 큰 번들로 새 인스턴스를 시작해야 합니다. Amazon EC2에서는 스냅샷을 생성하거나 새 인스턴스를 시작하지 않고도 인스턴스를 쉽게 업그레이드할 수 있습니다.
3. 인스턴스에 대한 리소스 제한: Lightsail의 가장 큰 인스턴스 플랜은 32GB RAM, 8개의 vCPU 및 640GB의 디스크 공간을 제공합니다. 추가 디스크 공간이 필요한 경우 인스턴스에 보조 디스크를 연결해야 합니다.
4. 여러 IP 주소 연결: Lightsail 인스턴스에 하나의 IP 주소만 연결할 수 있습니다. 단일 EC2 인스턴스에 여러 IP 주소를 연결할 수 있습니다.
5. 인스턴스 콘솔 출력: 응답하지 않는 인스턴스의 문제를 직접 해결하는 데 도움이 되는 Amazon EC2 내의 도구입니다. Lightsail에서는 이 도구를 사용할 수 없습니다.
6. 프라이빗 인스턴스: Lightsail의 리소스는 퍼블릭 서브넷에 있습니다. Lightsail 방화벽을 사용하여 인스턴스에 대한 액세스를 제한할 수는 있지만 Lightsail 인스턴스를 프라이빗으로 설정할 수는 없습니다.
7. 인스턴스 시작 스크립트: Lightsail 인스턴스를 시작할 때 인스턴스 시작 스크립트를 사용하여 스크립트를 실행할 수 있습니다. Amazon EC2에서는 인스턴스를 시작한 후 스크립트를 추가하여 인스턴스가 중지되고 시작될 때 스크립트가 실행되도록 할 수 있습니다. Lightsail에서는 인스턴스를 시작한 후에 스크립트를 추가할 수 없습니다. 해결 방법은 Lightsail 인스턴스의 스냅샷을 만든 다음 해당 스냅샷에서 새 인스턴스를 시작하는 것입니다. 스냅샷에서 새 인스턴스를 시작하는 동안 시작 스크립트를 추가할 수 있습니다.
8. 루트 디스크 교체: Lightsail에서는 인스턴스의 루트 디스크를 교체할 수 없습니다. AWS Command Line Interface(AWS CLI)를 사용하여 루트 디스크의 디스크 스냅샷을 생성하고 해당 스냅샷에서 디스크를 생성한 다음 이를 다른 Lightsail 인스턴스에 연결할 수 있습니다. 그러나 이 디스크를 원본 인스턴스에 루트 디스크로 연결할 수는 없습니다.
9. 인스턴스 종료 방지: EC2 인스턴스는 종료 방지를 활성화하는 기능을 제공합니다. 종료 방지 기능은 인스턴스가 우발적으로 종료되는 것을 방지합니다. Lightsail에서는 이 기능을 사용할 수 없습니다.
10. 인스턴스 구매 옵션: Amazon EC2는 온디맨드, 스팟 인스턴스, 예약 인스턴스, 용량 예약 등과 같은 다양한 인스턴스 구매 옵션을 제공합니다. Lightsail의 유일한 구매 옵션은 온디맨드 방식으로 Lightsail 번들을 시작하는 것입니다.
11. Auto Scaling 그룹: Amazon EC2에는 워크로드를 처리하기 위한 최적의 EC2 인스턴스 수를 확보하도록 Amazon EC2 Auto Scaling을 설정하는 옵션이 있습니다. Lightsail은 Auto Scaling을 지원하지 않습니다.
12. 인스턴스 하이버네이트: EC2 인스턴스는 하이버네이션을 지원합니다. 인스턴스를 중지하는 대신 하이버네이션을 사용할 수 있습니다. 하이버네이션은 RAM의 내용을 EBS 볼륨에 저장합니다. Lightsail은 하이버네이션을 지원하지 않습니다.
13. Lightsail 방화벽 규칙 수: Lightsail 인스턴스에 대해 최대 60개의 방화벽 규칙을 추가할 수 있습니다. 각 소스 IP 주소는 서로 다른 규칙으로 간주됩니다. IPv6의 규칙 수는 이 할당량 60개입니다. Lightsail 콘솔을 사용하여 규칙에 추가할 수 있는 최대 소스 IP 주소 수는 30개입니다. AWS CLI를 사용하여 더 추가할 수 있습니다.
14. Lightsail 방화벽 규칙 복사: 보안 그룹에서 콘솔을 사용하여 한 보안 그룹에서 다른 보안 그룹으로 규칙을 복사할 수 있습니다. 그러나 Lightsail 콘솔은 한 방화벽에서 다른 방화벽으로의 규칙 복사를 지원하지 않습니다. AWS CLI를 사용하여 Lightsail에서 규칙을 복사할 수 있습니다.
15. Lightsail 방화벽에서 IP 주소 거부: Lightsail 방화벽에서 IP 주소 집합에 대한 포트 액세스를 허용할 수 있습니다. 하지만 Lightsail에서는 IP 주소 집합을 명시적으로 거부할 수 없습니다. Amazon EC2에서는 네트워크 ACL을 사용하여 특정 IP 주소를 거부할 수 있습니다.
일반적인 솔루션 - Lightsail 인스턴스 대신 EC2 인스턴스를 사용합니다. Lightsail 인스턴스가 이미 시작된 경우 이를 EC2로 내보낼 수 있습니다. cPanel Lightsail 인스턴스를 EC2로 내보내는 기능은 지원되지 않습니다.
현재 통관알리미는 centOS7을 사용중이고 db백업용 서버는 ubuntu를 사용중인데
아마존이 관리하는 Amazon linux2 라는 OS가 있길래 이번엔 이걸 사용해 보기로 한다.
AL2(Amazon Linux 2)는 정식 출시된 최신 Amazon Linux 릴리스입니다. AL2는 최신 Amazon EC2 인스턴스 기능을 지원하며 AWS에서 최적화된 성능을 발휘하도록 조정되어 있습니다. 이 릴리스에는 커널 라이브 패치 적용 기능이 포함되어 인스턴스 재부팅 없이 보안 취약성에 대한 패치를 적용할 수 있게 해 줍니다. AL2는 현재 65개 파트너에서 지원하고 있으며 온프레미스 개발 및 테스트를 위한 가상 머신 및 컨테이너 이미지로도 제공됩니다.
lightsail은 기본적으로 유동ip라서 vm을 재시작 하면 public ip가 바뀐다고 한다.
static ip는 인스턴스에 붙이면 무료이니 Networking에서 하나 붙여주도록 한다.