일정 시간이 지난 후 두 개의 Amazon Linux 호스트를 동일한 업데이트로 업데이트하는 방법

일정 시간이 지난 후 두 개의 Amazon Linux 호스트를 동일한 업데이트로 업데이트하는 방법

두 개의 Linux 호스트(AWS EC2 - "centos rhel fedora" 기반 Amazon Linux)가 있는데, 하나는 프로덕션용이고 다른 하나는 수용용입니다. 승인 호스트에서 업데이트를 수행하고 일주일(또는 2주 정도)의 비즈니스 테스트를 수행한 다음 프로덕션에서 정확히 동일한 업데이트를 수행하는 월별 업데이트 주기를 수행하고 싶습니다. 현재 yum을 사용하여 업데이트를 진행하고 있어서 yum list update를 해서 파일로 출력해 보려고 했는데 파일에 나열된 패키지만 yum으로 설치하는 방법은 찾지 못했습니다.

최선의 접근 방식을 결정하기 위해 몇 가지 제안 및/또는 솔루션을 사용할 수 있습니다. 매우 소규모 사업이므로 자체 호스팅 저장소를 설정하고 ansible을 사용하는 것은 옵션이 아닙니다. 간단한 스크립트를 사용하는 것을 선호하지만 (저렴한) Amazon 기반 솔루션에 열려 있습니다. 명령.

답변1

기술적으로는 세 번째 호스트를 사용해야 합니다. 이론적으로는 프로덕션 환경에서와 마찬가지로 "수락" 호스트에 대해 동일한 관리 작업을 수행하려고 합니다. 이러한 방식으로 생산에서 수행하려는 관리 조치가 효과가 있음을 입증합니다. 이는 이 관리 작업을 위한 참조 파일 구축이 세 번째(이를 개발' 호스트라고 부르겠습니다)에서 수행되어야 함을 의미합니다.


Amazon Linux와 Redhat은 공통 조상을 공유합니다. 따라서 Redhat 설명서가 유용할 때가 많습니다.

Redhat Enterprise 설명서에는 특정 상황을 다루는 섹션이 있습니다. (8.3.3 참조복구 및 반복 거래).

여러 개의 동일한 시스템을 관리할 때 Yum을 사용하면 시스템 중 하나에서 트랜잭션을 실행하고 트랜잭션 세부 정보를 파일에 저장하며 일정 기간의 테스트 후에 나머지 시스템에서 동일한 트랜잭션을 반복할 수 있습니다. 트랜잭션 세부 정보를 파일에 저장하려면 루트로 쉘 프롬프트에 다음을 입력하십시오.

yum -q history addon-info id saved_tx > file_name

이 파일을 대상 시스템에 복사한 후 루트로 다음 명령을 사용하여 트랜잭션을 반복할 수 있습니다.

yum load-transaction file_name

실제로 이는 하나의 호스트에서 다음과 같은 명령을 실행한다는 의미입니다.

sudo yum upgrade
sudo yum history addon-info last saved_tx > upgrade_transaction_log

그런 다음 새 파일을 upgrade_transaction_log다음 호스트로 이동하고 다음을 실행합니다.

sudo yum load-transaction upgrade_transaction_log

두 호스트가 동일하게 부팅되도록 하는 책임은 사용자에게 있습니다.

관련 정보