

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# AWS CloudShell 컴퓨팅 환경: 사양 및 소프트웨어
<a name="vm-specs"></a>

시작하면 [Amazon Linux 2023](https://aws.amazon.com/linux/amazon-linux-2023/)을 기반으로 하는 AWS CloudShell컴퓨팅 환경이 생성되어 쉘 환경을 호스팅합니다. 이 환경은 [컴퓨팅 리소스(vCPU 및 메모리)](#vm-configuration)로 구성되며 명령줄 인터페이스에서 액세스할 수 있는 다양한 [사전 설치 소프트웨어](#pre-installed-software)가 있습니다. 컴퓨팅 환경에 설치하는 소프트웨어가 패치되어 있고 최신 상태인지 확인합니다. 소프트웨어를 설치하고 쉘 스크립트를 수정하여 기본 환경을 구성할 수도 있습니다.

## 컴퓨팅 환경 리소스
<a name="vm-configuration"></a>

각 AWS CloudShell 컴퓨팅 환경에는 다음과 같은 CPU 및 메모리 리소스가 할당됩니다.
+ 1 vCPU(가상 중앙 처리 장치)
+ 2-GiB RAM

또한 환경은 다음과 같은 스토리지 구성으로 프로비저닝됩니다.
+ 1-GB 영구 스토리지(세션 종료 후에도 스토리지 유지)

자세한 내용은 [영구 스토리지](limits.md#persistent-storage-limitations) 단원을 참조하십시오.

## CloudShell 네트워크 요구사항
<a name="cloudshell-network-requirements"></a>

**WebSocket**

CloudShell은 WebSocket 프로토콜을 기반으로 하는데, 이 프로토콜은 사용자의 웹 브라우저와 AWS 클라우드에 있는 CloudShell 서비스 간 양방향 대화형 통신을 가능하게 합니다.** 사설망에서 브라우저를 사용하는 경우, 아마도 프록시 서버와 방화벽을 통해 인터넷 보안 접속이 가능할 것입니다. WebSocket 통신은 일반적으로 문제 없이 프록시 서버를 통과할 수 있습니다. 그러나 프록시 서버에서 WebSocket이 제대로 작동하지 않는 경우도 있습니다. 이런 문제가 발생할 경우, CloudShell 인터페이스에서 `Failed to open sessions : Timed out while opening the session` 오류로 보고합니다.

이 오류가 반복적으로 발생하는 경우, 프록시 서버 설명서를 참조하여 WebSocket을 허용하는 구성인지 확인하십시오. 아니면 네트워크 시스템 관리자에게 문의하시기 바랍니다.

**참고**  
특정 URLs을 허용 목록에 추가하여 세분화된 권한을 정의하려는 경우 AWS Systems Manager 세션이 입력 전송 및 출력 수신을 위해 WebSocket 연결을 여는 데 사용하는 URL의 일부를 추가할 수 있습니다. ( AWS CloudShell 명령이 해당 Systems Manager 세션으로 전송됩니다.)  
 Systems Manager에서 사용하는 StreamUrl 형식은 `wss://ssmmessages.region.amazonaws.com/v1/data-channel/session-id?stream=(input|output)`입니다.  
**리전**은 미국 동부(오하이오) 리전과 AWS AWS Systems Manager같이에서 지원하는 리전`us-east-2`의 리전 식별자를 나타냅니다.  
**세션 ID는** 특정 Systems Manager 세션이 정상적으로 시작된 *후* 생성되므로 URL 허용 목록을 업데이트할 때만 `wss://ssmmessages.region.amazonaws.com` 지정이 가능합니다. 자세한 정보는AWS Systems Manager API 참조의 [StartSession](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_StartSession.html) 작업에서 확인하십시오.**

## 사전 설치 소프트웨어
<a name="pre-installed-software"></a>

**참고**  
 AWS CloudShell 개발 환경은 최신 소프트웨어에 대한 액세스를 제공하도록 정기적으로 업데이트되므로이 설명서에서는 특정 버전 번호를 제공하지 않습니다. 그 대신, 설치된 버전을 확인할 수 있는 방법을 알려 드립니다. 설치된 버전을 확인하려면 프로그램명을 입력하고 `--version` 옵션(예: `git --version`)을 입력합니다.

### 쉘
<a name="installed-shells"></a>


**사전 설치 쉘**  

| 이름 | 설명 | Version information | 
| --- | --- | --- | 
|  Bash  |  Bash 쉘은의 기본 쉘 애플리케이션입니다 AWS CloudShell.  |  `bash --version`  | 
|  PowerShell(pwsh)  |  명령줄 인터페이스와 스크립팅 언어 지원을 제공하는 PowerShell은 Microsoft의 .NET 명령 언어 런타임을 기반으로 구축되었습니다. PowerShell은 .NET 객체를 수락하고 반환하는 `cmdlets`라는 경량 명령을 사용합니다.  |  `pwsh --version`  | 
| Z 쉘(zsh) |  Z 쉘, 또는 `zsh`은(는) 일명 Bourne 쉘의 확장 버전으로 테마 및 플러그인에 대한 향상된 사용자 지정 지원을 제공합니다.  |  `zsh --version`  | 

### AWS 명령줄 인터페이스(CLI)
<a name="aws-services-installed"></a>


**CLI**  

| 이름 | 설명 | Version information | 
| --- | --- | --- | 
|  AWS CDK 도구 키트 CLI  |   AWS CDK 도구 키트, CLI 명령 `cdk`는 AWS CDK 앱과 상호 작용하는 기본 도구입니다. 앱을 실행하고, 정의한 애플리케이션 모델을 조사하고,에서 생성된 AWS CloudFormation 템플릿을 생성 및 배포합니다 AWS CDK. 자세한 내용은 [AWS CDK 툴킷](https://docs.aws.amazon.com/cdk/v2/guide/cli.html) 단원을 참조하십시오.  |  `cdk --version`  | 
|  AWS CLI  |  AWS CLI 는 명령줄에서 여러 AWS 서비스를 관리하고 스크립트를 사용하여 자동화하는 데 사용할 수 있는 명령줄 인터페이스입니다. 자세한 내용은 [CloudShell의 CLI에서 AWS 서비스 관리](working-with-aws-cli.md) 단원을 참조하십시오.최신 버전인 AWS CLI 버전 2를 사용하고 있는지 확인하는 방법에 대한 자세한 내용은 [홈 디렉터리 AWS CLI 에 설치](#install-cli-software)에서 확인하십시오. |  `aws --version`  | 
| EB CLI |   AWS Elastic Beanstalk CLI는 로컬 리포지토리에서 환경 생성, 업데이트 및 모니터링을 간소화하는 명령줄 인터페이스를 제공합니다. 자세한 내용은 *AWS Elastic Beanstalk 개발자 안내서*에서 [Elastic Beanstalk 명령줄 인터페이스(EB CLI) 사용](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb-cli3.html)을 참조하십시오.  |  `eb --version`  | 
|  Amazon ECS CLI  |  Amazon Elastic Container Service(Amazon ECS) 명령줄 인터페이스(CLI)는 로컬 개발 환경에서 클러스터 및 작업 모니터링을 간소화하는 상위 수준 명령을 제공합니다. 자세한 내용은 *Amazon Elastic Container Service 개발자 안내서*의 [Amazon ECS 명령줄 참조 사용](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_CLI.html)을 참조하십시오.  |  `ecs-cli --version`  | 
|  AWS SAM CLI  |  AWS SAM CLI는 AWS Serverless Application Model 템플릿 및 애플리케이션 코드에서 작동하는 명령줄 도구입니다. 여러 작업을 수행할 수 있습니다. 여기에는 로컬에서 Lambda 함수 호출, 서버리스 애플리케이션을 위한 배포 패키지 생성, AWS 클라우드에 서버리스 애플리케이션 배포가 포함됩니다. 자세한 내용은 *AWS Serverless Application Model 개발자 가이드*의 [AWS SAM CLI 명령 참조](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-command-reference.html)를 참조하십시오.  |  `sam --version`  | 
| AWS Tools for PowerShell |  AWS Tools for PowerShell 는에서 노출되는 기능을 기반으로 구축된 PowerShell 모듈입니다 SDK for .NET. 를 사용하면 PowerShell 명령줄에서 AWS 리소스에 대한 작업을 스크립팅할 AWS Tools for PowerShell수 있습니다.AWS CloudShell 는의 모듈화된 버전(AWS.Tools)을 사전 설치합니다 AWS Tools for PowerShell.자세한 내용은 AWS Tools for PowerShell 사용 설명서의 [AWS Tools for PowerShell 사용](https://docs.aws.amazon.com/powershell/latest/userguide/pstools-using.html)을 참조하십시오. |  `pwsh --Command 'Get-AWSPowerShellVersion'`  | 

### 런타임 및 AWS SDK: Node.js 및 Python 3
<a name="runtimes-installed"></a>


**런타임 및 AWS SDK**  

| 이름 | 설명 | Version information | 
| --- | --- | --- | 
|  Node.js (npm 포함)  |  Node.js는 비동기 프로그래밍 기술을 보다 쉽게 적용할 수 있도록 설계된 JavaScript 런타임입니다. 자세한 정보는 [공식 Node.js 사이트에 있는 설명서](https://nodejs.org/en/docs/)에서 확인하십시오. npm은 JavaScript 모듈의 온라인 레지스트리 액세스를 제공하는 패키지 관리자입니다. 자세한 내용은 [공식 npm 사이트의 설명서](https://docs.npmjs.com/)를 참조하십시오.  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/cloudshell/latest/userguide/vm-specs.html)  | 
|   Node.js의 JavaScript용 SDK   | 소프트웨어 개발 키트(SDK)는 Amazon S3, Amazon EC2, DynamoDB, Amazon SWF를 비롯한 AWS 서비스에 JavaScript 객체를 제공하여 코딩을 간소화하는 데 도움이 됩니다. 자세한 정보는 [AWS SDK for JavaScript 개발자 안내서](https://docs.aws.amazon.com/sdk-for-javascript/latest/developer-guide/ )를 참조하십시오. |  `npm -g ls --depth 0 2>/dev/null \| grep aws-sdk`  | 
|  Python  |  Python 3는 쉘 환경에서 사용 가능합니다. 현재 Python 3이 프로그래밍 언어 기본 버전으로 간주됩니다(Python 2 지원은 2020년 1월에 종료). 자세한 정보는 [Python 공식 사이트에 있는 설명서](https://www.python.org/doc/)에서 확인하십시오. 또한 사전 설치된 pip는 Python용 패키지 설치 프로그램입니다. 이 명령줄 프로그램을 사용하여 Python 패키지 색인과 같은 온라인 색인에서 Python 패키지를 설치할 수 있습니다. 자세한 정보는 [Python Packaging Authority 제공 설명서](https://pip.pypa.io/en/stable/)에서 확인하십시오.  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/cloudshell/latest/userguide/vm-specs.html)  | 
|  SDK for Python(Boto3)  |  Boto는 Python 개발자가 Amazon EC2 및 Amazon S3와 같이 생성 AWS 서비스, 구성 및 관리하는 데 사용하는 소프트웨어 개발 키트(SDK)입니다. SDK는 easy-to-use 객체 지향적인 API와 하위 수준의 액세스를 제공합니다 AWS 서비스. 자세한 내용은[Boto3 설명서](https://boto3.amazonaws.com/v1/documentation/api/latest/index.html)를 참조하십시오.  |  `pip3 list \| grep boto3`  | 

### 개발 도구 및 쉘 유틸리티
<a name="utilities-installed"></a>


**개발 도구 및 쉘 유틸리티**  

| 이름 | 설명 | Version information | 
| --- | --- | --- | 
|  bash-completion  |  bash-completion은 **Tab** 키를 눌러 부분적으로 입력된 명령이나 인수를 자동으로 완성할 수 있는 쉘 함수 모음입니다. bash-completion이 지원하는 패키지는 `/usr/share/bash-completion/completions`에서 찾을 수 있습니다. 패키지 명령에 대한 자동 완성을 설정하려면 프로그램 파일을 소싱해야 합니다. 예를 들어 Git 명령에 대해 자동 완성을 설정하려면 AWS CloudShell 세션이 시작될 때마다 기능을 사용할 수 `.bashrc` 있도록 다음 줄을에 추가합니다. `source /usr/share/bash-completion/completions/git` 사용자 지정 완성 스크립트를 사용하려면 영구 홈 디렉터리(`$HOME`)에 추가하고 `.bashrc`에서 직접 소싱합니다. 자세한 정보는 GitHub에서 프로젝트 [ README](https://github.com/scop/bash-completion#readme)를 참조하십시오.  |  `dnf info bash-completion`  | 
| cqlsh-expansion | cqlsh-expansion은 Apache Cassandra와의 완전한 호환성을 유지하면서 Amazon Keyspaces에 사전 구성된 cqlsh 및 헬퍼가 포함된 도구 키트입니다. 자세한 내용은 Amazon Keyspaces(Apache Cassandra용) 개발자 가이드의 [cqlsh를 사용하여 Amazon Keyspaces에 접속](https://docs.aws.amazon.com/keyspaces/latest/devguide/programmatic.cqlsh.html)을 참조하세요. |  `cqlsh-expansion --version`  | 
| Docker |  [Docker](https://docs.docker.com/guides/workshop/)는 애플리케이션 개발, 배송, 실행을 위한 개방형 플랫폼입니다. Docker를 사용하면 애플리케이션을 인프라와 분리하여 소프트웨어를 빠르게 제공할 수 있습니다. 이를 통해 내부에 Dockerfile을 빌드 AWS CloudShell하고 CDK를 사용하여 Docker 자산을 빌드할 수 있습니다. Docker에서 지원되는 AWS 리전에 대한 자세한 내용은 [지원되는 AWS 리전을 참조하세요 AWS CloudShell](supported-aws-regions.md). Docker는 환경에서 공간이 제한적이라는 점에 유의해야 합니다. 개별 이미지가 크거나 기존 Docker 이미지가 너무 많으면 문제가 발생할 수 있습니다. Docker에 대한 자세한 내용은 [Docker 설명서 가이드](https://docs.docker.com/get-started/overview/)를 참조하세요.  |  `docker --version`  | 
| Git |  Git는 브랜치 워크플로와 콘텐츠 스테이징을 통해 최신 소프트웨어 개발 방식을 지원하는 분산 버전 제어 시스템입니다. 자세한 정보는 [Git 공식 사이트에 있는 설명서](https://git-scm.com/doc)에서 확인하십시오.  |  `git --version`  | 
| iputils |  iputils 패키지에는 Linux 네트워킹용 유틸리티가 들어 있습니다. 제공된 유틸리티에 대한 자세한 정보는 [GitHub에 있는 iputils 리포지토리](https://github.com/iputils/iputils)에서 확인하십시오.  |  iputils 도구 예시: `arping -V`  | 
| jq | jq 유틸리티는 JSON 형식의 데이터를 구문 분석하여 명령줄 필터로 수정된 출력을 생성합니다. 자세한 정보는 [GitHub에서 호스팅 하는 jq 매뉴얼](https://stedolan.github.io/jq/manual/)에서 확인하십시오. |  `jq --version`  | 
|  kubectl  |  kubectl은 Kubernetes API를 사용하여 Kubernetes 클러스터의 컨트롤 플레인과 통신하는 명령줄 도구입니다.  |  `kubectl --version`  | 
|  make  | make 유틸리티는 makefiles으로 작업 세트를 자동화하고 코드 컴파일을 구성합니다. 자세한 내용은 [GNU Make 설명서](https://www.gnu.org/software/make/)를 참조하십시오. |  `make --version`  | 
|  man  | man 명령은 명령줄 유틸리티 및 도구에 대한 매뉴얼 페이지를 제공합니다. 예를 들어, man ls은(는) 디렉토리 콘텐츠를 나열하는 ls 명령의 매뉴얼 페이지를 반환합니다. 자세한 내용은 [man 페이지에 대한 Wikipedia 페이지](https://en.wikipedia.org/wiki/Man_page)를 참조하십시오. |  `man --version`  | 
| nano | nano는 텍스트 기반 인터페이스용의 작고 사용자 친화적인 편집기입니다. 자세한 내용은 [GNU 나노 설명서](https://www.nano-editor.org/docs.php)를 참조하십시오. |  `nano --version`  | 
|  OpenJDK 21  |  Amazon Corretto 21은 [OpenJDK 21](https://openjdk.org/projects/jdk/21/)의 장기 지원(LTS) 배포판입니다. Amazon Corretto는 무료로 사용할 수 있는 Open Java Development Kit(OpenJDK)의 프로덕션용 멀티플랫폼 배포판입니다. 자세한 내용은 *Corretto 21 사용자 가이드*의 [Amazon Corretto 21이란 무엇인가요?](https://docs.aws.amazon.com/corretto/latest/corretto-21-ug/what-is-corretto-21.html)를 참조하세요.  |  `java -version`  | 
|   procps   | procps는 현재 실행 중인 프로세스를 모니터링하고 중지하는 데 사용하는 시스템 관리 유틸리티입니다. 자세한 정보는 [procps로 실행 가능한 프로그램 목록이 수록되어 있는 README 파일](https://gitlab.com/procps-ng/procps/blob/master/README.md)에서 확인하십시오. |  `ps --version`  | 
|  psql  | PostgreSQL은 표준 SQL 기능을 사용하는 동시에 복잡한 데이터 작업을 안전하게 관리하고 규모를 조정할 수 있는 견고한 기능을 제공하는 강력한 오픈 소스 데이터베이스 시스템입니다. 자세한 내용은 [PostgreSQL이란 무엇인가요?](https://www.postgresql.org/about/)를 참조하세요. |  `psql --version`  | 
|  SSH 클라이언트  |  SSH 클라이언트는 보안 쉘 프로토콜로 원격 컴퓨터와의 암호화된 통신을 합니다. OpenSSH는 사전 설치된 SSH 클라이언트입니다. 자세한 정보는 OpenBSD가 유지관리하는 [OpenSSH 사이트](https://www.openssh.com/)에서 확인하십시오.  |  `ssh -V`  | 
|  sudo  |  sudo 유틸리티가 있으면 다른 사용자(일반적으로 수퍼유저)의 보안 권한으로 프로그램을 실행할 수 있습니다. Sudo는 시스템 관리자로서 애플리케이션을 설치해야 할 때 유용합니다. 자세한 정보는 [Sudo 매뉴얼](https://www.sudo.ws/man/1.8.14/sudo.man.html)에서 확인하십시오.  |  `sudo --version`  | 
|  tar  |  tar는 여러 파일을 단일 아카이브 파일(tarball)로 그룹화할 때 사용하는 명령줄 유틸리티입니다. 자세한 내용은 [GNU 타르 설명서](https://www.gnu.org/software/wget/manual/)를 참조하십시오.  |  `tar --version`  | 
|  tmux  | tmux는 여러 창에서 여러 프로그램을 동시에 실행할 때 사용하는 터미널 멀티플렉서입니다. 자세한 정보는 [tmux를 간단하게 소개하는 내용의 블로그](https://www.hamvocke.com/blog/a-quick-and-easy-guide-to-tmux/)에서 확인하십시오. |  `tmux -V`  | 
| vim |  vim은 텍스트 기반 인터페이스를 통해 상호 작용할 수 있는 사용자 지정 가능한 편집기입니다. 자세한 내용은 [vim.org에서 제공되는 설명서 리소스](https://www.vim.org/docs.php)를 참조하십시오.  |  `vim --version`  | 
| wget |  wget은 명령줄의 엔드포인트로 지정된 웹 서버에서 콘텐츠를 검색할 때 사용하는 컴퓨터 프로그램입니다. 자세한 내용은 [GNU Wget 설명서](https://www.gnu.org/software/wget/manual/)를 참조하십시오.  |  `wget --version`  | 
| zip/unzip |  zip/unzip 유틸리티는 데이터 손실 없이 무손실 데이터 압축을 제공하는 아카이브 파일 형식을 사용합니다. zip 명령을 호출하면 파일을 단일 아카이브로 그룹화하고 압축합니다. unzip을 사용하면 아카이브에서 지정된 디렉터리로 파일을 추출합니다.  |  `unzip --version` `zip --version`  | 

## 홈 디렉터리 AWS CLI 에 설치
<a name="install-cli-software"></a>

CloudShell 환경에 사전 설치된 다른 소프트웨어와 마찬가지로 AWS CLI 도구는 예정된 업그레이드 및 보안 패치를 통해 자동 업데이트됩니다. up-to-date 버전의를 사용하려면 쉘의 홈 디렉터리에 도구를 수동으로 설치하도록 선택할 AWS CLI수 있습니다.

**중요**  
다음에 CloudShell 세션을 시작할 때 사용할 수 있도록 AWS CLI 의 복사본을 홈 디렉터리에 수동으로 설치해야 합니다. 수동 설치가 필요한 이유는 `$HOME` 외부 디렉터리에 추가된 파일이 쉘 세션 종료 시 삭제되기 때문입니다. 또한이 복사본을 설치한 후에는 자동으로 업데이트 AWS CLI되지 않습니다. 다시 말해, 업데이트와 보안 패치 관리는 사용자의 책임입니다.  
 AWS 공동 책임 모델에 대한 자세한 내용은 섹션을 참조하세요[의 데이터 보호 AWS CloudShell](data-protection.md).<a name="install-cli-software-proc"></a>

**를 설치하려면 AWS CLI**

1. CloudShell 명령줄에서 `curl` 명령을 사용하여 AWS CLI 설치된의 압축 사본을 셸로 전송합니다.

   ```
   curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
   ```

1. 폴더의 압축을 풉니다.

   ```
   unzip awscliv2.zip
   ```

1. 지정된 폴더에 도구를 추가하려면 AWS CLI 설치 관리자를 실행합니다.

   ```
   sudo ./aws/install --install-dir /home/cloudshell-user/usr/local/aws-cli --bin-dir /home/cloudshell-user/usr/local/bin
   ```

   정상적으로 설치되면 명령줄에 다음 메시지가 표시됩니다.

   ```
   You can now run: /home/cloudshell-user/usr/local/bin/aws --version
   ```

1. `PATH` 환경 변수도 업데이트하면 `aws` 명령을 실행할 때 도구 설치 경로를 지정하지 않아도 되므로 편리합니다.

   ```
   export PATH=/home/cloudshell-user/usr/local/bin:$PATH
   ```
**참고**  
에 대한이 변경을 실행 취소하면 지정된 경로를 사용하지 않는 `PATH` `aws` 명령은 AWS CLI 기본적으로의 사전 설치된 버전을 사용합니다.

## 쉘 환경에 타사 소프트웨어 설치
<a name="installing-software"></a>

**참고**  
타사 애플리케이션을의 AWS CloudShell컴퓨팅 환경에 설치하기 전에 [공유 보안 책임 모델을](https://aws.amazon.com/compliance/shared-responsibility-model/) 검토하는 것이 좋습니다.

기본적으로 모든 AWS CloudShell 사용자에게는 sudo 권한이 있습니다. 따라서 `sudo` 명령으로 쉘의 컴퓨팅 환경에서 아직 사용할 수 없는 소프트웨어를 설치할 수 있습니다. 예를 들어, DNF 패키지 관리 유틸리티와 함께 `sudo`를 사용하여 `cowsay`를 설치하면. 다음과 같은 메시지가 포함된 소의 ASCII 아트 사진이 생성됩니다.

```
sudo dnf install cowsay
```

그리고 `echo "Welcome to AWS CloudShell" | cowsay`을(를) 입력하면 새로 설치된 프로그램이 열립니다.

**중요**  
디렉터리에 있는 dnf 설치 프로그램과 같은 패키지 관리 유틸리티(예: `/usr/bin`)는 쉘 세션 종료 시 재생됩니다. 즉 세션별로 추가 소프트웨어가 설치되고 사용됩니다.

## 스크립트로 쉘 수정
<a name="modifying-shell-scripts"></a>

기본 쉘 환경을 수정하려면 쉘 환경이 시작될 때마다 실행되는 쉘 스크립트를 편집해야 합니다. `.bashrc` 스크립트는 기본 bash 쉘이 시작될 때마다 실행됩니다.

**주의**  
`.bashrc` 파일을 잘못 수정하면 이후에 쉘 환경에 액세스하지 못할 수 있습니다. 편집하기 전 파일 사본을 만들어 두는 것이 좋습니다. `.bashrc` 편집 시 쉘을 두 개 열어 위험을 줄일 수도 있습니다. 그러면 한 쉘에서 액세스 권한을 잃더라도 다른 쉘에는 계속 로그인한 상태이므로 변경 내용을 롤백할 수 있습니다.  
`.bashrc` 또는 다른 파일을 잘못 수정한 후 액세스 권한을 잃는 경우 홈 디렉터리 AWS CloudShell 를 삭제하여 기본 설정으로 돌아갈 수 있습니다. [8단계: 쉘 세션 홈 디렉터리 삭제](getting-started.md#delete-shell-session) 

이 절차에서는 쉘 환경이 Z 쉘 실행으로 자동 전환되도록 `.bashrc` 스크립트를 수정합니다.

1. 텍스트 편집기(예: Vim)로 `.bashrc`을(를) 엽니다.

   ```
   vim .bashrc
   ```

1. 편집기 인터페이스에서 **I** 키를 눌러 편집을 시작하고 다음을 추가합니다.

   ```
   zsh
   ```

1. 종료하고 편집한 `.bashrc` 파일을 저장하려면 **Esc** 키를 눌러 Vim 명령 모드로 전환하고 다음을 입력합니다.

   `:wq `

1. `source` 명령으로 `.bashrc` 파일을 재로드합니다.

   ```
   source .bashrc
   ```

   명령줄 인터페이스를 다시 사용할 수 있게 되면 프롬프트 기호가 `%`로 바뀌어 현재 Z 쉘을 사용하고 있음을 나타냅니다.

# AWS CloudShell AL2에서 AL2023으로 마이그레이션
<a name="cloudshell-AL2023-migration"></a>

Amazon Linux 2(AL2) 기반인AWS CloudShell은 Amazon Linux 2023(AL2023)으로 마이그레이션되었습니다. AL2023에 대한 자세한 정보는 *Amazon Linux 2023 사용 설명서*의 [Amazon Linux 2023(AL2023)란 무엇인가요?](https://docs.aws.amazon.com/linux/al2023/ug/what-is-amazon-linux.html)를 참조하십시오.

AL2023에서 CloudShell에서 제공하는 모든 도구로 기존 CloudShell 환경에 계속 액세스할 수 있습니다. 사용 가능한 도구에 대한 자세한 정보는 [사전 설치 소프트웨어](vm-specs.md#pre-installed-software)에서 확인하십시오.

AL2023은 Node.js 18, Python 3.9 등 최신 버전의 패키지를 포함하여 개발 도구에 대한 몇 가지 개선 사항을 제공합니다.

**참고**  
AL2023에서는 Python 2가 더 이상 CloudShell 환경과 함께 제공되지 않습니다.

AL2와 AL2023의 주요 차이점에 대한 자세한 내용은 *Amazon Linux 2023 사용 설명서*에서 [Amazon Linux 2와 Amazon Linux 2023 비교](https://docs.aws.amazon.com/linux/al2023/ug/compare-with-al2.html)를 참조하십시오.

이에 대한 문의 사항이 있으면 [지원](https://aws.amazon.com/contact-us/)에 연락하십시오. [AWS re:Post](https://repost.aws/tags/TA5ZaPf1NkT4uNitnWVitlyQ/aws-cloudshell) 포럼에서 답을 검색하고 질문을 올릴 수도 있습니다. 를 입력 AWS re:Post하면에 로그인해야 할 수 있습니다 AWS.

## AWS CloudShell 마이그레이션 FAQs
<a name="migration-faqs"></a>

다음은를 사용하여 AL2에서 AL2023으로 마이그레이션하는 방법에 대한 몇 가지 일반적인 질문에 대한 답변입니다 AWS CloudShell.
+ [AL2023으로 마이그레이션하면 AL2에서 실행되는 Amazon EC2 인스턴스와 같은 다른 AWS 리소스에 영향을 미치나요?](#migration-effect)
+ [AL2023 마이그레이션과 함께 변경되는 패키지는 무엇인가요?](#package-update)
+ [마이그레이션을 거부할 수 있나요?](#migration-opt-out)
+ [내 AWS CloudShell 환경의 백업 생성이 가능한가요?](#migration-backup)

### AL2023으로 마이그레이션하면 AL2에서 실행되는 Amazon EC2 인스턴스와 같은 다른 AWS 리소스에 영향을 미치나요?
<a name="migration-effect"></a>

 AWS CloudShell 환경 이외의 서비스 또는 리소스는이 마이그레이션의 영향을 받지 않습니다. 여기에는 내부에서 생성하거나 액세스했을 수 있는 리소스가 포함됩니다 AWS CloudShell. 예를 들어, AL2에서 실행되도록 생성된 Amazon EC2 인스턴스는 AL2023 인스턴스로 마이그레이션되지 않습니다.

### AL2023 마이그레이션과 함께 변경된 패키지는 무엇인가요?
<a name="package-update"></a>

AWS CloudShell 환경에는 현재 사전 설치된 소프트웨어가 포함되어 있습니다. 사전 설치된 소프트웨어의 전체 목록에 대한 자세한 내용은 [사전 설치된 소프트웨어를](https://docs.aws.amazon.com/cloudshell/latest/userguide/vm-specs.html#pre-installed-software) 참조하세요. Python 2를 제외하고 이러한 패키지를 AWS CloudShell 계속 제공합니다. AL2와 AL2023에서 제공하는 패키지 간의 전체 차이점은 [AL2와 AL2023 비교](https://docs.aws.amazon.com/linux/al2023/ug/compare-with-al2.html#package-changes)에서 확인하십시오. AL2023으로 마이그레이션한 후 더 이상 충족되지 않는 특정 패키지 및 버전 요구 사항이 있는 고객의 경우 AWS Support에 문의하여 요청을 제출하는 것이 좋습니다.

### 마이그레이션을 거부할 수 있나요?
<a name="migration-opt-out"></a>

 아니요, 마이그레이션을 옵트아웃할 수 없습니다. AWS CloudShell 환경은에서 관리 AWS하므로 모든 환경이 AL2023으로 업그레이드되었습니다.

### 내 AWS CloudShell 환경의 백업을 생성할 수 있습니까?
<a name="migration-backup"></a>

AWS CloudShell 는 사용자 홈 디렉터리를 계속 유지합니다. 자세한 내용은 [Service Quotas 및 제한 AWS CloudShell](https://docs.aws.amazon.com/cloudshell/latest/userguide/limits.html#persistent-storage-limitations)을 참조하십시오. 홈 폴더에 저장되어 있는 파일이나 구성을 백업하려면 [6단계: 홈 디렉터리 백업 생성](https://docs.aws.amazon.com/cloudshell/latest/userguide/getting-started.html#home-directory-backup)을 수행하십시오.