에 대한 도커 튜토리얼 AWS Cloud9 - AWS Cloud9

AWS Cloud9 신규 고객은 더 이상 사용할 수 없습니다. AWS Cloud9 의 기존 고객은 정상적으로 서비스를 계속 이용할 수 있습니다. 자세히 알아보기

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

에 대한 도커 튜토리얼 AWS Cloud9

이 자습서에서는 Amazon EC2의 Amazon Linux 인스턴스 내에서 실행 중인 Docker 컨테이너에 AWS Cloud9 SSH 개발 환경을 연결하는 방법을 보여줍니다. 이를 통해 AWS Cloud9 IDE를 사용하여 Docker 컨테이너 내의 코드 및 파일로 작업하고 해당 컨테이너에서 명령을 실행할 수 있습니다. 도커에 대한 자세한 내용은 도커 웹 사이트의 도커란 무엇인가?를 참조하십시오.

이 자습서를 따라 이 샘플을 만들면 AWS 계정에 요금이 부과될 수 있습니다. 여기에는 Amazon EC2와 같은 서비스에 대해 발생할 수 있는 요금이 포함됩니다. 자세한 내용은 Amazon EC2 요금을 참조하세요.

필수 조건

  • Amazon Linux 또는 Ubuntu Server를 실행 중인 Amazon EC2 인스턴스가 있어야 합니다. 이 샘플은 계정에 아마존 리눅스 또는 우분투 서버를 실행하는 Amazon EC2 인스턴스가 이미 있다고 가정합니다. AWS Amazon EC2 인스턴스를 시작하려면 Linux 가상 머신 시작을 참조하세요. 마법사의 [Amazon 머신 이미지(AMI) 선택(Choose an Amazon Machine Image (AMI))] 페이지에서 표시 이름이 Amazon Linux AMI 또는 Ubuntu Server로 시작하는 AMI를 선택합니다.

  • Amazon EC2 인스턴스가 Amazon VPC에서 실행되는 경우 추가 요구 사항이 수반됩니다. 개발 환경을 위한 AWS Cloud9 VPC 설정를 참조하세요.

  • Amazon EC2 인스턴스에 사용 가능한 디스크 공간이 8~16GB 이상 있어야 합니다. 이 샘플은 크기가 3GB를 초과하는 도커 이미지를 사용하며 추가 증분량이 3GB 이상인 디스크 공간을 사용하여 이미지를 빌드할 수 있습니다. 사용 가능한 공간이 8GB 미만인 디스크에서 이 샘플을 실행하려 할 경우 도커 이미지를 빌드할 수 없거나 도커 컨테이너가 실행되지 않을 것입니다. 인스턴스의 사용 가능한 디스크 공간을 확인하려면 인스턴스에서 df -h("인간 판독 가능한 형식의 디스크 파일 시스템 정보")와 같은 명령을 실행할 수 있습니다. 기존 인스턴스의 디스크 크기를 늘리려면 Amazon EC2 사용 설명서의 볼륨 수정을 참조하십시오.

1단계: Docker 설치 및 실행

이 단계에서는 Docker가 Amazon EC2 인스턴스에 설치되어 있는지 여부를 확인하고 아직 설치되지 않은 경우 Docker를 설치합니다. 도커를 설치한 후에는 인스턴스에서 도커를 실행합니다.

  1. ssh 유틸리티 또는 PuTTY와 같은 SSH 클라이언트를 사용하여 실행 중인 Amazon EC2 인스턴스에 연결합니다. 이렇게 하려면 Linux 가상 머신 시작에서 "3단계: 인스턴스에 연결"을 참조하십시오.

  2. 도커가 인스턴스에 설치되었는지 확인합니다. 이렇게 하려면 --version 옵션을 사용하여 인스턴스에 대해 docker 명령을 실행합니다.

    docker --version

    도커가 설치되면 도커 버전과 빌드 번호가 표시됩니다. 이 경우, 이 절차의 뒷부분인 5단계로 이동합니다.

  3. 도커를 설치합니다. 이렇게 하려면 설치할 docker 또는 docker.io 패키지를 지정하고 install 작업을 사용하여 yum 또는 apt 명령을 실행합니다.

    Amazon Linux의 경우:

    sudo yum install -y docker

    Ubuntu Server:

    sudo apt install -y docker.io
  4. 도커가 설치되었는지 확인합니다. 이렇게 하려면 docker --version 명령을 다시 실행합니다. 도커 버전 및 빌드 번호가 표시됩니다.

  5. 도커를 실행합니다. 이렇게 하려면 docker 서비스와 start 작업을 사용하여 service 명령을 실행합니다.

    sudo service docker start
  6. 도커가 실행 중인지 확인합니다. 이렇게 하려면 info 작업을 사용하여 docker 명령을 실행합니다.

    sudo docker info

    도커를 실행 중인 경우 도커에 대한 정보가 표시됩니다.

2단계: 이미지 빌드

이 단계에서 Dockerfile을 사용하여 도커 이미지를 인스턴스에 빌드합니다. 이 샘플에서는 Node.js와 샘플 채팅 서버 애플리케이션을 포함하는 이미지를 사용합니다.

  1. 인스턴스에서 Dockerfile을 생성합니다. 이렇게 하려면 인스턴스의 /tmp 디렉터리에서 인스턴스에 여전히 연결되어 있는 SSH 클라이언트를 사용하여 Dockerfile 이름의 파일을 생성합니다. 예를 들면 다음과 같이 touch 명령을 실행합니다.

    sudo touch /tmp/Dockerfile
  2. 다음 내용을 Dockerfile 파일에 추가합니다.

    # Build a Docker image based on the Amazon Linux 2 Docker image. FROM amazonlinux:2 # install common tools RUN yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm RUN yum update -y RUN yum install -y sudo bash curl wget git man-db nano vim bash-completion tmux gcc gcc-c++ make tar # Enable the Docker container to communicate with AWS Cloud9 by # installing SSH. RUN yum install -y openssh-server # Ensure that Node.js is installed. RUN yum install -y nodejs # Create user and enable root access RUN useradd --uid 1000 --shell /bin/bash -m --home-dir /home/ubuntu ubuntu && \ sed -i 's/%wheel\s.*/%wheel ALL=NOPASSWD:ALL/' /etc/sudoers && \ usermod -a -G wheel ubuntu # Add the AWS Cloud9 SSH public key to the Docker container. # This assumes a file named authorized_keys containing the # AWS Cloud9 SSH public key already exists in the same # directory as the Dockerfile. RUN mkdir -p /home/ubuntu/.ssh ADD ./authorized_keys /home/ubuntu/.ssh/authorized_keys RUN chown -R ubuntu /home/ubuntu/.ssh /home/ubuntu/.ssh/authorized_keys && \ chmod 700 /home/ubuntu/.ssh && \ chmod 600 /home/ubuntu/.ssh/authorized_keys # Update the password to a random one for the user ubuntu. RUN echo "ubuntu:$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)" | chpasswd # pre-install Cloud9 dependencies USER ubuntu RUN curl https://d2j6vhu5uywtq3.cloudfront.net/static/c9-install.sh | bash USER root # Start SSH in the Docker container. CMD ssh-keygen -A && /usr/sbin/sshd -D

    앞의 내용을 Dockerfile 파일에 추가하려면 다음과 같이 인스턴스에서 vi 유틸리티를 사용할 수 있습니다.

    1. 를 AWS Cloud9 사용하여 파일을 열고 /tmp/Dockerfile 편집할 수 있습니다.

      sudo vi /tmp/Dockerfile
    2. 앞의 내용을 Dockerfile 파일에 붙여 넣습니다. 이 동작을 수행하는 방법을 잘 모르는 경우 SSH 클라이언트 설명서를 참조하십시오.

    3. 명령 모드로 전환합니다. 이렇게 하려면 Esc 키를 누릅니다. 그러면 -- INSERT --가 창의 하단에서 사라집니다.

    4. :wq를 입력하여 /tmp/Dockerfile 파일에 쓰고 나서 파일을 저장한 다음 vi를 종료한 후, Enter를 누릅니다.

    참고

    에서 AWS CodeBuild자주 업데이트되는 Docker 이미지 목록에 액세스할 수 있습니다. 자세한 내용은 AWS CodeBuild 사용 CodeBuild 설명서에서 제공하는 Docker 이미지를 참조하십시오.

  3. 인스턴스에서 Docker 컨테이너가 사용할 AWS Cloud9 SSH 공개 키가 포함된 파일을 생성합니다. 이렇게 하려면 예를 들어 touch 명령을 실행하여 Dockerfile 파일과 같은 디렉터리에 이름이 authorized_keys인 파일을 생성합니다.

    sudo touch /tmp/authorized_keys
  4. AWS Cloud9 SSH 퍼블릭 키를 파일에 추가합니다. authorized_keys AWS Cloud9 SSH 공개 키를 가져오려면 다음과 같이 하십시오.

    1. https://console.aws.amazon.com/cloud9/ 에서 AWS Cloud9 콘솔을 엽니다.

    2. AWS 탐색 표시줄의 AWS 지역 선택기에서 이 항목의 뒷부분에서 AWS Cloud9 개발 환경을 만들려는 AWS 지역을 선택합니다.

    3. 시작 페이지가 표시되면 새 AWS Cloud9 환경에서 환경 만들기를 선택합니다. 그렇지 않으면 Create environment(환경 생성)를 선택합니다.

    4. [환경 이름 지정(Name environment)] 페이지의 [이름(Name)]에 환경의 이름을 입력합니다. (여기서는 이름이 중요하지 않습니다. 나중에 다른 이름을 선택할 수 있습니다.)

    5. 다음 단계를 선택합니다.

    6. Environment type(환경 유형)에서 Connect and run in remote server(SSH)(원격 서버에서 연결 및 실행(SSH))를 선택합니다.

    7. View public SSH key(퍼블릭 SSH 키 보기)를 확장합니다.

    8. Copy key to clipboard(클립보드에 키 복사)를 선택합니다. (이 항목은 View public SSH key(퍼블릭 SSH 키 보기)Advanced settings(고급 설정) 사이에 있습니다.)

    9. 취소를 선택합니다.

    10. 클립보드의 내용을 authorized_keys 파일에 붙여 넣고 나서 파일을 저장합니다. 예를 들어 이 단계의 앞부분에서 설명한 대로 vi 유틸리티를 사용할 수 있습니다.

  5. build 작업을 사용하고 cloud9-image:latest 태그를 이미지에 추가하고 사용할 Dockerfile 파일의 경로를 지정하여 docker 명령을 실행함으로써 이미지를 빌드합니다.

    sudo docker build -t cloud9-image:latest /tmp

    명령이 성공적으로 실행되면 빌드 출력의 마지막 두 줄에 Successfully builtSuccessfully tagged가 표시됩니다.

    Docker가 이미지를 성공적으로 빌드했는지 확인하려면 image ls 작업을 사용하여 docker 명령을 실행합니다.

    sudo docker image ls

    명령이 성공적으로 실행되면 출력 디스플레이에 항목 하나가 표시됩니다. 이 항목에서 REPOSITORY 필드는 cloud9-image로 설정되었으며 TAG 필드는 latest로 설정되었습니다.

  6. Amazon EC2 인스턴스의 퍼블릭 IP 주소를 적어둡니다. 4단계: 환경 생성에 필요한 정보입니다. 인스턴스의 퍼블릭 IP 주소를 잘 모르는 경우 인스턴스에서 다음 명령을 실행하여 해당 주소를 가져올 수 있습니다.

    curl http://169.254.169.254/latest/meta-data/public-ipv4

3단계: 컨테이너 실행

이 단계에서는 인스턴스에서 도커 컨테이너를 실행합니다. 이 컨테이너는 이전 단계에서 빌드한 이미지에 기초합니다.

  1. Docker 컨테이너를 실행하려면 run 작업과 다음 옵션을 사용하여 인스턴스에 대해 docker 명령을 실행합니다.

    sudo docker run -d -it --expose 9090 -p 0.0.0.0:9090:22 --name cloud9 cloud9-image:latest
    • -d는 컨테이너를 분리 모드로 실행하고 컨테이너(이 샘플에서는 SSH 클라이언트)를 실행하는 데 사용되는 루트 프로세스가 종료될 때마다 종료합니다.

    • -it는 의사 TTY가 할당된 컨테이너를 실행하고 컨테이너가 연결되지 않았어도 STDIN을 열린 상태로 유지합니다.

    • --expose는 지정한 포트(이 샘플에서는 9090)를 컨테이너에서 사용할 수 있도록 설정합니다.

    • -p는 지정한 IP 주소 및 포트를 통해 지정한 포트를 Amazon EC2 인스턴스 내부에서 사용할 수 있도록 설정합니다. 이 샘플에서 컨테이너의 포트 9090은 Amazon EC2 인스턴스의 포트 22를 통해 내부에서 액세스할 수 있습니다.

    • --name은 컨테이너용 인간이 읽을 수 있는 이름(이 샘플에서는 cloud9)입니다.

    • cloud9-image:latest는 컨테이너를 실행하는 데 사용할 빌드된 이미지의 인간이 읽을 수 있는 이름입니다.

    Docker가 컨테이너를 성공적으로 실행하고 있는지 확인하려면 container ls 작업을 사용하여 docker 명령을 실행합니다.

    sudo docker container ls

    명령이 성공적으로 실행되면 출력 디스플레이에 항목 하나가 표시됩니다. 이 항목에서 IMAGE 필드는 cloud9-image:latest로 설정되었으며 NAMES 필드는 cloud9로 설정되었습니다.

  2. 실행 중인 컨테이너에 로그인합니다. 이렇게 하려면 exec 작업과 다음 옵션을 사용하여 docker 명령을 실행합니다.

    sudo docker exec -it cloud9 bash
    • -it는 의사 TTY가 할당된 컨테이너를 실행하고 컨테이너가 연결되지 않았어도 STDIN을 열린 상태로 유지합니다.

    • cloud9는 실행 중인 컨테이너의 인간이 읽을 수 있는 이름입니다.

    • bash는 실행 중인 컨테이너에서 표준 셸을 시작합니다.

    성공할 경우 터미널 프롬프트가 변경되어 컨테이너의 로그인된 사용자 이름과 컨테이너의 ID를 표시합니다.

    참고

    실행 중인 컨테이너에서 로그아웃하려면 exit 명령을 실행합니다. 터미널 프롬프트가 다시 변경되어 인스턴스의 로그인된 사용자 이름과 인스턴스의 프라이빗 DNS를 표시합니다. 컨테이너가 여전히 실행 중이어야 합니다.

  3. 실행 중인 컨테이너에서 로그인한 후 AWS Cloud9 시작하려는 디렉터리의 액세스 권한을 로 설정합니다 rwxr-xr-x. 이는 소유자에 대한 read-write-execute 권한, 그룹에 대한 읽기 실행 권한, 다른 사람에 대한 읽기 실행 권한을 의미합니다. 예를 들어 디렉터리의 경로가 ~인 경우 다음과 같이 실행 중인 컨테이너에서 chmod 명령을 실행하여 디렉터리에서 이러한 권한을 설정할 수 있습니다.

    sudo chmod u=rwx,g=rx,o=rx ~
  4. Node.js 바이너리를 포함하는 실행 중인 컨테이너의 디렉터리에 대한 경로를 적어둡니다. 이 경로는 4단계: 환경 생성에 필요합니다. 이 경로를 잘 모르면 실행 중인 컨테이너에서 다음 명령을 실행하여 가져옵니다.

    which node

4단계: 환경 생성

이 단계에서는 AWS Cloud9 SSH 개발 환경을 만들고 AWS Cloud9 이를 실행 중인 Docker 컨테이너에 연결하는 데 사용합니다. 환경을 AWS Cloud9 만든 후에는 AWS Cloud9 IDE를 표시하므로 컨테이너의 파일 및 코드 작업을 시작할 수 있습니다.

AWS Cloud9 콘솔을 사용하여 AWS Cloud9 SSH 개발 환경을 생성합니다. CLI를 사용하여 SSH 환경을 만들 수는 없습니다.

필수 조건

  • 먼저 AWS Cloud9 설정의 단계를 완료했는지 확인합니다. 이렇게 해야 AWS Cloud9 콘솔에 로그인하여 환경을 생성할 수 있습니다.

  • 환경에 AWS Cloud9 연결하려는 기존 클라우드 컴퓨팅 인스턴스 (예: Amazon EC2 인스턴스 AWS 계정) 또는 자체 서버를 식별합니다.

  • 기존 인스턴스 또는 자체 서버가 모든 SSH 호스트 요구 사항을 충족해야 합니다. 이러한 요구 사항에는 특정 버전의 Python, Node.js 및 기타 구성 요소 설치, 로그인 후 AWS Cloud9 이 시작하도록 할 디렉터리에 대한 특정 권한 설정, 연결된 Amazon Virtual Private Cloud 설정이 포함됩니다.

SSH 환경 생성

  1. 위의 사전 조건을 완료해야 합니다.

  2. 아직 연결되지 않은 경우 SSH 클라이언트를 사용하여 기존 인스턴스 또는 자체 서버에 연결합니다. 이렇게 하면 필요한 공개 SSH 키 값을 인스턴스나 서버에 추가할 수 있습니다. 이 절차의 뒷부분에서 자세하게 설명합니다.

    참고

    기존 AWS 클라우드 컴퓨팅 인스턴스에 연결하려면 다음 리소스 중 하나 이상을 참조하십시오.

    자체 서버에 연결하려면 SSH를 사용하세요. SSH는 macOS 및 Linux 운영 체제에서는 이미 설치되어 있습니다. 윈도우에서 SSH를 사용하여 서버에 연결하려면 PuTTY를 설치해야 합니다.

  3. AWS Cloud9 콘솔의 https://console.aws.amazon.com/cloud9/ 에 로그인합니다.

  4. AWS Cloud9 콘솔에 로그인한 후 상단 탐색 표시줄에서 환경을 만들 항목을 AWS 리전 선택합니다. 사용 가능한 목록은 AWS 리전AWS Cloud9을 참조하십시오 AWS 일반 참조.

    콘솔의 AWS Cloud9 지역 선택기
  5. 개발 환경을 처음 생성하는 경우 시작 페이지가 표시됩니다. 새 AWS Cloud9 환경 패널에서 환경 만들기를 선택합니다.

    이전에 개발 환경을 생성한 경우 화면 왼쪽의 창을 확장합니다. Your environments(사용자 환경)를 선택하고 Create environment(환경 생성)를 선택합니다.

    시작 페이지에서:

    시작 페이지가 표시되면 Create environment(환경 생성) 버튼 선택

    또는 Your environments(환경) 페이지에서:

    시작 페이지가 표시되지 않으면 Create environment(환경 생성) 버튼 선택
  6. Create environment(환경 생성) 페이지에 환경의 이름을 입력합니다.

  7. Description(설명)에 환경에 대한 설명을 입력합니다. 본 자습서에서는 This environment is for the AWS Cloud9 tutorial.을 사용합니다.

  8. Environment type(환경 유형)에서는 다음 옵션 중에서 Existing Compute(기존 컴퓨팅)를 선택합니다.

    • 새 EC2 인스턴스 — SSH를 통해 직접 연결할 수 AWS Cloud9 있는 Amazon EC2 인스턴스를 시작합니다.

    • 기존 컴퓨팅 — 개방형 인바운드 포트가 필요하지 않은 Amazon EC2 인스턴스를 시작합니다. AWS Cloud9 를 통해 인스턴스에 연결합니다. AWS Systems Manager

      • Existing compute(기존 컴퓨팅) 옵션을 선택하면 Systems Manager가 사용자를 대신하여 EC2 인스턴스와 상호 작용할 수 있도록 서비스 역할과 IAM 인스턴스 프로파일이 생성됩니다. 인터페이스의 더 아래에 있는 Service role and instance profile for Systems Manager access(Systems Manager 액세스를 위한 서비스 역할 및 인스턴스 프로파일) 섹션에서 서비스 역할과 인스턴스 프로파일의 이름을 모두 확인할 수 있습니다. 자세한 정보는 AWS Systems Manager를 사용하여 수신하지 않는 EC2 인스턴스에 액세스을 참조하세요.

    주의

    사용자 환경에 맞게 EC2 인스턴스를 생성하면 Amazon EC2에 AWS 계정 대한 요금이 부과될 수 있습니다. Systems Manager를 사용하여 EC2 인스턴스에 대한 연결을 관리하는 데 따른 추가 비용은 없습니다.

    주의

    AWS Cloud9 SSH 퍼블릭 키를 사용하여 서버에 안전하게 연결합니다. 보안 연결을 설정하려면 다음 단계에서 공개 키를 ~/.ssh/authorized_keys 파일에 추가하고 로그인 보안 인증 정보를 제공하십시오. Copy key to clipboard(클립보드에 키 복사)를 선택하여 SSH 키를 복사하거나, View public SSH key(공개 SSH 키 보기)를 선택하여 키를 표시합니다.

  9. Existing compute(기존 컴퓨팅) 패널의 User(사용자)에 이 절차의 앞부분에서 인스턴스 또는 서버에 연결하는 데 사용한 로그인 이름을 입력합니다. 예를 들어 AWS 클라우드 컴퓨팅 인스턴스의 경우 이 값은 ec2-user, ubuntu 또는 root일 수 있습니다.

    참고

    로그인 이름이 인스턴스 또는 서버의 관리 권한 또는 관리자 사용자와 연결되는 것이 좋습니다. 더 자세히 말하자면, 이 로그인 이름은 인스턴스 또는 서버에서 Node.js 설치를 소유하는 것이 좋습니다. 이를 확인하려면 인스턴스 또는 서버의 터미널에서 ls -l $(which node) (또는 nvm을 사용하는 경우 ls -l $(nvm which node) ) 명령을 실행합니다. 이 명령은 Node.js 설치의 소유자 이름을 표시합니다. 설치의 권한, 그룹 이름과 위치도 표시합니다.

  10. Host(호스트)에 인스턴스 또는 서버의 퍼블릭 IP 주소(기본) 또는 호스트 이름을 입력합니다.

  11. Port에는 인스턴스 또는 서버에 연결하는 AWS Cloud9 데 사용할 포트를 입력합니다. 또는 기본 포트를 그대로 유지합니다.

  12. Additional details - optional(추가 상세 정보 - 선택 사항)을 선택하여 환경 경로, node.js 바이너리 경로 및 SSH 점프 호스트 정보를 표시합니다.

  13. 환경 경로에는 AWS Cloud9 시작하려는 인스턴스 또는 서버의 디렉터리 경로를 입력합니다. 이 절차의 사전 요구 사항에서 이를 이미 확인했습니다. 이 항목을 비워 두면 AWS Cloud9 은 로그인 후 인스턴스 또는 서버가 일반적으로 시작되는 디렉터리를 사용합니다. 이 디렉터리는 일반적으로 홈 또는 기본 디렉터리입니다.

  14. Path to Node.js binary path(Node.js 바이너리 경로로 가는 경로)에 경로 정보를 입력하여, 인스턴스 또는 서버의 Node.js 바이너리로 가는 경로를 지정합니다. 경로를 가져오려면 인스턴스 또는 서버에서 which node(또는 nvm을 사용하는 경우 nvm which node ) 명령을 실행할 수 있습니다. 예를 들어 이 경로는 /usr/bin/node일 수 있습니다. 이 항목을 비워 두면 AWS Cloud9 은 연결을 시도할 때 Node.js 바이너리의 위치를 추측합니다.

  15. SSH jump host(SSH 점프 호스트)에 인스턴스 또는 서버가 사용하는 점프 호스트에 대한 정보를 입력합니다. 형식 USER_NAME@HOSTNAME:PORT_NUMBER(예:ec2-user@:ip-192-0-2-0:22)를 사용합니다.

    점프 호스트는 다음 요구 사항을 충족해야 합니다.

    • SSH를 사용하여 퍼블릭 인터넷을 통해 접근 가능해야 합니다.

    • 지정된 포트를 통해 어떤 IP 주소에서든 인바운드 액세스를 허용해야 합니다.

    • 기존 인스턴스 또는 서버의 ~/.ssh/authorized_keys 파일에 복사된 퍼블릭 SSH 키 값을 점프 호스트의 ~/.ssh/authorized_keys 파일에도 복사해야 합니다.

    • Netcat이 설치되어 있어야 합니다.

  16. 각 태그에 을 지정하여 최대 50개의 태그를 추가합니다. Add new tag(새 태그 추가)를 선택하면 됩니다. 태그는 AWS Cloud9 환경에 리소스 태그로 연결되며 AWS CloudFormation 스택, Amazon EC2 인스턴스, Amazon EC2 보안 그룹과 같은 기본 리소스에 전파됩니다. 태그에 대한 자세한 내용은 IAM 사용 설명서의 AWS 리소스 태그를 사용한 액세스 제어 및 이 안내서의 태그에 대한 고급 정보를 참조하십시오.

    주의

    태그를 생성한 후 이러한 태그를 업데이트하면 변경 사항이 기본 리소스에 전파되지 않습니다. 자세한 내용은 태그에 대한 고급 정보에서 기본 리소스에 태그 업데이트 전파 섹션을 참조하세요.

  17. Create(생성)를 선택하여 환경을 만들면 홈 페이지로 리디렉션됩니다. 계정이 성공적으로 생성되면 AWS Cloud9 콘솔 상단에 녹색 플래쉬 바가 나타납니다. 새 환경을 선택하고 Open in Cloud9(Cloud9에서 열기)을 선택하여 IDE를 시작할 수 있습니다.

    AWS Cloud9 콘솔의 AWS Cloud9 IDE 셀렉터

    계정이 생성되지 못하면 AWS Cloud9 콘솔 상단에 적색 플래시바가 나타납니다. 웹 브라우저, AWS 액세스 권한, 인스턴스 또는 관련 네트워크에 문제가 있어 계정을 만들지 못할 수 있습니다. 계정 장애를 일으킬 수 있는 문제를 해결하는 방법 관련 정보는 AWS Cloud9 문제 해결 섹션에서 확인할 수 있습니다.

참고

프록시를 사용하여 인터넷에 액세스하는 환경인 경우 종속 항목을 설치할 수 AWS Cloud9 있도록 프록시 세부 정보를 제공해야 합니다. 자세한 정보는 종속성을 설치하지 못함을 참조하세요.

5단계: 코드 실행

이 단계에서는 AWS Cloud9 IDE를 사용하여 실행 중인 Docker 컨테이너 내에서 샘플 애플리케이션을 실행합니다.

  1. 실행 중인 컨테이너의 AWS Cloud9 IDE가 표시된 상태에서 샘플 채팅 서버를 시작합니다. 이렇게 하려면 Environment(환경) 창에서 샘플 workspace/server.js 파일을 마우스 오른쪽 버튼으로 클릭하고 나서 Run(실행)을 선택합니다.

  2. 샘플 애플리케이션을 미리 봅니다. 이렇게 하려면 Environment(환경) 창에서 workspace/client/index.html 파일을 엽니다. 그런 다음, 메뉴 모음에서 Tools, Preview, Preview Running Application(도구, 미리 보기, 실행 중인 애플리케이션 미리 보기)을 선택합니다.

  3. 애플리케이션의 미리 보기 탭에서 Your Name(이름)에 자신의 이름을 입력합니다. [Message]에 메시지를 입력합니다. 그런 다음 Send(전송)를 선택합니다. 채팅 서버에서 이름과 메시지를 목록에 추가합니다.

6단계: 정리

이 단계에서는 환경을 삭제하고 Amazon EC2 AWS Cloud9 인스턴스에서 Docker 지원 파일을 제거합니다. 또한 이 샘플 사용을 완료한 후 AWS 계정에 계속 요금이 청구되는 것을 방지하려면 Docker를 실행 중인 Amazon EC2 인스턴스를 종료해야 합니다.

6.1단계: 환경 삭제

환경을 삭제하려면 AWS Cloud9에서 환경 삭제 섹션을 참조하세요.

6.2단계: 컨테이너에서 AWS Cloud9 지원 파일 제거

환경을 삭제한 후에도 일부 AWS Cloud9 지원 파일은 여전히 컨테이너에 남아 있습니다. 컨테이너를 계속 사용하지만 이러한 지원 파일이 더 이상 필요하지 않은 경우, 로그인한 후 AWS Cloud9 시작하도록 지정한 컨테이너의 디렉터리에서 .c9 폴더를 삭제하십시오. 예를 들어 디렉터리가 ~인 경우 다음과 같이 -r 옵션을 사용하여 rm 명령을 실행합니다.

sudo rm -r ~/.c9

6.3단계: 인스턴스에서 Docker 지원 파일 제거

Amazon EC2 인스턴스에서 Docker 컨테이너, Docker 이미지 및 Docker를 더 이상 유지하지 않고 인스턴스만 유지하려는 경우 다음과 같이 이러한 Docker 지원 파일을 제거할 수 있습니다.

  1. 인스턴스에서 도커 컨테이너를 제거합니다. 이렇게 하려면 stop rm 중지 작업과 사용자가 알아볼 수 있는 컨테이너 이름을 사용하여 인스턴스에 대해 docker 명령을 실행합니다.

    sudo docker stop cloud9 sudo docker rm cloud9
  2. 인스턴스에서 도커 이미지를 제거합니다. 이렇게 하려면 image rm 작업과 이미지의 태그를 사용하여 인스턴스에 대해 docker 명령을 실행합니다.

    sudo docker image rm cloud9-image:latest
  3. 여전히 존재할 수 있는 추가 도커 지원 파일을 제거합니다. 이렇게 하려면 system prune 작업을 사용하여 인스턴스에 대해 docker 명령을 실행합니다.

    sudo docker system prune -a
  4. 도커를 제거합니다. 이렇게 하려면 제거할 docker 패키지를 지정하고 remove 작업을 사용하여 인스턴스에 대해 yum 명령을 실행합니다.

    Amazon Linux의 경우:

    sudo yum -y remove docker

    Ubuntu Server:

    sudo apt -y remove docker

    또한 이전에 생성한 Dockerfileauthorized_keys 파일도 제거할 수 있습니다. 예를 들면 인스턴스에서 rm 명령을 실행합니다.

    sudo rm /tmp/Dockerfile sudo rm /tmp/authorized_keys

6.4단계: 인스턴스 종료

Amazon EC2 인스턴스를 종료하려면 Amazon EC2 사용 설명서의 인스턴스 종료를 참조하십시오.