AWS CLI 버전 2의 마이그레이션 가이드 - AWS Command Line Interface

AWS CLI 버전 2의 마이그레이션 가이드

이 섹션에는 AWS CLI 버전 1을 AWS CLI 버전 2로 업데이트하기 위한 지침이 포함되어 있습니다. AWS CLI 버전 2는 AWS CLI 버전 1을 기반으로 빌드되며 커뮤니티 피드백을 바탕으로 한 기능 및 개선 사항을 포함합니다. AWS CLI 버전 2는 AWS CLI의 최신 메이저 버전이며 모든 최신 기능을 지원합니다. 버전 2에 도입된 일부 기능은 버전 1과 백포트되지 않으므로 이러한 기능에 액세스하려면 업그레이드해야 합니다.

예기치 않은 문제를 방지하려면 버전 2로 마이그레이션하기 전에 버전 간의 차이점에 대해 알아보세요. AWS CLI 버전 2에는 이전 버전과의 호환성을 위해 스크립트 또는 명령을 업데이트해야 할 수 있는 새로운 기능 및 변경 사항이 포함되어 있습니다.

AWS CLI 버전 1과 2는 동일한 aws 명령 이름을 사용합니다. 두 버전이 모두 설치되어 있는 경우 컴퓨터는 검색 경로에 있는 첫 번째 버전을 사용합니다. 이로 인해 새 버전이 설치되어 있어도 aws 명령 이름이 이전 AWS CLI 버전을 호출하게 될 수 있습니다.

AWS CLI 버전 2로 업데이트하려면 아래 지침 중 하나를 따릅니다.

AWS CLI 마이그레이션 도구를 사용하여 호환성 문제 완화

AWS CLI 버전 1과 AWS CLI 버전 2 사이에는 동작 방식에 변경 사항이 있으므로 스크립트나 명령어를 업데이트해야 할 수 있습니다. 기존 스크립트가 안전하게 마이그레이션되었는지 확인하지 않고 AWS CLI 버전 2로 업그레이드하면 AWS CLI 버전 2에서 스크립트를 실행할 때 AWS 계정의 리소스가 의도치 않게 변경되는 등 예기치 않은 문제가 발생할 위험이 있습니다.

두 가지 AWS 소유 도구를 사용하여 마이그레이션 과정을 안내받을 수 있습니다. 사용하는 도구에 관계없이 AWS CLI 버전 2의 새로운 기능 및 변경 사항 가이드에서 AWS CLI 버전 1과 AWS CLI 버전 2 간의 주요 변경 사항를 참조하는 것이 좋습니다.

업그레이드 디버그 모드

업그레이드 디버그 모드는 버전 1.44.0 이상에서 사용할 수 있는 AWS CLI 버전 1의 기능입니다. 이 기능을 활성화하면 실행하는 각 AWS CLI 명령이 실행 환경이 동일하다는 가정 하에 AWS CLI 버전 2에서 다른 동작을 보일 가능성이 있는지 검사됩니다. 실행된 명령이 AWS CLI 버전 2에서 다른 동작을 보일 경우, 명령 출력과 함께 경고 메시지가 표시되며, AWS CLI 버전 2에서 AWS CLI 버전 1의 동작을 유지하기 위해 취할 수 있는 조치가 제안됩니다.

업그레이드 디버그 모드를 사용하여 마이그레이션을 진행하는 주된 이유는 명령의 동작 변경 여부를 높은 정확도로 감지할 수 있기 때문입니다. AWS CLI 버전 1과 AWS CLI 버전 2 간의 주요 변경 사항에 설명된 15가지 호환성 파괴 변경 사항 중 14가지를 업그레이드 디버그 모드를 통해 감지할 수 있습니다. 이 기능의 제한 사항은 업그레이드 디버그 모드를 사용하여 AWS CLI 버전 1을 AWS CLI 버전 2로 업그레이드제한 사항 섹션을 참조하세요. 반면, 업그레이드 디버그 모드 사용의 주요 단점은 출력 내용이 실행 환경 내에서만 유효하다는 점입니다. AWS CLI 버전 2로 마이그레이션한 후 환경에서 AWS CLI 구성 설정을 변경하는 경우에도 호환성 문제가 발생할 수 있으므로, 업데이트된 환경에서 업그레이드 디버그 모드를 사용하여 다시 확인해야 합니다.

AWS CLI v1-v2 마이그레이션 도구

AWS CLI v1-v2 마이그레이션 도구는 Python 3.9 이상에서 사용할 수 있는 독립 실행형 도구입니다. 이 도구는 AWS CLI와 독립적으로 실행되는 정적 린터입니다. 이는 CLI 버전 2에서 다른 동작을 보일 수 있는 AWS CLI AWS 버전 1 명령이 포함된 bash 스크립트를 린트합니다. AWS CLI 버전 2에서 동작 방식이 다를 가능성이 있는 것으로 감지되는 대부분의 명령에 대해, 스크립트 내의 명령을 자동으로 업데이트하여 AWS CLI 버전 2에서 AWS CLI 버전 1의 동작을 유지할 수 있습니다.

AWS CLI v1-v2 마이그레이션 도구를 사용하여 마이그레이션을 진행하는 주된 이유는 스크립트를 자동으로 업데이트하여 AWS CLI 버전 2에서 AWS CLI 버전 1 동작을 유지할 수 있기 때문입니다. 이를 통해 사용자가 직접 업데이트하는 데 드는 시간과 노력을 절감할 수 있습니다. 반면 마이그레이션 도구 사용의 주요 단점은 명령의 동작 변경 여부를 감지하는 범위가 좁다는 것입니다. 이는 정적 도구이므로 런타임에 결정되는 동작의 변화를 확인하지 않습니다.

업그레이드 디버그 모드와 AWS CLI v1-v2 마이그레이션 도구 중에서 선택

다음 표는 업그레이드 디버그 모드와 AWS CLI v1-v2 마이그레이션 도구의 주요 차이점을 보여주며 사용 사례에 적합한 도구를 선택하는 데 도움이 될 수 있습니다.

업그레이드 디버그 모드 AWS CLI v1-v2 마이그레이션 도구
AWS CLI 버전 1과 AWS CLI 버전 2 간의 호환성 파괴 변경 사항 15개 중 14개를 감지합니다. AWS CLI 버전 1과 AWS CLI 버전 2 간의 호환성 파괴 변경 사항 15개 중 7개를 감지합니다.
AWS CLI를 실행할 수 있는 모든 터미널 프로그램과 호환됩니다. bash 스크립트 린팅만 지원합니다.
AWS CLI 버전 1, 버전 1.44.0 이상이 필요합니다. AWS CLI와 독립적으로 실행되며 AWS CLI를 설치할 필요가 없습니다.
AWS CLI 버전 2에서 AWS CLI 버전 1 동작을 유지하려면 수동 수정을 수행해야 합니다. AWS CLI 버전 2에서 동작이 다를 가능성이 있는 것으로 감지되는 대부분의 AWS CLI 버전 1 명령을 자동으로 수정합니다.
감지 사항 및 제안된 수정 사항은 실행 환경(예: AWS CLI 구성)에만 적용됩니다. 감지 사항 및 제안된 수정 사항은 환경과 무관합니다.
동작 변경 여부를 테스트 중인 각 AWS CLI 명령을 실행해야 합니다. AWS CLI 명령을 실행할 필요가 없습니다. bash 스크립트당 한 번만 실행하면 됩니다.
오탐 감지를 출력하는 것으로 알려진 사례가 정확히 5건 있습니다. 오탐 감지를 출력하는 것으로 알려진 사례가 정확히 3건 있습니다.

다음 표는 두 마이그레이션 도구 각각에서 지원되는 AWS CLI 버전 1과 AWS CLI 버전 2 간의 주요 변경 사항를 보여줍니다.

이 섹션의 추가 주제