AWS Cloud9 는 더 이상 신규 고객이 사용할 수 없습니다. AWS Cloud9 의 기존 고객은 정상적으로 서비스를 계속 이용할 수 있습니다. 자세히 알아보기
기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
에 대한 Docker 자습서 AWS Cloud9
이 자습서에서는 개발 환경을 Amazon 의 Amazon Linux 인스턴스 내에서 실행 중인 Docker 컨테이너에 연결하는 AWS Cloud9 SSH 방법을 보여줍니다EC2. 이렇게 하면 AWS Cloud9 IDE를 사용하여 Docker 컨테이너 내부의 코드 및 파일로 작업하고 해당 컨테이너에서 명령을 실행할 수 있습니다. 도커에 대한 자세한 내용은 도커 웹 사이트의 도커란 무엇인가?
이 자습서를 따르고 이 샘플을 생성하면 AWS 계정에 요금이 부과될 수 있습니다. 여기에는 Amazon 과 같은 서비스에 대해 발생할 수 있는 요금이 포함됩니다EC2. 자세한 내용은 Amazon EC2 요금 섹션을
사전 조건
-
Amazon Linux 또는 Ubuntu Server를 실행하는 Amazon EC2 인스턴스가 있어야 합니다. 이 샘플에서는 AWS 계정에 Amazon Linux 또는 Ubuntu Server를 실행 중인 Amazon EC2 인스턴스가 이미 있다고 가정합니다. Amazon EC2 인스턴스를 시작하려면 Linux Virtual Machine 시작을 참조하세요
. 마법사의 Amazon Machine Image(AMI) 선택 페이지에서 AMI 표시 이름이 Amazon Linux AMI 또는 Ubuntu Server로 시작하는 를 선택합니다. -
Amazon EC2 인스턴스가 Amazon 내에서 실행되는 경우 추가 요구 VPC사항이 있습니다. VPC AWS Cloud9 개발 환경 설정을 참조하세요.
-
Amazon EC2 인스턴스에는 사용 가능한 디스크 공간이 8~16GB 이상이어야 합니다. 이 샘플은 크기가 3GB를 초과하는 도커 이미지를 사용하며 추가 증분량이 3GB 이상인 디스크 공간을 사용하여 이미지를 빌드할 수 있습니다. 사용 가능한 공간이 8GB 미만인 디스크에서 이 샘플을 실행하려 할 경우 도커 이미지를 빌드할 수 없거나 도커 컨테이너가 실행되지 않을 것입니다. 인스턴스의 사용 가능한 디스크 공간을 확인하려면 인스턴스에서
df -h
("인간 판독 가능한 형식의 디스크 파일 시스템 정보")와 같은 명령을 실행할 수 있습니다. 기존 인스턴스의 디스크 크기를 늘리려면 Amazon EC2 사용 설명서의 볼륨 수정을 참조하세요.
1단계: Docker 설치 및 실행
이 단계에서는 Docker가 Amazon EC2 인스턴스에 설치되어 있는지 확인하고 아직 설치되지 않은 경우 Docker를 설치합니다. 도커를 설치한 후에는 인스턴스에서 도커를 실행합니다.
-
ssh
유틸리티 또는 Pu와 같은 SSH 클라이언트를 사용하여 실행 중인 Amazon EC2 인스턴스에 연결합니다TTY. 이렇게 하려면 Linux 가상 머신 시작에서 "3단계: 인스턴스에 연결"을 참조하십시오. -
도커가 인스턴스에 설치되었는지 확인합니다. 이렇게 하려면
--version
옵션을 사용하여 인스턴스에 대해docker
명령을 실행합니다.docker --version
도커가 설치되면 도커 버전과 빌드 번호가 표시됩니다. 이 경우, 이 절차의 뒷부분인 5단계로 이동합니다.
-
도커를 설치합니다. 이렇게 하려면 설치할
docker
또는docker.io
패키지를 지정하고install
작업을 사용하여yum
또는apt
명령을 실행합니다.Amazon Linux의 경우:
sudo yum install -y docker
Ubuntu Server:
sudo apt install -y docker.io
-
도커가 설치되었는지 확인합니다. 이렇게 하려면
docker --version
명령을 다시 실행합니다. 도커 버전 및 빌드 번호가 표시됩니다. -
도커를 실행합니다. 이렇게 하려면
docker
서비스와start
작업을 사용하여service
명령을 실행합니다.sudo service docker start
-
도커가 실행 중인지 확인합니다. 이렇게 하려면
info
작업을 사용하여docker
명령을 실행합니다.sudo docker info
도커를 실행 중인 경우 도커에 대한 정보가 표시됩니다.
2단계: 이미지 빌드
이 단계에서 Dockerfile을 사용하여 도커 이미지를 인스턴스에 빌드합니다. 이 샘플에서는 Node.js와 샘플 채팅 서버 애플리케이션을 포함하는 이미지를 사용합니다.
-
인스턴스에서 Dockerfile을 생성합니다. 이렇게 하려면 SSH 클라이언트가 인스턴스에 연결된 상태에서 인스턴스의
/tmp
디렉터리에 라는 파일을 생성합니다Dockerfile
. 예를 들면 다음과 같이touch
명령을 실행합니다.sudo touch /tmp/Dockerfile
-
다음 내용을
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
유틸리티를 사용할 수 있습니다.-
AWS Cloud9 를 사용하여
/tmp/Dockerfile
파일을 열고 편집합니다.sudo vi /tmp/Dockerfile
-
앞의 내용을
Dockerfile
파일에 붙여 넣습니다. 이 작업을 수행하는 방법을 잘 모르는 경우 SSH 클라이언트 설명서를 참조하세요. -
명령 모드로 전환합니다. 이렇게 하려면
Esc
키를 누릅니다. 그러면-- INSERT --
가 창의 하단에서 사라집니다. -
:wq
를 입력하여/tmp/Dockerfile
파일에 쓰고 나서 파일을 저장한 다음vi
를 종료한 후,Enter
를 누릅니다.
참고
에서 자주 업데이트되는 Docker 이미지 목록에 액세스할 수 있습니다 AWS CodeBuild. 자세한 내용은 AWS CodeBuild 사용 설명서의 에서 제공하는 Docker 이미지를 CodeBuild 참조하세요.
-
-
인스턴스에서 Docker 컨테이너가 AWS Cloud9 SSH 사용할 퍼블릭 키가 포함된 파일을 생성합니다. 이렇게 하려면 예를 들어
touch
명령을 실행하여Dockerfile
파일과 같은 디렉터리에 이름이authorized_keys
인 파일을 생성합니다.sudo touch /tmp/authorized_keys
-
authorized_keys
파일에 퍼블릭 키를 추가합니다 AWS Cloud9 SSH. 퍼블릭 키를 가져오 AWS Cloud9 SSH려면 다음을 수행합니다.-
에서 AWS Cloud9 콘솔을 엽니다https://console.aws.amazon.com/cloud9/
. -
AWS 탐색 모음의 AWS 리전 선택기에서 이 주제의 뒷부분에서 AWS Cloud9 개발 환경을 생성할 AWS 리전을 선택합니다.
-
시작 페이지가 표시되면 새 AWS Cloud9 환경 에서 환경 생성을 선택합니다. 그렇지 않으면 Create environment(환경 생성)를 선택합니다.
-
[환경 이름 지정(Name environment)] 페이지의 [이름(Name)]에 환경의 이름을 입력합니다. (여기서는 이름이 중요하지 않습니다. 나중에 다른 이름을 선택할 수 있습니다.)
-
다음 단계를 선택합니다.
-
환경 유형 에서 연결을 선택하고 원격 서버(SSH)에서 실행합니다.
-
퍼블릭 SSH 키 보기 를 확장합니다.
-
Copy key to clipboard(클립보드에 키 복사)를 선택합니다. (이는 퍼블릭 SSH 키 보기와 고급 설정 사이에 있습니다.)
-
취소를 선택합니다.
-
클립보드의 내용을
authorized_keys
파일에 붙여 넣고 나서 파일을 저장합니다. 예를 들어 이 단계의 앞부분에서 설명한 대로vi
유틸리티를 사용할 수 있습니다.
-
-
build
작업을 사용하고cloud9-image:latest
태그를 이미지에 추가하고 사용할Dockerfile
파일의 경로를 지정하여docker
명령을 실행함으로써 이미지를 빌드합니다.sudo docker build -t cloud9-image:latest /tmp
명령이 성공적으로 실행되면 빌드 출력의 마지막 두 줄에
Successfully built
및Successfully tagged
가 표시됩니다.Docker가 이미지를 성공적으로 빌드했는지 확인하려면
image ls
작업을 사용하여docker
명령을 실행합니다.sudo docker image ls
명령이 성공적으로 실행되면 출력 디스플레이에 항목 하나가 표시됩니다. 이 항목에서
REPOSITORY
필드는cloud9-image
로 설정되었으며TAG
필드는latest
로 설정되었습니다. -
Amazon EC2 인스턴스의 퍼블릭 IP 주소를 기록해 둡니다. 4단계: 환경 생성에 필요한 정보입니다. 인스턴스의 퍼블릭 IP 주소를 잘 모르는 경우 인스턴스에서 다음 명령을 실행하여 해당 주소를 가져올 수 있습니다.
curl http://169.254.169.254/latest/meta-data/public-ipv4
3단계: 컨테이너 실행
이 단계에서는 인스턴스에서 도커 컨테이너를 실행합니다. 이 컨테이너는 이전 단계에서 빌드한 이미지에 기초합니다.
-
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 인스턴스에서 지정된 포트를 내부적으로 사용할 수 있도록 합니다. 이 샘플에서는 Amazon EC2 인스턴스9090
의 포트를 통해 컨테이너의 포트에 내부22
적으로 액세스할 수 있습니다. -
--name
은 컨테이너용 인간이 읽을 수 있는 이름(이 샘플에서는cloud9
)입니다. -
cloud9-image:latest
는 컨테이너를 실행하는 데 사용할 빌드된 이미지의 인간이 읽을 수 있는 이름입니다.
Docker가 컨테이너를 성공적으로 실행하고 있는지 확인하려면
container ls
작업을 사용하여docker
명령을 실행합니다.sudo docker container ls
명령이 성공적으로 실행되면 출력 디스플레이에 항목 하나가 표시됩니다. 이 항목에서
IMAGE
필드는cloud9-image:latest
로 설정되었으며NAMES
필드는cloud9
로 설정되었습니다. -
-
실행 중인 컨테이너에 로그인합니다. 이렇게 하려면
exec
작업과 다음 옵션을 사용하여docker
명령을 실행합니다.sudo docker exec -it cloud9 bash
-
-it
는 할당된 의사TTY로 컨테이너를 실행하고 컨테이너가 연결되지 않은 경우에도 STDIN 열린 상태를 유지합니다. -
cloud9
는 실행 중인 컨테이너의 인간이 읽을 수 있는 이름입니다. -
bash
는 실행 중인 컨테이너에서 표준 셸을 시작합니다.
성공할 경우 터미널 프롬프트가 변경되어 컨테이너의 로그인된 사용자 이름과 컨테이너의 ID를 표시합니다.
참고
실행 중인 컨테이너에서 로그아웃하려면
exit
명령을 실행합니다. 터미널 프롬프트가 다시 변경되어 인스턴스의 로그인한 사용자 이름과 인스턴스DNS의 프라이빗 이름이 표시됩니다. 컨테이너가 여전히 실행 중이어야 합니다. -
-
로그인한 후 시작 AWS Cloud9 하려는 실행 중인 컨테이너의 디렉터리에 대한 액세스 권한을
rwxr-xr-x
로 설정합니다. 이는 소유자에 대한 권한, 그룹에 대한 읽기 실행 권한 및 다른 사용자에 대한 읽기 실행 권한을 의미합니다 read-write-execute. 예를 들어 디렉터리의 경로가~
인 경우 다음과 같이 실행 중인 컨테이너에서chmod
명령을 실행하여 디렉터리에서 이러한 권한을 설정할 수 있습니다.sudo chmod u=rwx,g=rx,o=rx ~
-
Node.js 바이너리를 포함하는 실행 중인 컨테이너의 디렉터리에 대한 경로를 적어둡니다. 이 경로는 4단계: 환경 생성에 필요합니다. 이 경로를 잘 모르면 실행 중인 컨테이너에서 다음 명령을 실행하여 가져옵니다.
which node
4단계: 환경 생성
이 단계에서는 AWS Cloud9 AWS Cloud9 SSH를 사용하여 개발 환경을 생성하고 이를 실행 중인 Docker 컨테이너에 연결합니다. 가 환경을 AWS Cloud9 생성하면 컨테이너의 파일 및 코드 작업을 시작할 수 있도록 가 표시됩니다 AWS Cloud9 IDE.
AWS Cloud9 콘솔을 AWS Cloud9 SSH 사용하여 개발 환경을 생성합니다. 를 사용하여 SSH 환경을 생성할 수 없습니다CLI.
사전 조건
-
먼저 설 AWS Cloud9정의 단계를 완료했는지 확인합니다. 이렇게 해야 AWS Cloud9 콘솔에 로그인하여 환경을 생성할 수 있습니다.
-
기존 클라우드 컴퓨팅 인스턴스(예: 의 Amazon EC2 인스턴스 AWS 계정) 또는 환경에 연결 AWS Cloud9 하려는 자체 서버를 식별합니다.
-
기존 인스턴스 또는 자체 서버가 모든 SSH 호스트 요구 사항을 충족해야 합니다. 이러한 요구 사항에는 특정 버전의 Python, Node.js 및 기타 구성 요소 설치, 로그인 후 AWS Cloud9 이 시작하도록 할 디렉터리에 대한 특정 권한 설정, 연결된 Amazon Virtual Private Cloud 설정이 포함됩니다.
SSH 환경 생성
-
위의 사전 조건을 완료해야 합니다.
-
아직 연결되지 않은 경우 SSH 클라이언트를 사용하여 기존 인스턴스 또는 자체 서버에 연결합니다. 이렇게 하면 인스턴스 또는 서버에 필요한 퍼블릭 SSH 키 값을 추가할 수 있습니다. 이 절차의 뒷부분에서 자세하게 설명합니다.
참고
기존 AWS 클라우드 컴퓨팅 인스턴스에 연결하려면 다음 리소스 중 하나 이상을 참조하세요.
-
Amazon 의 경우 Amazon EC2 사용 설명서의 Linux 인스턴스에 연결을 EC2참조하세요. https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect-to-linux-instance.html
-
Amazon Lightsail의 경우 Amazon Lightsail 문서에서 Linux/Unix 기반 Lightsail 인스턴스에 연결
을 참조하세요. -
의 경우 AWS Elastic Beanstalk 개발자 안내서의 서버 인스턴스에 나열 및 연결을 AWS Elastic Beanstalk참조하세요. https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.ec2connect.html
-
의 경우 AWS OpsWorks 사용 설명서의 를 사용하여 Linux 인스턴스에 SSH 로그인을 AWS OpsWorks참조하세요.
-
다른 의 경우 해당 특정 서비스에 대한 설명서를 AWS 서비스참조하세요.
자체 서버에 연결하려면 를 사용합니다SSH. SSH 는 macOS 및 Linux 운영 체제에 이미 설치되어 있습니다. WindowsSSH에서 를 사용하여 서버에 연결하려면 Pu TTY
를 설치해야 합니다. -
-
에서 AWS Cloud9 콘솔에 로그인합니다https://console.aws.amazon.com/cloud9/
. -
AWS Cloud9 콘솔에 로그인한 후 상단 탐색 모음에서 환경을 생성할 AWS 리전 를 선택합니다. 사용 가능한 목록은 의 섹션을 AWS 리전참조AWS Cloud9하세요AWS 일반 참조.
-
개발 환경을 처음 생성하는 경우 시작 페이지가 표시됩니다. 새 AWS Cloud9 환경 패널에서 환경 생성을 선택합니다.
이전에 개발 환경을 생성한 경우 화면 왼쪽의 창을 확장합니다. Your environments(사용자 환경)를 선택하고 Create environment(환경 생성)를 선택합니다.
시작 페이지에서:
또는 Your environments(환경) 페이지에서:
-
Create environment(환경 생성) 페이지에 환경의 이름을 입력합니다.
-
Description(설명)에 환경에 대한 설명을 입력합니다. 본 자습서에서는
This environment is for the AWS Cloud9 tutorial.
을 사용합니다. -
Environment type(환경 유형)에서는 다음 옵션 중에서 Existing Compute(기존 컴퓨팅)를 선택합니다.
-
새 EC2 인스턴스 - 를 통해 에 직접 연결할 AWS Cloud9 수 있는 Amazon EC2 인스턴스를 시작합니다SSH.
-
기존 컴퓨팅 - 열린 인바운드 포트가 필요하지 않은 Amazon EC2 인스턴스를 시작합니다. 를 통해 인스턴스에 AWS Cloud9 연결합니다AWS Systems Manager.
-
기존 컴퓨팅 옵션을 선택하면 Systems Manager가 사용자를 대신하여 IAM 인스턴스와 상호 작용할 수 있도록 서비스 역할 및 EC2 인스턴스 프로파일이 생성됩니다. 인터페이스의 더 아래에 있는 Service role and instance profile for Systems Manager access(Systems Manager 액세스를 위한 서비스 역할 및 인스턴스 프로파일) 섹션에서 서비스 역할과 인스턴스 프로파일의 이름을 모두 확인할 수 있습니다. 자세한 내용은 를 사용하여 수신되지 않는 EC2 인스턴스 액세스 AWS Systems Manager 단원을 참조하십시오.
-
주의
환경에 대한 EC2 인스턴스를 생성하면 Amazon AWS 계정 에 대해 에 요금이 부과될 수 있습니다EC2. Systems Manager를 사용하여 EC2 인스턴스에 대한 연결을 관리하는 데 드는 추가 비용은 없습니다.
주의
AWS Cloud9 는 SSH 퍼블릭 키를 사용하여 서버에 안전하게 연결합니다. 보안 연결을 설정하려면 다음 단계에서 공개 키를
~/.ssh/authorized_keys
파일에 추가하고 로그인 보안 인증 정보를 제공하십시오. 키를 클립보드에 복사를 선택하여 SSH 키를 복사하거나 퍼블릭 SSH 키 보기를 선택하여 키를 표시합니다. -
-
Existing compute(기존 컴퓨팅) 패널의 User(사용자)에 이 절차의 앞부분에서 인스턴스 또는 서버에 연결하는 데 사용한 로그인 이름을 입력합니다. 예를 들어 AWS 클라우드 컴퓨팅 인스턴스의 경우 이 값은
ec2-user
,ubuntu
또는root
일 수 있습니다.참고
로그인 이름이 인스턴스 또는 서버의 관리 권한 또는 관리자 사용자와 연결되는 것이 좋습니다. 더 자세히 말하자면, 이 로그인 이름은 인스턴스 또는 서버에서 Node.js 설치를 소유하는 것이 좋습니다. 이를 확인하려면 인스턴스 또는 서버의 터미널에서
ls -l $(which node)
(또는nvm
을 사용하는 경우ls -l $(nvm which node)
) 명령을 실행합니다. 이 명령은 Node.js 설치의 소유자 이름을 표시합니다. 설치의 권한, 그룹 이름과 위치도 표시합니다. -
Host(호스트)에 인스턴스 또는 서버의 퍼블릭 IP 주소(기본) 또는 호스트 이름을 입력합니다.
-
포트 에 인스턴스 또는 서버에 연결하려는 AWS Cloud9 포트를 입력합니다. 또는 기본 포트를 그대로 유지합니다.
-
환경 경로, node.js 바이너리 경로 및 SSH 점프 호스트 정보를 표시하려면 추가 세부 정보 - 선택 사항을 선택합니다.
-
환경 경로 에 시작 AWS Cloud9 하려는 인스턴스 또는 서버의 디렉터리 경로를 입력합니다. 이 절차의 사전 요구 사항에서 이를 이미 확인했습니다. 이 항목을 비워 두면 AWS Cloud9 은 로그인 후 인스턴스 또는 서버가 일반적으로 시작되는 디렉터리를 사용합니다. 이 디렉터리는 일반적으로 홈 또는 기본 디렉터리입니다.
-
Path to Node.js binary path(Node.js 바이너리 경로로 가는 경로)에 경로 정보를 입력하여, 인스턴스 또는 서버의 Node.js 바이너리로 가는 경로를 지정합니다. 경로를 가져오려면 인스턴스 또는 서버에서
which node
(또는nvm
을 사용하는 경우nvm which node
) 명령을 실행할 수 있습니다. 예를 들어 이 경로는/usr/bin/node
일 수 있습니다. 이 항목을 비워 두면 AWS Cloud9 은 연결을 시도할 때 Node.js 바이너리의 위치를 추측합니다. -
SSH 점프 호스트 에 인스턴스 또는 서버가 사용하는 점프 호스트에 대한 정보를 입력합니다. 형식
USER_NAME@HOSTNAME:PORT_NUMBER
(예:ec2-user@:ip-192-0-2-0:22
)를 사용합니다.점프 호스트는 다음 요구 사항을 충족해야 합니다.
-
를 사용하여 퍼블릭 인터넷을 통해 연결할 수 있어야 합니다SSH.
-
지정된 포트를 통해 어떤 IP 주소에서든 인바운드 액세스를 허용해야 합니다.
-
기존 인스턴스 또는 서버의
~/.ssh/authorized_keys
파일에 복사된 퍼블릭 SSH 키 값도 점프 호스트의~/.ssh/authorized_keys
파일에 복사해야 합니다. -
Netcat이 설치되어 있어야 합니다.
-
-
각 태그에 키와 값을 지정하여 최대 50개의 태그를 추가합니다. Add new tag(새 태그 추가)를 선택하면 됩니다. 태그는 리소스 태그로 AWS Cloud9 환경에 연결되며 AWS CloudFormation 스택, Amazon EC2 인스턴스 및 Amazon EC2 보안 그룹의 기본 리소스로 전파됩니다. 태그에 대한 자세한 내용은 IAM 사용 설명서의 AWS 리소스 태그를 사용한 액세스 제어 및 이 설명서의 태그에 대한 고급 정보를 참조하세요.
주의
태그를 생성한 후 이러한 태그를 업데이트하면 변경 사항이 기본 리소스에 전파되지 않습니다. 자세한 내용은 태그에 대한 고급 정보에서 기본 리소스에 태그 업데이트 전파 섹션을 참조하세요.
-
Create(생성)를 선택하여 환경을 만들면 홈 페이지로 리디렉션됩니다. 계정이 성공적으로 생성되면 AWS Cloud9 콘솔 상단에 녹색 플래시 막대가 나타납니다. 새 환경을 선택하고 Cloud9에서 열기를 선택하여 를 시작할 수 있습니다IDE.
계정이 생성되지 못하면 AWS Cloud9 콘솔 상단에 적색 플래시바가 나타납니다. 웹 브라우저, AWS 액세스 권한, 인스턴스 또는 관련 네트워크의 문제로 인해 계정을 생성하지 못할 수 있습니다. 계정 장애를 일으킬 수 있는 문제를 해결하는 방법 관련 정보는 AWS Cloud9 문제 해결 섹션에서 확인할 수 있습니다.
참고
환경에서 프록시를 사용하여 인터넷에 액세스하는 경우 종속성을 설치할 수 AWS Cloud9 있도록 에 프록시 세부 정보를 제공해야 합니다. 자세한 내용은 종속성을 설치하지 못함 단원을 참조하십시오.
5단계: 코드 실행
이 단계에서는 AWS Cloud9 IDE를 사용하여 실행 중인 Docker 컨테이너 내에서 샘플 애플리케이션을 실행합니다.
-
실행 중인 컨테이너에 대해 가 AWS Cloud9 IDE 표시된 상태에서 샘플 채팅 서버를 시작합니다. 이렇게 하려면 Environment(환경) 창에서 샘플
workspace/server.js
파일을 마우스 오른쪽 버튼으로 클릭하고 나서 Run(실행)을 선택합니다. -
샘플 애플리케이션을 미리 봅니다. 이렇게 하려면 Environment(환경) 창에서
workspace/client/index.html
파일을 엽니다. 그런 다음, 메뉴 모음에서 Tools, Preview, Preview Running Application(도구, 미리 보기, 실행 중인 애플리케이션 미리 보기)을 선택합니다. -
애플리케이션의 미리 보기 탭에서 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 지원 파일을 제거할 수 있습니다.
-
인스턴스에서 도커 컨테이너를 제거합니다. 이렇게 하려면
stop
및rm
중지 작업과 사용자가 알아볼 수 있는 컨테이너 이름을 사용하여 인스턴스에 대해docker
명령을 실행합니다.sudo docker stop cloud9 sudo docker rm cloud9
-
인스턴스에서 도커 이미지를 제거합니다. 이렇게 하려면
image rm
작업과 이미지의 태그를 사용하여 인스턴스에 대해docker
명령을 실행합니다.sudo docker image rm cloud9-image:latest
-
여전히 존재할 수 있는 추가 도커 지원 파일을 제거합니다. 이렇게 하려면
system prune
작업을 사용하여 인스턴스에 대해docker
명령을 실행합니다.sudo docker system prune -a
-
도커를 제거합니다. 이렇게 하려면 제거할
docker
패키지를 지정하고remove
작업을 사용하여 인스턴스에 대해yum
명령을 실행합니다.Amazon Linux의 경우:
sudo yum -y remove docker
Ubuntu Server:
sudo apt -y remove docker
또한 이전에 생성한
Dockerfile
및authorized_keys
파일도 제거할 수 있습니다. 예를 들면 인스턴스에서rm
명령을 실행합니다.sudo rm /tmp/Dockerfile sudo rm /tmp/authorized_keys
6.4단계: 인스턴스 종료
Amazon EC2 인스턴스를 종료하려면 Amazon EC2 사용 설명서의 인스턴스 종료를 참조하세요.