Lightsail 스냅샷으로 하위 인스턴스를 생성할 수 없다

Lightsail의 WordPress 인스턴스를 AL2023으로 전환 할 때, All-in-One Migration utility로 import를 시도하는데 이전에 본 적이 없던 internal error가 발생했다. 분명 업로드 가능한 파일 크기도 import하는 압축 파일 보다 크게 설정해 주었고 다른 설정들도 모두 마쳤음에도 계속해서 실패하는 것이다.

YYYY/MM/DD HH:MM:SS [error] 32777#32777: *4 FastCGI sent in stderr: "PHP message: PHP Fatal error:  Uncaught ValueError: Path cannot be empty in /var/www/html/wp-content/plugins/all-in-one-wp-migration/functions.php:1881 
Stack trace: 
#0 /var/www/html/wp-content/plugins/all-in-one-wp-migration/functions.php(1881): fopen() 
#1 /var/www/html/wp-content/plugins/all-in-one-wp-migration/lib/model/import/class-ai1wm-import-upload.php(86): ai1wm_is_filedata_supported() 
#2 /var/www/html/wp-content/plugins/all-in-one-wp-migration/lib/controller/class-ai1wm-import-controller.php(77): Ai1wm_Import_Upload::execute() 
#3 /var/www/html/wp-includes/class-wp-hook.php(341): Ai1wm_Import_Controller::import() 
#4 /var/www/html/wp-includes/class-wp-hook.php(365): WP_Hook->apply_filters() 
#5 /var/www/html/wp-includes/plugin.php(522): WP_Hook->do_action() 
#6 /var/www/html/wp-admin/admin-ajax.php(192): do_action() 
#7 {main} 
  thrown in /var/www/html/wp-content/plugins/all-in-one-wp-migration/functions.php on line 1881" while reading response header from upstream, client: [CLIENT_IP], server: _, request: "POST /wp-admin/admin-ajax.php?action=ai1wm_import&ai1wm_import=1 HTTP/1.1", upstream: "fastcgi://unix:/run/php-fpm/www.sock:", host: "[SERVER_IP]", referrer: "http://[SERVER_IP]/wp-admin/admin.php?page=ai1wm_import"

메모리 문젠가?

Nginx의 로그를 보니 Path cannot be empty ... 라는 PHP Fatal error가 찍혀 있었다. 이 에러메세지 자체로는 문제점이 잘 드러나지 않지만, 검색해보니 업로드가 완료된 후 압축 해제와 import를 처리 하는 과정중에 메모리가 부족해서 이런 문제가 발생할 수 있다는 내용이 있었는데, 업로드가 100%까지 진행되고 나서 그 후에 문제가 발생하는 것으로 볼 때 이 말이 사실일 가능성이 있어 보였다.

혹시나 해서 지금 사용하고 있는 것보다 높은 사양의 인스턴스를 하나 새로 파서 테스트해 보니 오류없이 잘 동작했다. 여기까지 확인해서 메모리 부족 때문에 발생하는 문제라는 확증이 들자 한가지 꼼수가 떠올랐다.

  1. 높은 사양의 인스턴스로 All-in-One으로 마이그레이션을 하고
  2. 스냅샷을 하나 만든 다음
  3. 스냅샷으로 부터 원래의 낮은 사양으로 인스턴스를 생성한다.

“그래, 이런 기발한 방법이!” 라며 먼저 $12짜리 인스턴스에 마이그레이션을 완료하고 스냅샷을 만들었다. 그리고 나서 스냅샷으로 부터 인스턴스를 생성하려고 하는데 이런화면이 나왔다.

스냅샷을 생성할 때의 인스턴스보다 낮은 티어는 생성할 수가 없다는 것이다.

결론

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다