

Amazon CodeCatalyst는 더 이상 신규 고객에게 공개되지 않습니다. 기존 고객은 정상적으로 서비스를 계속 이용할 수 있습니다. 자세한 내용은 [CodeCatalyst에서 마이그레이션하는 방법](migration.md) 단원을 참조하십시오.

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

# CodeCatalyst에서 개발 환경으로 코드 작성 및 수정
<a name="devenvironment"></a>

개발 환경은 클라우드 기반 개발 환경입니다. Amazon CodeCatalyst의 개발 환경을 사용하여 프로젝트의 소스 리포지토리에 저장된 코드 작업을 수행할 수 있습니다. 개발 환경을 생성할 때 몇 가지 옵션이 있습니다.
+ 또한 CodeCatalyst에서 개발 환경을 만들어 지원되는 통합 개발 환경(IDE)으로 코드 작업을 수행할 수 있습니다.
+ 빈 개발 환경을 만들고, 소스 리포지토리에서 코드를 복제하고, 지원되는 IDE로 해당 코드에서 작업하세요.
+ IDE에서 개발 환경을 만들고 소스 리포지토리를 개발 환경에 복제합니다.

*devfile*은 개발 환경을 표준화하는 개방형 표준 YAML 파일입니다. 즉, 이 파일은 개발 환경에 필요한 개발 도구를 코드화합니다. 따라서 개발 환경을 빠르게 설정하고, 프로젝트 간에 전환하고, 팀 멤버 간에 개발 환경 구성을 복제할 수 있습니다. 개발 환경은 지정된 프로젝트에 대해 코딩, 테스트 및 디버깅하는 데 필요한 모든 도구를 구성하는 devfile을 사용하기 때문에 로컬 개발 환경을 생성하고 유지 관리하는 데 소요되는 시간을 최소화합니다.

**중요**  
개발 환경은 CodeCatalyst 자격 증명에 액세스할 수 있는 devfile을 통해 스크립트를 실행할 수 있습니다. 신뢰할 수 없는 리소스를 열기 전에 리포지토리를 검사하십시오.

개발 환경에 포함된 프로젝트 도구 및 애플리케이션 라이브러리는 프로젝트의 소스 리포지토리에 있는 devfile로 정의됩니다. 소스 리포지토리에 devfile이 없는 경우 CodeCatalyst는 기본 devfile을 자동으로 적용합니다. 이 기본 devfile에는 가장 자주 사용되는 프로그래밍 언어 및 프레임워크를 위한 도구가 포함되어 있습니다. 블루프린트를 사용하여 프로젝트를 생성한 경우 CodeCatalyst에서 devfile을 자동으로 생성합니다. devfile에 대한 자세한 내용은 [https://devfile.io](https://devfile.io)를 참조하세요.

개발 환경을 생성한 후에는 해당 환경에만 액세스할 수 있습니다. 개발 환경에서는 지원되는 IDE에서 소스 리포지토리의 코드를 보고 작업할 수 있습니다.

기본적으로 개발 환경은 2코어 프로세서, 4GB RAM, 16GB 영구 저장소를 갖도록 구성됩니다. 스페이스 관리자 권한이 있는 경우 다른 개발 환경 구성 옵션을 사용하고 컴퓨팅 및 스토리지 제한을 관리하도록 스페이스의 청구 계층을 변경할 수 있습니다.

**Topics**
+ [개발 환경 생성](devenvironment-create.md)
+ [개발 환경 중지](devenvironment-stop.md)
+ [개발 환경 재개](devenvironment-resume.md)
+ [개발 환경 편집](devenvironment-edit.md)
+ [개발 환경 삭제](devenvironment-delete.md)
+ [SSH를 사용하여 개발 환경에 연결](devenvironment-connect-ssh.md)
+ [개발 환경용 devfile 구성](devenvironment-devfile.md)
+ [VPC 연결을 개발 환경에 연결](devenvironment-using-vpc.md)
+ [CodeCatalyst에서의 개발 환경 할당량](devenvironment-limits.md)

# 개발 환경 생성
<a name="devenvironment-create"></a>

개발 환경은 다양한 방법으로 만들 수 있습니다.
+ **개요**, **개발 환경** 또는 **소스 리포지토리** 페이지에서 CodeCatalyst 소스 리포지토리 또는 [연결된 소스 리포지토리](source-repositories-link.md)를 사용하여 CodeCatalyst에서 개발 환경을 생성합니다.
+ 개발 환경 페이지에서 소스 리포지토리에 연결되지 않은 CodeCatalyst의 빈 개발 환경을 만듭니다.
+ 선택한 IDE에서 개발 환경을 만들고 소스 리포지토리를 개발 환경에 복제합니다.

**중요**  
Active Directory가 ID 제공업체로 사용되는 스페이스의 사용자는 개발 환경을 사용할 수 없습니다. 자세한 내용은 [Single Sign-On 계정을 사용하여 CodeCatalyst에 로그인할 때는 개발 환경을 생성할 수 없습니다.](devenvironments-troubleshooting.md#troubleshoot-create-dev-env-idprovider) 섹션을 참조하세요.

각 브랜치 및 리포지토리별로 개발 환경 하나를 만들 수 있습니다. 프로젝트에는 여러 리포지토리가 존재할 수 있습니다. 생성한 개발 환경은 CodeCatalyst 계정으로만 관리할 수 있지만, 지원되는 모든 IDE를 사용하여 개발 환경을 열고 작업할 수 있습니다. IDE에서 개발 환경을 사용하려면 AWS Toolkit 이 설치되어 있어야 합니다. 자세한 내용은 [개발 환경에 지원되는 통합 개발 환경](#devenvironment-supported-ide) 섹션을 참조하세요. 기본적으로 개발 환경은 2코어 프로세서, 4GB RAM 및 16GB 영구 스토리지로 생성합니다.

**참고**  
소스 리포지토리와 연결된 개발 환경을 생성한 경우 **리소스** 열에는 이 개발 환경을 생성할 때 지정한 브랜치가 항상 표시됩니다. 이는 다른 브랜치를 생성하거나, 개발 환경 내의 다른 브랜치로 전환하거나, 추가 리포지토리를 복제하는 경우에도 적용됩니다. 빈 개발 환경을 생성한 경우 **리소스** 열이 비어 있습니다.

## 개발 환경에 지원되는 통합 개발 환경
<a name="devenvironment-supported-ide"></a>

다음과 같은 지원되는 통합 개발 환경(IDE)에서 개발 환경을 사용할 수 있습니다.
+ [AWS Cloud9](https://docs.aws.amazon.com/cloud9/latest/user-guide/welcome.html)
+ [JetBrains IDEs](https://www.jetbrains.com/help)
  + [IntelliJ IDEA Ultimate](https://www.jetbrains.com/help/idea/getting-started.html)
  + [GoLand](https://www.jetbrains.com/help/go/getting-started.html)
  + [PyCharm Professional](https://www.jetbrains.com/help/pycharm/getting-started.html)
+ [Visual Studio Code](https://code.visualstudio.com/docs)

## CodeCatalyst에서 개발 환경 만들기
<a name="devenvironment-create-steps"></a>

CodeCatalyst에서 개발 환경 작업을 시작하려면 [AWS Builder ID](id-how-to-sign-in.md) 또는 [SSO](sign-in-sso.md)로 인증하고 로그인합니다.

**브랜치에서 개발 환경을 생성하려면**

1. [https://codecatalyst.aws/](https://codecatalyst.aws/)에서 CodeCatalyst 콘솔을 엽니다.

1. 개발 환경을 생성하려는 프로젝트로 이동합니다.

1. 탐색 창에서 다음 중 하나를 수행합니다.
   + **개요**를 선택한 다음 **내 개발 환경** 섹션으로 이동합니다.
   + **코드**를 선택한 후 **개발 환경**을 선택합니다.
   + **코드**를 선택하고 **소스 리포지토리**를 선택한 다음 개발 환경을 생성할 리포지토리를 선택합니다.

1. **개발 환경 생성**을 선택합니다.

1. 드롭다운 메뉴에서 지원되는 IDE를 선택합니다. 자세한 정보는 [개발 환경에 지원되는 통합 개발 환경](#devenvironment-supported-ide)을 참조하세요.

1. **리포지토리 복제**를 선택합니다.

1. 다음 중 하나를 수행하세요.

   1. 복제할 리포지토리를 선택하고, **기존 브랜치에서 작업**을 선택한 다음 **기존 브랜치** 드롭다운 메뉴에서 브랜치를 선택합니다.
**참고**  
타사 리포지토리를 선택하는 경우 기존 브랜치에서 작업해야 합니다.

   1. 복제할 리포지토리를 선택하고, **새 브랜치에서 작업**을 선택하고, **브랜치 이름** 필드에 브랜치 이름을 입력하고, **다음에서 브랜치 생성** 드롭다운 메뉴에서 새 브랜치를 만들 브랜치를 선택합니다.
**참고**  
**소스 리포지토리** 페이지 또는 특정 소스 리포지토리에서 개발 환경을 생성하는 경우 리포지토리를 선택할 필요가 없습니다. 개발 환경은 소스 리포지토리 페이지에서 선택한 **소스 리포지토리**에서 생성됩니다.

1. (선택 사항) **별칭 - 선택 사항**에서 개발 환경의 별칭을 입력합니다.

1. (선택 사항) **개발 환경 구성** 편집 버튼을 선택하여 개발 환경의 컴퓨팅, 스토리지 또는 제한 시간 구성을 편집합니다.

1. (선택 사항) **Amazon Virtual Private Cloud(Amazon VPC) - 선택 사항에서** 드롭다운 메뉴에서 개발 환경에 연결할 VPC 연결을 선택합니다.

   스페이스에 기본 VPC가 설정된 경우 개발 환경이 해당 VPC에 연결된 상태로 실행됩니다. 다른 VPC 연결을 연결하여 이를 재정의할 수 있습니다. 또한 VPC 연결 개발 환경은 AWS Toolkit을 지원하지 않습니다.

   사용하려는 VPC 연결이 나열되지 않은 경우 프로젝트에 허용되지 않는 AWS 계정 연결이 포함되어 있기 때문일 수 있습니다. 자세한 내용은 *Amazon CodeCatalyst 관리자 안내서*의 [프로젝트 제한 계정 연결 구성](https://docs.aws.amazon.com/codecatalyst/latest/adminguide/managing-accounts-restriction.html)을 참조하세요.
**참고**  
VPC 연결로 개발 환경을 생성하면 VPC 내에 새 네트워크 인터페이스가 생성됩니다. CodeCatalyst는 연결된 VPC 역할을 사용하여 이 인터페이스와 상호 작용합니다. 또한 IPv4 CIDR 블록이 `172.16.0.0/12` IP 주소 범위로 구성되지 **않았는지** 확인합니다.

1. **생성(Create)**을 선택합니다. 개발 환경이 생성되는 동안 개발 환경 상태 열에 **시작 중**이 표시되고, 개발 환경이 생성되면 상태 열에 **실행 중**이 표시됩니다.

**빈 개발 환경 생성**

1. [https://codecatalyst.aws/](https://codecatalyst.aws/)에서 CodeCatalyst 콘솔을 엽니다.

1. 개발 환경을 생성하려는 프로젝트로 이동합니다.

1. 탐색 창에서 다음 중 하나를 수행합니다.
   + **개요**를 선택한 다음 **내 개발 환경** 섹션으로 이동합니다.
   + **코드**를 선택한 후 **개발 환경**을 선택합니다.

1. **개발 환경 생성**을 선택합니다.

1. 드롭다운 메뉴에서 지원되는 IDE를 선택합니다. 자세한 정보는 [개발 환경에 지원되는 통합 개발 환경](#devenvironment-supported-ide)을 참조하세요.

1. **빈 개발 환경 생성**을 선택합니다.

1. (선택 사항) **별칭 - 선택 사항**에서 개발 환경의 별칭을 입력합니다.

1. (선택 사항) **개발 환경 구성** 편집 버튼을 선택하여 개발 환경의 컴퓨팅, 스토리지 또는 제한 시간 구성을 편집합니다.

1. (선택 사항) **Amazon Virtual Private Cloud(Amazon VPC) - 선택 사항에서** 드롭다운 메뉴에서 개발 환경에 연결할 VPC 연결을 선택합니다.

   스페이스에 기본 VPC가 설정된 경우 개발 환경이 해당 VPC에 연결된 상태로 실행됩니다. 다른 VPC 연결을 연결하여 이를 재정의할 수 있습니다. 또한 VPC 연결 개발 환경은 AWS Toolkit을 지원하지 않습니다.

   사용하려는 VPC 연결이 나열되지 않은 경우 프로젝트에 허용되지 않는 AWS 계정 연결이 포함되어 있기 때문일 수 있습니다. 자세한 내용은 *Amazon CodeCatalyst 관리자 안내서*의 [프로젝트 제한 계정 연결 구성](https://docs.aws.amazon.com/codecatalyst/latest/adminguide/managing-accounts-restriction.html)을 참조하세요.
**참고**  
VPC 연결로 개발 환경을 생성하면 VPC 내에 새 네트워크 인터페이스가 생성됩니다. CodeCatalyst는 연결된 VPC 역할을 사용하여 이 인터페이스와 상호 작용합니다. 또한 IPv4 CIDR 블록이 `172.16.0.0/12` IP 주소 범위로 구성되지 **않았는지** 확인합니다.

1. **생성(Create)**을 선택합니다. 개발 환경이 생성되는 동안 개발 환경 상태 열에 **시작 중**이 표시되고, 개발 환경이 생성되면 상태 열에 **실행 중**이 표시됩니다.

**참고**  
개발 환경을 처음 생성하고 여는 데 1\$12분이 걸릴 수 있습니다.

**참고**  
IDE에서 개발 환경이 열리면 코드를 커밋하고 변경 사항을 푸시하기 전에 디렉터리를 소스 리포지토리로 변경해야 할 수 있습니다.

## IDE에서 개발 환경 생성
<a name="devenvironment-using-ide"></a>

개발 환경을 사용하여 프로젝트의 소스 리포지토리에 저장된 코드 작업을 빠르게 수행할 수 있습니다. 개발 환경은 지원되는 통합 개발 환경(IDE)을 사용하여 프로젝트별 완전 작동 클라우드 개발 환경에서 즉시 코딩을 시작할 수 있으므로 개발 속도를 높입니다.

IDE에서 CodeCatalyst를 사용하는 방법에 대한 자세한 내용은 다음 설명서를 참조하세요.
+ [Amazon CodeCatalyst for JetBrains IDEs](https://docs.aws.amazon.com/toolkit-for-jetbrains/latest/userguide/codecatalyst-service.html)
+ [Amazon CodeCatalyst for VS Code](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/codecatalyst-service.html)
+ [용 Amazon CodeCatalyst AWS Cloud9](https://docs.aws.amazon.com/cloud9/latest/user-guide/ide-toolkits-cloud9.html)

# 개발 환경 중지
<a name="devenvironment-stop"></a>

개발 환경의 `/projects` 디렉터리는 소스 리포지토리에서 가져온 파일과 개발 환경을 구성하는 데 사용되는 devfile을 저장합니다. 개발 환경 생성 시 비어 있는 `/home` 디렉터리는 개발 환경을 사용하는 동안 생성한 파일을 저장합니다. 개발 환경의 `/projects` 및 `/home` 디렉터리에 있는 모든 것은 지속적으로 저장되므로 다른 개발 환경, 리포지토리 또는 프로젝트로 전환해야 하는 경우 개발 환경에서 작업을 중지할 수 있습니다.

**주의**  
웹 브라우저, 원격 쉘 및 IDEs를 포함한 인스턴스가 연결된 상태로 남아 있는 경우 개발 환경은 시간 초과되지 않습니다. 따라서 추가 비용이 발생하지 않도록 연결된 모든 인스턴스를 닫아야 합니다.

개발 환경을 만들 때 **Timeout**(제한 시간) 필드에 선택한 시간 동안 개발 환경이 유휴 상태가 되면, 개발 환경은 자동으로 중지됩니다. 개발 환경이 유휴 상태가 되기 전에 중지할 수 있습니다. 개발 환경을 생성할 때 **제한 시간 없음**을 선택하면 개발 환경이 자동으로 중지되지 않습니다. 대신 계속 실행됩니다.

**주의**  
삭제된 VPC 연결과 연결된 개발 환경을 중지하면 재개할 수 없습니다.<a name="devenvironment-stop-steps"></a>

**개발 환경 페이지에서 개발 환경을 중지하려면**

1. [https://codecatalyst.aws/](https://codecatalyst.aws/)에서 CodeCatalyst 콘솔을 엽니다.

1. 개발 환경을 중지하려는 프로젝트로 이동합니다.

1. 탐색 창에서 **코드**를 선택합니다.

1. **개발 환경**을 선택합니다.

1. 중지하려는 개발 환경의 라디오 버튼을 선택합니다.

1. **작업** 메뉴에서 **중지**를 선택합니다.

**참고**  
컴퓨팅 사용은 개발 환경이 실행되는 동안에만 요금이 청구되지만, 스토리지 사용은 개발 환경이 존재하는 전체 시간 동안 요금이 청구됩니다. 컴퓨팅 청구를 중지하는 데 개발 환경을 사용하지 않을 때는 중지합니다.

# 개발 환경 재개
<a name="devenvironment-resume"></a>

개발 환경의 `/projects` 디렉터리는 소스 리포지토리에서 가져온 파일과 개발 환경을 구성하는 데 사용되는 devfile을 저장합니다. 개발 환경 생성 시 비어 있는 `/home` 디렉터리는 개발 환경을 사용하는 동안 생성한 파일을 저장합니다. 개발 환경의 `/projects` 및 `/home` 디렉터리에 있는 모든 것은 지속적으로 저장되므로 다른 개발 환경, 리포지토리 또는 프로젝트로 전환해야 하는 경우 개발 환경에서 작업을 중단하고 나중에 개발 환경에서 작업을 재개할 수 있습니다.

개발 환경을 만들 때 **Timeout**(제한 시간) 필드에 선택한 시간 동안 개발 환경이 유휴 상태가 되면, 개발 환경은 자동으로 중지됩니다. 개발 환경이 유휴 상태가 되려면 AWS Cloud9 브라우저 탭을 닫아야 합니다.

**참고**  
개발 환경을 생성한 브랜치를 삭제해도 개발 환경을 계속 사용할 수 있으며 실행됩니다. 브랜치를 삭제한 개발 환경에서 작업을 재개하려면 새 브랜치를 생성하고 변경 사항을 푸시합니다.<a name="source-resume-summary-steps"></a>

**개요 페이지에서 개발 환경을 재개하려면**

1. [https://codecatalyst.aws/](https://codecatalyst.aws/)에서 CodeCatalyst 콘솔을 엽니다.

1. 개발 환경을 재개하려는 프로젝트로 이동하여 **내 개발 환경** 섹션으로 이동합니다.

1. **(IDE)에서 재개**를 선택합니다.
   + JetBrains IDE의 경우, **JetBrains 게이트웨이 링크를 열 애플리케이션을 선택**하라는 메시지가 표시되면 JetBrains 게이트웨이-EAP를 선택합니다. 확인하라는 메시지가 나타나면 **링크 열기**를 선택합니다.
   + VS Code IDE의 경우 **VS Code 링크를 열 애플리케이션 선택**을 묻는 메시지가 표시되면 VS Code를 선택합니다. **링크 열기**를 선택하여 확인합니다.<a name="source-resume-source-steps"></a>

**소스 리포지토리에서 개발 환경을 재개하려면**

1. [https://codecatalyst.aws/](https://codecatalyst.aws/)에서 CodeCatalyst 콘솔을 엽니다.

1. 개발 환경을 재개하려는 프로젝트로 이동합니다.

1. 탐색 창에서 **코드**를 선택합니다.

1. **소스 리포지토리**를 선택합니다.

1. 재개하려는 개발 환경이 포함된 소스 리포지토리를 선택합니다.

1. 브랜치 이름을 선택하여 브랜치의 드롭다운 메뉴를 확인한 다음 브랜치를 선택합니다.

1. **개발 환경 재개**를 선택합니다.
   + JetBrains IDEs 경우 **링크 열기**를 선택하여 **이 사이트가 JetBrains Gateway와 함께 JetBrains 게이트웨이 링크를 열도록 허용하시겠습니까?**라는 메시지가 표시되면 확인합니다.
   + VS Code IDE의 경우 **링크 열기**를 선택하여 **이 사이트가 Visual Studio Code와 함께 VS Code 링크를 열도록 허용하시겠습니까?**라는 메시지가 표시되면 확인합니다.<a name="devenvironment-resume-steps"></a>

**개발 환경 페이지에서 개발 환경을 재개하려면**

1. [https://codecatalyst.aws/](https://codecatalyst.aws/)에서 CodeCatalyst 콘솔을 엽니다.

1. 개발 환경을 재개하려는 프로젝트로 이동합니다.

1. 탐색 창에서 **코드**를 선택합니다.

1. **개발 환경**을 선택합니다.

1. **IDE** 열에서 개발 환경의 **(IDE)에서 재개**를 선택합니다.
   + JetBrains IDEs 경우 **링크 열기**를 선택하여 **이 사이트가 JetBrains Gateway와 함께 JetBrains 게이트웨이 링크를 열도록 허용하시겠습니까?**라는 메시지가 표시되면 확인합니다.
   + VS Code IDE의 경우 **링크 열기**를 선택하여 **이 사이트가 Visual Studio Code와 함께 VS Code 링크를 열도록 허용하시겠습니까?**라는 메시지가 표시되면 확인합니다.

**참고**  
개발 환경 재개는 몇 분 정도 걸립니다.

# 개발 환경 편집
<a name="devenvironment-edit"></a>

IDE가 실행되는 동안 개발 환경을 편집할 수 있습니다. 컴퓨팅 또는 비활성 제한 시간을 편집하면 변경 사항을 저장한 후 개발 환경이 다시 시작됩니다.<a name="devenvironment-edit-steps"></a>

**개발 환경을 편집하려면**

1. [https://codecatalyst.aws/](https://codecatalyst.aws/)에서 CodeCatalyst 콘솔을 엽니다.

1. 개발 환경을 편집하려는 프로젝트로 이동합니다.

1. 탐색 창에서 **코드**를 선택합니다.

1. **개발 환경**을 선택합니다.

1. 편집하려는 개발 환경을 선택합니다.

1. **편집**을 선택합니다.

1. 컴퓨팅 또는 비활성 제한 시간을 변경할 수 있습니다.

1. **저장**을 선택합니다.

# 개발 환경 삭제
<a name="devenvironment-delete"></a>

개발 환경에 저장된 콘텐츠 작업이 끝나면 개발 환경을 삭제할 수 있습니다. 새 콘텐츠에서 작업할 새 개발 환경을 생성합니다. 개발 환경을 삭제하면 지속 콘텐츠가 영구적으로 삭제됩니다. 개발 환경을 삭제하기 전에 코드 변경 사항을 커밋하고 개발 환경의 원본 소스 리포지토리에 푸시해야 합니다. 개발 환경을 삭제하면 개발 환경에 대한 컴퓨팅 및 스토리지 청구가 중단됩니다.

개발 환경을 삭제한 후 스토리지 할당량이 업데이트되는 데 몇 분 정도 걸릴 수 있습니다. 스토리지 할당량에 도달하면 이 기간 동안 새 개발 환경을 생성할 수 없습니다.

**중요**  
개발 환경 삭제는 실행 취소할 수 없습니다. 개발 환경을 삭제한 후에는 더 이상 복구할 수 없습니다.<a name="devenvironment-delete-steps"></a>

**개발 환경을 삭제하려면**

1. [https://codecatalyst.aws/](https://codecatalyst.aws/)에서 CodeCatalyst 콘솔을 엽니다.

1. 개발 환경을 삭제하려는 프로젝트로 이동합니다.

1. 탐색 창에서 **코드**를 선택합니다.

1. **개발 환경**을 선택합니다.

1. 삭제하려는 개발 환경을 선택합니다.

1. **삭제**를 선택합니다.

1. **delete**를 입력하여 개발 환경 삭제를 확인합니다.

1. **삭제**를 선택합니다.

**참고**  
스페이스에서 VPC 연결을 삭제하기 전에 해당 VPC와 연결된 개발 환경을 제거해야 합니다.  
개발 환경을 삭제하더라도 VPC에서 네트워크 인터페이스를 삭제하지 않을 수 있습니다. 필요에 따라 리소스를 정리해야 합니다. VPC 연결 개발 환경을 삭제할 때 오류가 발생하면 오래된 연결을 [분리하고](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#detach_eni) 사용되지 않음을 확인한 후 [삭제](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#delete_eni)해야 합니다.

# SSH를 사용하여 개발 환경에 연결
<a name="devenvironment-connect-ssh"></a>

SSH를 사용하여 개발 환경에 연결하여 포트 포워딩, 파일 업로드 및 다운로드, 다른 IDE 사용 등의 작업을 제한 없이 수행할 수 있습니다.

**참고**  
IDE 탭 또는 창을 닫은 후 장기간 SSH를 계속 사용하려면 IDE의 비활성으로 인해 SSH가 중지되지 않도록 개발 환경에 대해 높은 제한 시간을 설정해야 합니다.

**사전 조건**
+ 다음 운영 체제 중 하나:
  + Windows 10 이상 및 OpenSSH 활성화
  + macOS 및 Bash 버전 3 이상
  + `yum`, `dpkg` 또는 `rpm` 패키지 관리자 및 Bash 버전 3 이상이 포함된 Linux
+ 또한 AWS CLI 버전 2.9.4 이상이 필요합니다.<a name="devenvironment-connect-ssh-steps"></a>

**SSH를 사용하여 개발 환경에 연결하려면**

1. [https://codecatalyst.aws/](https://codecatalyst.aws/)에서 CodeCatalyst 콘솔을 엽니다.

1. SSH를 사용하여 개발 환경에 연결하려는 프로젝트로 이동합니다.

1. 탐색 창에서 **코드**를 선택합니다.

1. **개발 환경**을 선택합니다.

1. SSH를 사용하여 연결하려는 실행 중인 개발 환경을 선택합니다.

1. **SSH를 통한 연결**을 선택하고 원하는 운영 체제를 선택한 뒤 다음을 수행합니다.
   + 아직 수행하지 않은 경우 지정된 터미널에 첫 번째 명령을 붙여넣고 실행합니다. 명령은 스크립트를 다운로드하고 로컬 환경에서 다음 수정 사항을 실행하여 SSH를 사용하여 개발 환경에 연결할 수 있습니다.
     + 에 [대한 Session Manager 플러그인을 설치합니다. AWS CLI](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-install-plugin.html)
     + SSO 로그인을 수행할 수 있도록 로컬을 수정 AWS Config 하고 CodeCatalyst 프로필을 추가합니다. 자세한 내용은 [CodeCatalyst AWS CLI 에서를 사용하도록 설정](set-up-cli.md) 단원을 참조하십시오.
     + 로컬 SSH 구성을 수정하고 SSH를 사용하여 개발 환경에 연결하는 데 필요한 구성을 추가합니다.
     + SSH 클라이언트가 개발 환경에 연결하는 데 사용하는 스크립트를 `~/.aws/codecatalyst-dev-env` 디렉터리에 추가합니다. 이 스크립트는 [CodeCatalyst StartDevEnvironmentSession API](https://docs.aws.amazon.com/codecatalyst/latest/APIReference/API_StartDevEnvironmentSession.html)를 호출하고 AWS Systems Manager Session Manager 플러그인을 사용하여 로컬 SSH 클라이언트가 원격 개발 환경에 안전하게 연결하는 데 사용하는 개발 환경과의 AWS Systems Manager 세션을 설정합니다.
   + 두 번째 명령을 사용하여 AWS SSO를 사용하여 Amazon CodeCatalyst에 로그인합니다. 이 명령은 `~/.aws/codecatalyst-dev-env` 디렉터리의 스크립트가 [CodeCatalyst StartDevEnvironmentSession API ](https://docs.aws.amazon.com/codecatalyst/latest/APIReference/API_StartDevEnvironmentSession.html)를 직접적으로 호출할 수 있도록 자격 증명을 요청하고 검색합니다. 이 명령은 자격 증명이 만료될 때마다 실행되어야 합니다. 모달( ssh <destination>)에서 마지막 명령을 실행하면 자격 증명이 만료되었거나 이 단계의 지침에 따라 SSO 로그인을 수행하지 않은 경우 오류가 발생합니다.
   + 세 번째 명령을 사용하여 SSH를 사용하여 지정된 개발 환경에 연결합니다. 이 명령의 구조는 다음과 같습니다.

     ```
     ssh codecatalyst-dev-env=<space-name>=<project-name>=<dev-environment-id>
     ```

     또한 이 명령을 사용하여 포트 전달 또는 파일 업로드 및 다운로드와 같이 SSH 클라이언트에서 허용하는 다른 작업을 수행할 수 있습니다.
     + 포트 전달:

       ```
       ssh -L <local-port>:127.0.0.1:<remote-port> codecatalyst-dev-env=<space-name>=<project-name>=<dev-environment-id>
       ```
     + 개발 환경의 홈 디렉터리에 파일 업로드:

       ```
       scp -O </path-to-local-file> codecatalyst-dev-env=<space-name>=<project-name>=<dev-environment-id>:</path-to-remote-file-or-directory>
       ```

# 개발 환경용 devfile 구성
<a name="devenvironment-devfile"></a>

*devfile*은 팀 전체에서 개발 환경을 사용자 지정하는 데 도움이 되는 개방형 표준입니다. devfile은 필요한 개발 도구를 코드화하는 YAML 파일입니다. devfile을 구성하면 필요한 프로젝트 도구 및 애플리케이션 라이브러리를 미리 결정할 수 있으며 Amazon CodeCatalyst가 이를 개발 환경에 설치합니다. devfile은 생성된 리포지토리에 따라 다르며 각 리포지토리에 대해 별도의 devfile을 생성할 수 있습니다. 개발 환경은 명령 및 이벤트를 지원하며 기본 범용 devfile 이미지를 제공합니다.

빈 블루프린트를 사용하여 프로젝트를 생성하는 경우 devfile을 수동으로 생성할 수 있습니다. 다른 블루프린트를 사용하여 프로젝트를 생성하는 경우 CodeCatalyst는 devfile을 자동으로 생성합니다. 개발 환경의 `/projects` 디렉터리는 소스 리포지토리와 devfile에서 가져온 파일을 저장합니다. 개발 환경을 처음 생성할 때 비어 있는 `/home` 디렉터리는 개발 환경을 사용하는 동안 생성한 파일을 저장합니다. 개발 환경의 `/projects` 및 `/home` 디렉터리에 있는 모든 항목은 영구적으로 저장됩니다.

**참고**  
`/home` 폴더는 devfile 또는 devfile 구성 요소 이름의 이름을 변경하는 경우에만 변경됩니다. devfile 또는 devfile 구성 요소 이름을 변경하면 `/home` 디렉터리의 내용이 대체되고 이전 `/home` 디렉터리 데이터를 복구할 수 없습니다.

루트에 devfile이 포함되지 않은 소스 리포지토리로 개발 환경을 생성하거나 소스 리포지토리 없이 개발 환경을 생성하는 경우 기본 범용 devfile이 소스 리포지토리에 자동으로 적용됩니다. 모든 IDE에 동일한 기본 범용 devfile 이미지가 사용됩니다. CodeCatalyst는 현재 devfile 버전 2.0.0을 지원합니다. devfile에 대한 자세한 내용은 [Devfile 스키마 - 버전 2.0.0](https://devfile.io/docs/2.0.0/devfile-schema)을 참조하세요.

**참고**  
Devfile에는 퍼블릭 컨테이너 이미지만 포함할 수 있습니다.

VPC 연결 개발 환경은 다음 devfile 이미지만 지원합니다.
+ 유니버설 이미지
+ 리포지토리가 VPC와 동일한 리전에 있는 경우 프라이빗 Amazon ECR 이미지

**Topics**
+ [개발 환경용 리포지토리 devfile 편집](devenvironment-devfile-moving.md)
+ [CodeCatalyst에서 지원하는 Devfile 기능](#devenvironment-devfile-support)
+ [개발 환경용 devfile의 예](#devenvironment-devfile-example)
+ [복구 모드를 사용하여 리포지토리 devfile 문제 해결](#devenvironment-devfile-recovery)
+ [개발 환경에 대한 범용 devfile 이미지 지정](devenvironment-universal-image.md)
+ [Devfile 명령](devenvironment-devfile-commands.md)
+ [Devfile 이벤트](devenvironment-devfile-events.md)
+ [Devfile 구성 요소](devenvironment-devfile-components.md)

# 개발 환경용 리포지토리 devfile 편집
<a name="devenvironment-devfile-moving"></a>

다음 절차를 사용하여 개발 환경용 리포지토리 devfile을 편집합니다.

## CodeCatalyst에서 개발 환경용 리포지토리 devfile 편집
<a name="devenvironment-devfile-procedure"></a><a name="devenvironment-devfile-steps"></a>

**리포지토리 devfile을 편집하려면**

1. [https://codecatalyst.aws/](https://codecatalyst.aws/)에서 CodeCatalyst 콘솔을 엽니다.

1. devfile을 편집하려는 소스 리포지토리가 포함된 프로젝트로 이동합니다.

1. 탐색 창에서 **코드**를 선택합니다.

1. **소스 리포지토리**를 선택합니다.

1. 편집하려는 devfile이 포함된 소스 리포지토리를 선택합니다.

1. 파일 목록에서 `devfile.yaml` 파일을 선택합니다.

1. **편집**을 선택합니다.

1. devfile을 편집합니다.

1. **커밋**을 선택하거나 풀 요청을 생성하여 팀원이 변경 사항을 검토하고 승인할 수 있도록 합니다.

**참고**  
devfile을 편집하는 경우 변경 사항을 적용하려면 devfile을 다시 시작해야 합니다. 이 작업은 `/aws/mde/mde start --location devfile.yaml`을 실행하여 수행할 수 있습니다. devfile을 시작하는 데 문제가 있는 경우 복구 모드로 전환됩니다. 그러나 VPC에 연결된 개발 환경과 연결된 devfile을 편집하는 경우 변경 사항을 적용하려면 개발 환경을 대신 다시 시작해야 합니다.

`/aws/mde/mde status`를 실행하여 사용 중인 devfile을 검토할 수 있습니다. 위치 필드에는 환경 `/projects` 폴더를 기준으로 데브파일의 경로가 있습니다.

```
{
            "status": "STABLE",
            "location": "devfile.yaml"
        }
```

`/projects/devfile.yaml`의 기본 devfile을 소스 코드 리포지토리로 이동할 수도 있습니다. devfile의 위치를 업데이트하려면 다음 명령을 사용합니다. `/aws/mde/mde start --location repository-name/devfile.yaml` 

## IDE에서 개발 환경용 리포지토리 devfile 편집
<a name="devenvironment-devfile-ide"></a>

개발 환경의 구성을 변경하려면 devfile을 편집해야 합니다. 지원되는 IDE에서 devfile을 편집한 다음 개발 환경을 업데이트하는 것이 좋지만 CodeCatalyst의 소스 리포지토리 루트에서 devfile을 편집할 수도 있습니다. 지원되는 IDE에서 devfile을 편집하는 경우, 변경 사항을 커밋하고 소스 리포지토리에 푸시하거나 풀 요청을 생성하여 팀원이 devfile 편집을 검토 및 승인할 수 있게 해야 합니다.
+ [에서 개발 환경의 리포지토리 devfile 편집 AWS Cloud9](https://docs.aws.amazon.com/cloud9/latest/user-guide/devenvironment-cloud9.title.html#ide-toolkits-edit-devfile-cloud9)
+ [VS Code에서 개발 환경용 리포지토리 devfile 편집](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/codecatalyst-devenvironment.html#codecatalyst-devenvironment-devfile)
+ [JetBrains에서 개발 환경용 리포지토리 devfile 편집](https://docs.aws.amazon.com/toolkit-for-jetbrains/latest/userguide/codecatalyst-overview.html#codecatalyst-overview-default)

## CodeCatalyst에서 지원하는 Devfile 기능
<a name="devenvironment-devfile-support"></a>

CodeCatalyst는 버전 2.0.0에서 다음과 같은 devfile 기능을 지원합니다. devfile에 대한 자세한 내용은 [Devfile 스키마 - 버전 2.0.0](https://devfile.io/docs/2.0.0/devfile-schema)을 참조하세요.


| 기능 | Type | 
| --- | --- | 
|  `exec`  |  명령  | 
|  `postStart`  |  Event  | 
|  `container`  |  구성 요소  | 
|  `args`  |  구성 요소 속성  | 
|  `env`  |  구성 요소 속성  | 
|  `mountSources`  |  구성 요소 속성  | 
|  `volumeMounts`  |  구성 요소 속성  | 

## 개발 환경용 devfile의 예
<a name="devenvironment-devfile-example"></a>

다음은 간단한 devfile의 예입니다.

```
schemaVersion: 2.0.0
metadata:
  name: al2
components:
  - name: test
    container:
      image: public.ecr.aws/amazonlinux/amazonlinux:2
      mountSources: true
      command: ['sleep', 'infinity']
  - name: dockerstore
commands:
  - id: setupscript
    exec:
      component: test
      commandLine: "chmod +x script.sh"
      workingDir: /projects/devfiles
  - id: executescript
    exec:
      component: test
      commandLine: "/projects/devfiles/script.sh"
  - id: yumupdate
    exec:
      component: test
      commandLine: "yum -y update --security"
events:
  postStart:
    - setupscript
    - executescript
    - yumupdate
```

Devfile 시작, 명령 및 이벤트 로그는 캡처되어 `/aws/mde/logs`에 저장됩니다. devfile 동작을 디버깅하려면 작업 devfile을 사용하여 개발 환경을 시작하고 로그에 액세스합니다.

## 복구 모드를 사용하여 리포지토리 devfile 문제 해결
<a name="devenvironment-devfile-recovery"></a>

devfile을 시작하는 데 문제가 있는 경우 복구 모드로 전환되므로 환경에 계속 연결하고 devfile을 수정할 수 있습니다. 복구 모드에 있는 동안 `/aws/mde/mde status` 실행에는 devfile의 위치가 포함되지 않습니다.

```
{
            "status": "STABLE"
        }
```

`/aws/mde/logs`의 로그에서 오류를 확인하고, devfile을 수정하고, 다시 `/aws/mde/mde start` 실행을 시도할 수 있습니다.

# 개발 환경에 대한 범용 devfile 이미지 지정
<a name="devenvironment-universal-image"></a>

기본 *범용 이미지*에는 IDE에 사용할 수 있는 가장 일반적으로 사용되는 프로그래밍 언어와 관련 도구가 포함되어 있습니다. 이미지가 지정되지 않은 경우 CodeCatalyst는 이 이미지를 제공하고 CodeCatalyst에서 관리하는 도구를 포함합니다. 새 이미지 릴리스에 대한 알림을 유지하려면 [SNS를 통한 범용 이미지 알림 구독](#devenvironment-universal-notifications) 섹션을 참조하세요.

Amazon CodeCatalyst는 다음과 같은 devfile 이미지를 적극적으로 지원합니다.


| 이미지 버전 | 이미지 식별자 | 
| --- | --- | 
| Universal image 4.0 | public.ecr.aws/aws-mde/universal-image:4.0 | 
| Universal image 5.0 | public.ecr.aws/aws-mde/universal-image:5.0 | 

**참고**  
`public.ecr.aws/aws-mde/universal-image:latest`를 사용하여 현재 `public.ecr.aws/aws-mde/universal-image:5.0`인 최신 이미지를 가져올 수도 있습니다.

CodeCatalyst는 다음 이미지를 더 이상 사용하지 않습니다. 이러한 이미지는 계속 사용할 수 있지만 빌드 호스트에 캐시되지 않으므로 개발 환경 시작 시간이 길어집니다.


| 이미지 버전 | 이미지 식별자 | 사용 중단 날짜 | 
| --- | --- | --- | 
| Universal image 1.0 | public.ecr.aws/aws-mde/universal-image:1.0 | 2024년 8월 16일 | 
| Universal image 2.0 | public.ecr.aws/aws-mde/universal-image:2.0 | 2024년 8월 16일 | 
| Universal image 3.0 | public.ecr.aws/aws-mde/universal-image:3.0 | 2025년 7월 30일 | 

**참고**  
를 사용하는 경우 로 업그레이드한 후 PHP, Ruby 및 CSS에서 AWS Cloud9자동 완성이 작동하지 않습니다`universal-image:3.0`.

**Topics**
+ [SNS를 통한 범용 이미지 알림 구독](#devenvironment-universal-notifications)
+ [범용 이미지 4.0 런타임 버전](#devenvironment-universal-runtimes-4.0)
+ [범용 이미지 5.0 런타임 버전](#devenvironment-universal-runtimes-5.0)

## SNS를 통한 범용 이미지 알림 구독
<a name="devenvironment-universal-notifications"></a>

CodeCatalyst는 범용 이미지 알림 서비스를 제공합니다. 이를 사용하여 CodeCatalyst 범용 이미지 업데이트가 릴리스되었을 때 알리는 Amazon Simple Notification Service(SNS) 주제를 구독할 수 있습니다. SNS 주제에 대한 자세한 내용은 [What is Amazon Simple Notification Service?](https://docs.aws.amazon.com/sns/latest/dg/welcome.html)를 참조하세요.

새 범용 이미지가 릴리스될 때마다 구독자에게 알림을 보냅니다. 이 섹션에서는 CodeCatalyst 범용 이미지 업데이트를 구독하는 방법을 설명합니다.

**샘플 메시지**

```
{
    "Type": "Notification",
    "MessageId": "123456789",
    "TopicArn": "arn:aws:sns:us-east-1:1234657890:universal-image-updates",
    "Subject": "New Universal Image Release",
    "Message": {
        "v1": {
            "Message": "A new version of the Universal Image has been released. You are now able to launch new DevEnvironments using this image.",
            "image ": {
                "release_type": "MAJOR VERSION",
                "image_name": "universal-image",
                "image_version": "2.0",
                "image_uri": "public.ecr.aws/amazonlinux/universal-image:2.0"
            }
        }
    },
    "Timestamp": "2021-09-03T19:05:57.882Z",
    "UnsubscribeURL": "example url"
}
```

**Amazon SNS 콘솔을 사용하여 CodeCatalyst 범용 이미지 업데이트를 구독하려면**

1. Amazon SNS 콘솔의 [대시보드](https://console.aws.amazon.com/sns/v2/home)를 엽니다.

1. 탐색 모음에서를 선택합니다 AWS 리전.

1. 탐색 창에서 **구독**을 선택하고 나서 **구독 생성**을 선택합니다.

1. **주제 ARN**에 `arn:aws:sns:us-east-1:089793673375:universal-image-updates`를 입력합니다.

1. **프로토콜**에서 **이메일**을 선택합니다.

1. **엔드포인트**에서 이메일 주소를 입력합니다. 이 이메일 주소는 알림을 받는 데 사용됩니다.

1. **구독 생성**을 선택합니다.

1. "AWS 알림 - 구독 확인"이라는 제목의 확인 이메일을 받게 됩니다. 이메일을 열고 **구독 확인** 링크를 선택합니다.

**Amazon SNS 콘솔을 사용하여 CodeCatalyst 범용 이미지 업데이트 구독을 취소하려면**

1. Amazon SNS 콘솔의 [대시보드](https://console.aws.amazon.com/sns/v2/home)를 엽니다.

1. 탐색 모음에서를 선택합니다 AWS 리전.

1. 탐색 창에서 **구독**을 선택한 다음 구독을 해지하려는 구독을 선택합니다.

1. 그런 다음 **작업**을 선택하고 **구독 삭제**를 선택합니다.

1. **삭제**를 선택합니다.

## 범용 이미지 4.0 런타임 버전
<a name="devenvironment-universal-runtimes-4.0"></a>

다음 표에는 `universal-image:4.0`에 대한 런타임 가용성이 나열되어 있습니다.


**`universal-image:4.0` 런타임 버전**  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/codecatalyst/latest/userguide/devenvironment-universal-image.html)

## 범용 이미지 5.0 런타임 버전
<a name="devenvironment-universal-runtimes-5.0"></a>

다음 표에는 `universal-image:5.0`에 대한 런타임 가용성이 나열되어 있습니다.


**`universal-image:5.0` 런타임 버전**  

| 실행 시간 이름  | 버전 | 특정 메이저 버전 및 최신 마이너 버전 | 
| --- | --- | --- | 
| aws cli |  2.25  |  `aws-cli: 2.x`  | 
| docker compose |  2.34  |  `docker-compose: 2.x`  | 
| dotnet |  8.0  |  `dotnet: 8.x`  | 
| golang |  1.24  |  `golang: 1.x`  | 
| java |  corretto21  |  `java: corretto21.x`  | 
| nodejs |  22.0  |  `nodejs: 22.x`  | 
| php |  8.3.16  |  `php: 8.x`  | 
| python |  3.12  |  `python: 3.x`  | 
| ruby |  3.4.2  |  `ruby: 3.x`  | 
| terraform |  1.10.5  |  `terraform: 1.x`  | 

# Devfile 명령
<a name="devenvironment-devfile-commands"></a>

현재 CodeCatalyst는 devfile의 `exec` 명령만 지원합니다. 자세한 내용을 알아보려면 Devfile.io 설명서의 [명령 추가](https://devfile.io/docs/2.0.0/adding-commands)를 참조하세요.

다음 예시에서는 devfile에서 `exec` 명령을 지정하는 방법을 보여줍니다.

```
commands:
  - id: setupscript
    exec:
      component: test
      commandLine: "chmod +x script.sh"
      workingDir: /projects/devfiles
  - id: executescript
    exec:
      component: test
      commandLine: "./projects/devfiles/script.sh"
  - id: updateyum
    exec:
      component: test
      commandLine: "yum -y update --security"
```

개발 환경에 연결한 후 터미널을 통해 정의된 명령을 실행할 수 있습니다.

```
/aws/mde/mde command <command-id>
/aws/mde/mde command executescript
```

장기 실행 명령의 경우 `-s` 스트리밍 플래그를 사용하여 명령 실행을 실시간으로 출력할 수 있습니다.

```
/aws/mde/mde -s command <command-id>
```

**참고**  
`command-id`는 소문자여야 합니다.

## CodeCatalyst에서 지원하는 Exec 파라미터
<a name="devenvironment-exec-support"></a>

CodeCatalyst는 devfile 버전 2.0.0에서 다음 `exec` 파라미터를 지원합니다.
+ `commandLine`
+ `component`
+ `id`
+ `workingDir`

# Devfile 이벤트
<a name="devenvironment-devfile-events"></a>

현재 CodeCatalyst는 devfile의 `postStart` 이벤트만 지원합니다. 자세한 내용은 Devfile.io 설명서에서 [postStartObject](https://devfile.io/docs/2.0.0/adding-event-bindings#post-start-object) 섹션을 참조하세요.

다음 예시에서는 devfile에 `postStart` 이벤트 바인딩을 추가하는 방법을 보여줍니다.

```
commands:
  - id: executescript
    exec:
      component: test
      commandLine: "./projects/devfiles/script.sh"
  - id: updateyum
    exec:
      component: test
      commandLine: "yum -y update --security"
events:
  postStart:
    - updateyum
    - executescript
```

시작 후 개발 환경은 지정된 `postStart` 명령을 정의된 순서대로 실행합니다. 명령이 실패하면 개발 환경이 계속 실행되고 실행 출력이 `/aws/mde/logs` 아래의 로그에 저장됩니다.

# Devfile 구성 요소
<a name="devenvironment-devfile-components"></a>

현재 CodeCatalyst는 devfile의 `container` 구성 요소만 지원합니다. 자세한 내용은 Devfile.io 설명서의 [구성 요소 추가](https://devfile.io/docs/2.0.0/adding-components)를 참조하세요.

다음 예시에서는 devfile의 컨테이너에 시작 명령을 추가하는 방법을 보여줍니다.

```
components:
  - name: test
    container:
      image: public.ecr.aws/amazonlinux/amazonlinux:2
      command: ['sleep', 'infinity']
```

**참고**  
컨테이너에 짧은 라이브 항목 명령이 있는 경우 컨테이너를 계속 실행하려면 `command: ['sleep', 'infinity']`를 포함해야 합니다.

CodeCatalyst는 컨테이너 구성 요소에서 `args`, `env`, `mountSources`, `volumeMounts` 속성도 지원합니다.

# VPC 연결을 개발 환경에 연결
<a name="devenvironment-using-vpc"></a>

*VPC 연결*은 워크플로가 VPC에 액세스하는 데 필요한 모든 구성을 포함하는 CodeCatalyst 리소스입니다. 스페이스 관리자는 스페이스 멤버를 대신하여 Amazon CodeCatalyst 콘솔에 자체 VPC 연결을 추가할 수 있습니다. VPC 연결을 추가하면 스페이스 멤버가 워크플로 작업을 실행하고 네트워크 규칙을 준수하고 연결된 VPC의 리소스에 액세스할 수 있는 개발 환경을 생성할 수 있습니다.

**중요**  
VPC 연결이 있는 개발 환경은 [CodeCatalyst 에 연결된 타사 소스 리포지토리](source-repositories-link.md)를 지원하지 않습니다.

개발 환경 생성 시에만 개발 환경을 VPC 연결에 연결할 수 있습니다. 개발 환경을 생성한 후에는 개발 환경와 연결된 VPC 연결을 변경할 수 없습니다. 다른 VPC 연결을 사용하려면 현재 개발 환경을 삭제하고 새 환경을 생성해야 합니다.

**참고**  
개발 환경은 프로젝트에 액세스할 수 있는 AWS 계정과의 VPC 연결에만 연결할 수 있습니다. 자세한 내용은 *Amazon CodeCatalyst 관리자 안내서*의 [프로젝트 제한 계정 연결 구성](https://docs.aws.amazon.com/codecatalyst/latest/adminguide/managing-accounts-restriction.html)을 참조하세요.

개발 환경은 생성 시 여러 AWS 리소스와 서비스를 활용합니다. 즉, 개발 환경은 다음 AWS 서비스에 연결됩니다.
+ Amazon CodeCatalyst
+ AWS SSM
+ AWS KMS
+ Amazon ECR
+ Amazon CloudWatch
+ Amazon ECS

**참고**  
AWS Toolkit 는 연결된 VPC 연결을 통한 개발 환경 생성을 지원하지 않습니다. 또한 이외의 IDE를 사용하는 경우 약 5분의 로딩 시간이 발생할 AWS Cloud9수 있습니다.

스페이스 수준에서 VPC 연결을 관리하려면 **스페이스 관리자** 역할 또는 **파워 유저** 역할이 있어야 합니다. VPC에 대한 자세한 내용은 *CodeCatalyst 관리자 안내서*의 [CodeCatalyst에서 Amazon VPC 관리](https://docs.aws.amazon.com/codecatalyst/latest/adminguide/managing-vpcs.html)를 참조하세요.

# CodeCatalyst에서의 개발 환경 할당량
<a name="devenvironment-limits"></a>

다음 표에서는 Amazon CodeCatalyst 의 개발 환경에 대한 할당량 및 제한에 대해 설명합니다. Amazon CodeCatalyst의 할당량에 대한 자세한 내용은 [CodeCatalyst 할당량](quotas.md) 섹션을 참조하세요.


|  |  | 
| --- |--- |
| 월별 개발 환경 시간 수 | 개발 환경 시간은 스페이스의 전체 스토리지 제한에 영향을 받습니다. 자세한 내용은 [요금](https://codecatalyst.aws/explore/pricing) 및 [개발 환경 문제 해결](devenvironments-troubleshooting.md) 섹션을 참조하세요. | 
| 스페이스당 개발 환경 스토리지 양 | 개발 환경 스토리지는 스페이스의 전체 스토리지 제한의 영향을 받습니다. 자세한 내용은 [요금](https://codecatalyst.aws/explore/pricing) 및 [개발 환경 문제 해결](devenvironments-troubleshooting.md) 섹션을 참조하세요. | 
| 개발 환경 컴퓨팅의 양  | 개발 환경 컴퓨팅은 스페이스의 전체 스토리지 제한에 영향을 받습니다. 자세한 내용은 [요금](https://codecatalyst.aws/explore/pricing) 및 [개발 환경 문제 해결](devenvironments-troubleshooting.md) 섹션을 참조하세요. | 