Amazon Linux 2에서 Amazon Linux 2023 Amazon ECS 최적화 AMI로 마이그레이션
Amazon Linux
Amazon Linux 2023은 사전 구성된 보안 정책, 허용 모드의 SELinux, 기본적으로 활성화된 IMDSv2 전용 모드, 최적화된 부팅 시간, 향상된 보안 및 성능을 위한 개선된 패키지 관리를 통해 기본적으로 안전한 접근 방식을 제공합니다.
Amazon Linux 2와 Amazon Linux 2023 Amazon ECS 최적화 AMI 사이의 호환성은 매우 높은 수준이며, 대부분의 고객은 두 운영 체제 간 워크로드의 변경은 거의 없거나 최소 수준으로 유지됩니다.
자세한 내용은 Amazon Linux 2023 사용 설명서의 Comparing Amazon Linux 2 and Amazon Linux 2023 및 AL2023 FAQ
호환성 고려 사항
패키지 관리 및 OS 업데이트
이전 Amazon Linux 버전과 달리, Amazon ECS 최적화 Amazon Linux 2023 AMI는 특정 Amazon Linux 리포지토리 버전에서만 사용할 수 있습니다. 이를 통해 사용자가 실수로 패키지를 업데이트하여 원치 않거나 호환되지 않는 변경 내용이 발생하는 것을 방지할 수 있습니다. 자세한 내용은 Amazon Linux 2023 사용 설명서의 Managing repositories and OS updates in Amazon Linux 2023을 참조하세요.
Linux 커널 버전
Amazon Linux 2 AMI는 Linux 커널 4.14 및 5.10에 기반하지만, Amazon Linux 2023은 Linux 커널 6.1 및 6.12를 사용합니다. 자세한 내용은 Amazon Linux 2023 사용 설명서의 Comparing Amazon Linux 2 and Amazon Linux 2023 kernels을 참조하세요.
패키지 가용성 변경 내용
다음은 Amazon Linux 2023의 주목할 만한 패키지 변경 내용입니다.
-
Amazon Linux 2의 일부 소스 바이너리 패키지는 Amazon Linux 2023에서 더 이상 사용할 수 없습니다. 자세한 내용은 Amazon Linux 2023 릴리스 정보의 Packages removed from Amazon Linux 2023을 참조하세요.
-
Amazon Linux가 다양한 버전의 패키지를 지원하는 방법의 변경 내용. Amazon Linux 2에 사용되는
amazon-linux-extras
시스템이 Amazon Linux 2023에 존재하지 않습니다. 모든 패키지는 '코어' 리포지토리에서 사용할 수 있습니다. -
Extra Packages for Enterprise Linux(EPEL)가 Amazon Linux 2023에서 지원되지 않습니다. 자세한 내용은 Amazon Linux 2023 사용 설명서의 EPEL compatibility in Amazon Linux 2023을 참조하세요.
-
32비트 애플리케이션은 Amazon Linux 2023에서 지원되지 않습니다. 자세한 내용은 Amazon Linux 2023 사용 설명서의 Deprecated features from Amazon Linux 2를 참조하세요
제어 그룹(cgroups) 변경 내용
제어 그룹(cgroup)은 프로세스를 계층적으로 구성하고 프로세스 간에 시스템 리소스를 배포하는 Linux 커널 기능입니다. 제어 그룹은 systemd
로 컨테이너 런타임을 광범위하게 구현할 수 있습니다.
Amazon ECS 에이전트, Docker 및 컨테이너는 모두 cgroupv1과 cgroupv2 둘 다 지원합니다. Amazon ECS 에이전트와 컨테이너 런타임은 사용자를 대신해 cgroup을 관리하므로 Amazon ECS 고객은이 기본 cgroup 업그레이드를 변경하지 않아도 됩니다.
cgroupv2에 대한 자세한 내용은 Amazon Linux 2023 사용 설명서의 Control groups v2 in Amazon Linux 2023을 참조하세요.
인스턴스 메타데이터 서비스(IMDS) 변경 내용
Amazon Linux 2023에는 기본적으로 인스턴스 메타데이터 서비스 버전 2(IMDSv2)가 필요합니다. IMDSv2는 보안 태세를 개선하는 데 도움이 되는 몇 가지 이점을 제공합니다. 세션을 시작하려면 간단한 HTTP PUT 요청으로 비밀 토큰을 생성해야 하는 세션 지향 인증 방법을 사용합니다. 세션의 토큰은 1초에서 6시간 사이로 유효할 수 있습니다.
IMDSv1에서 IMDSv2로의 전환에 대한 자세한 내용은 Amazon EC2 사용 설명서의 인스턴스 메타데이터 서비스 버전 2 사용으로 전환을 참조하세요.
IMDSv1을 사용하려는 경우 인스턴스 메타데이터 옵션 시작 속성을 사용하여 설정을 수동으로 재정의하면 계속 사용할 수 있습니다.
메모리 스왑 변경 내용
Amazon Linux 2023 및 cgroups v2에서는 컨테이너별 메모리 스왑이 지원되지 않습니다. 자세한 내용은 Amazon ECS에서 컨테이너 스왑 메모리 공간 관리 섹션을 참조하세요.
FIPS 검증 변경 내용
Amazon Linux 2는 FIPS 140-2 인증을 획득했고 Amazon Linux 2023은 FIPS 140-3 인증을 획득했습니다.
Amazon Linux 2023에서 FIPS 모드를 활성화하려면 Amazon EC2 인스턴스에 필요한 패키지를 설치하고 Amazon Linux 2023 사용 설명서의 Enable FIPS Mode on Amazon Linux 2023에 나온 지침에 따라 구성 단계를 수행합니다.
가속화된 인스턴스 지원
Amazon ECS 최적화 Amazon Linux 2023 AMI는 Neuron 및 GPU 가속 인스턴스 유형을 모두 지원합니다. 자세한 내용은 Amazon ECS 최적화 Linux AMI 섹션을 참조하세요.
사용자 지정 AMI 빌드
공식적으로 지원되고 게시된 Amazon Linux 2023용 Amazon ECS 최적화 AMI로 전환하는 것이 좋지만, Amazon ECS 최적화 AMIs의 Linux 변형을 빌드하는 데 사용되는 오픈 소스 빌드 스크립트를 사용하여 사용자 지정 Amazon Linux 2 Amazon ECS 최적화 AMI를 계속 빌드할 수 있습니다. 자세한 내용은 Amazon ECS 최적화 Linux AMI 구축 스크립트 섹션을 참조하세요.
마이그레이션 전략
철저한 애플리케이션 테스트를 포함하는 마이그레이션 계획을 생성하고 구현하는 것이 좋습니다. 다음 섹션에서는 Amazon ECS 인프라를 관리하는 방법에 따라 다양한 마이그레이션 전략을 간략하게 설명합니다.
Amazon ECS 용량 공급자로 마이그레이션
-
새 시작 템플릿으로 새 용량 공급자를 생성하세요. 기존 항목과 와 유사한 시작 템플릿을 포함하는 Auto Scaling 그룹을 참조해야 하지만 Amazon Linux 2 Amazon ECS 최적화 AMI 대신 Amazon Linux 2023 변형 중 하나를 지정해야 합니다. 이 새 용량 공급자를 기존 Amazon ECS 클러스터에 추가하세요.
-
기존 Amazon Linux 2 용량 공급자와 새로운 Amazon Linux 2023 용량 공급자를 모두 포함하도록 클러스터의 기본 용량 공급자 전략을 업데이트합니다. 먼저 Amazon Linux 2 공급자에서 높은 가중치, Amazon Linux 2023 공급자에서 낮은 가중치로 시작하세요(예: Amazon Linux 2: 가중치 80, Amazon Linux 2023: 가중치 20). 그러면 새 태스크가 예약될 때 Amazon ECS가 Amazon Linux 2023 인스턴스 프로비저닝을 시작합니다. 인스턴스가 올바르게 등록되고 새 인스턴스에서 태스크가 성공적으로 실행될 수 있는지 확인하세요.
-
클러스터의 기본 전략에서 용량 공급자 가중치를 점진적으로 조정하여 Amazon Linux 2023 공급자의 가중치를 늘리는 동시에 시간 경과에 따라 Amazon Linux 2 공급자 가중치를 줄이세요(예: 60/40, 40/60, 20/80의 순서로 조정). Amazon Linux 2023 인스턴스의 우선순위를 지정하도록 개별 서비스 용량 공급자 전략을 업데이트할 수도 있습니다. 태스크 배치를 모니터링하여 Amazon Linux 2023 인스턴스에서 성공적으로 실행되고 있는지 확인하세요.
-
선택적으로 Amazon Linux 2 컨테이너 인스턴스를 드레이닝하여 태스크 마이그레이션을 가속하세요. Amazon Linux 2023 대체 용량이 충분한 경우 Amazon ECS 콘솔 또는 AWS CLI를 통해 Amazon Linux 2 컨테이너 인스턴스를 수동으로 드레이닝하여 Amazon Linux 2에서 Amazon Linux 2023으로 태스크 전환을 가속화할 수 있습니다. 마이그레이션이 완료되면 클러스터에서 Amazon Linux 2 용량 공급자를 제거하고 연결된 Auto Scaling 그룹을 삭제하세요.
Amazon EC2 Auto Scaling 그룹으로 마이그레이션
-
새 시작 템플릿을 사용하여 새 Amazon EC2 Auto Scaling 그룹을 생성하세요. 기존 시작 템플릿과 유사하지만 Amazon Linux 2 Amazon ECS 최적화 AMI 대신 Amazon Linux 2023 변형 중 하나를 지정해야 합니다. 이 새로운 Auto Scaling 그룹은 기존 클러스터에서 인스턴스를 시작할 수 있습니다.
-
먼저 Amazon Linux 2023 인스턴스가 클러스터에 등록되도록 Auto Scaling 그룹을 스케일 업하세요. 인스턴스가 올바르게 등록되고 새 인스턴스에서 태스크가 성공적으로 실행될 수 있는지 확인하세요.
-
Amazon Linux 2023에서 태스크가 작동하는지 확인한 후 모든 Amazon Linux 2 인스턴스를 완전히 교체할 때까지 Amazon Linux 2 Auto Scaling 그룹을 점진적으로 스케일 다운하면서 Amazon Linux 2023 Auto Scaling 그룹을 스케일 업하세요.
-
Amazon Linux 2023 대체 용량이 충분한 경우 컨테이너 인스턴스를 명시적으로 드레이닝하여 Amazon Linux 2에서 Amazon Linux 2023으로 태스크 전환을 가속화할 수 있습니다. 자세한 내용은 Amazon ECS 컨테이너 인스턴스 드레이닝 섹션을 참조하세요.
수동 관리형 인스턴스로 마이그레이션
-
Amazon Linux 2 대신 Amazon ECS 최적화 Amazon Linux 2023 AMI를 사용하여 새 Amazon EC2 인스턴스를 수동으로 시작하거나 이를 시작하는 스크립트를 조정하세요. 이러한 인스턴스가 기존 Amazon Linux 2 인스턴스와 동일한 보안 그룹, 서브넷, IAM 역할 및 클러스터 구성을 사용하는지 확인하세요. 인스턴스는 시작 시 기존 Amazon ECS 클러스터에 자동으로 등록되어야 합니다.
-
새 Amazon Linux 2023 인스턴스가 Amazon ECS 클러스터에 성공적으로 등록되고
ACTIVE
상태인지 확인하세요. 자연적인 태스크 배치를 기다리거나 일부 태스크를 수동으로 중지 또는 시작하여 일정 조정을 트리거함으로써 이러한 새 인스턴스에서 태스크를 예약하고 제대로 실행할 수 있는지 테스트하세요. -
필요한 경우 추가 Amazon Linux 2023 인스턴스를 시작한 다음 Amazon Linux 2 인스턴스를 하나씩 수동으로 드레이닝하고 종료하여 Amazon Linux 2 인스턴스를 점진적으로 교체하세요. 인스턴스를
DRAINING
상태로 설정하여 Amazon ECS 콘솔을 통해 인스턴스를 드레이닝할 수 있습니다. 그러면 인스턴스에 새 태스크가 배치되지 않고 기존 태스크가 완료되거나 다른 곳에서 다시 예약됩니다.