code-server 온라인 환경편 (1)

2019년 code-server에 Advent Calender의 12일째 기사입니다.
첫째 날 code-server 란 무엇입니까?에서 로컬 환경에서 Docker와 Docker-Compose를 이용하여 VSCode를 내장하는 개발 환경을 만들었습니다.
오늘부터, 온라인 편에 들어갑니다. 온라인 편에서는 클라우드에 Instance를 시작하고 거기에 Code-Server를 배치합니다.
 이를 통해 어디서나 개발 리소스에 액세스 할 수 있습니다. 매우 비싼 머신 단기간만 이용해 알레콜레하거나,
iPad 등을 이용하여 외출시에도 프로그램을 쓸 수 있게 됩니다.

목차
로컬 환경편 1일차
온라인 환경편 1일차 작업환경 정비

온라인 환경 2일째 가상 네트워크 만들기

온라인 환경 3 일째 Boto3에서 EC2 인스턴스 시작

온라인 환경편 4일째 Code-Server를 클라우드로 이동해 본다

온라인 환경 5 일째 Docker에서 code-server 시작

온라인 환경편 6일째 자동화해보자

온라인 환경편 7일째 git 위의 compose를 EC2에 배포

...
온라인 편 .. Coompose 파일로 구축

온라인 편 .. K8S를 사용해보십시오

...

마 개조편

EC2 Instance 시작하기



어떤 환경을 이용할지 궁금했지만, 전통적으로 AWS를 이용하기로 했습니다.
AWS에는 Docker를 이용한 서비스가 있습니다. 로컬편으로 학습한 Compose 파일을 그대로 릴리스에 사용할 수 있거나. K8S를 이용한 이번 방법을 이용할 수 있습니다.
하지만 이번에는 EC2 Instace를 시작하는 곳부터 시작하고 싶습니다.

Boto3 사용



AWS에서 Instance를 시작하는 방법에는 여러 가지가 있습니다.
- 주도로 GUI 콘솔을 조작하여 수행
- CloudFormation 및 Terraform과 같은 구성 관리 도구를 사용하여 수행
- AWS CLI를 사용하여 명령줄에서 수행
- AWS SDK를 사용하여 프로그램에서 수행

구성 관리 도구를 사용하는 것이 표준이라고 생각합니다. 가 Boto3에서 고리 고리 쓰고 싶습니다.

※ 그냥 내 취향입니다.

ACCESS KEY를 얻자.



SDK에서 사용하려면 ACCESS KEY ID와 SECRET KEY를 가져와야 합니다.

에 기재된 대로
1. AWS マネジメントコンソール にサインインし、IAM コンソール(https://console.aws.amazon.com/iam/)を開きます。

2. ナビゲーションペインで [Users] を選択します。

3. アクセスキーを作成するユーザー名を選択し、[Security credentials] タブを選択します。

4. [Access keys (アクセスキー)] セクションで、[Create access key (アクセスキーの作成)] を選択します。

5. 新しいアクセスキーペアを表示するには、[Show] を選択します。このダイアログボックスを閉じた後、シークレットアクセスキーに再度アクセスすることはできません。認証情報は以下のようになります。

アクセスキー ID: AKIAIOSFODNN7EXAMPLE

シークレットアクセスキー: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

AWS가 운영하는 개발 환경을 준비한다.



지금까지 만든 Docker를 그대로 사용할 수 있습니다.
FROM python:3.8.0-buster

RUN apt-get update
# code-server を取得するのに wget を install しておく
RUN apt-get install -y wget

# 作業ディレクトリを /works にする。どこでも良いです
WORKDIR /works

# code-server のバイナリーを取得
RUN wget https://github.com/cdr/code-server/releases/download/2.1692-vsc1.39.2/code-server2.1692-vsc1.39.2-linux-x86_64.tar.gz

# code-server を /works 配下に解凍する
RUN tar -xzf code-server2.1692-vsc1.39.2-linux-x86_64.tar.gz -C ./ --strip-components 1 

WORKDIR /works/app
ENV PYTHONPATH=/works/app

# python の plugin をインストール 
RUN /works/code-server --install-extension ms-python.python
RUN /usr/local/bin/python -m pip install -U pylint --user
RUN apt-get install groff -y

# デフォルトは、/works/app で起動するようにする。
CMD [ "/works/code-server", "--allow-http", "--auth", "none", "--port", "8443", "/works/app"]


똑같네요!! docker-compose도 포함한 환경을 아래에 두었습니다.

htps : // 기주 b. 코 m / 쇼로 히로 / 아 d ょ t-2019 - 코 에세 r ゔ r / t 에 / 마s r / 레모테 _cs01 / 후 r_ 아 ws

requirements.txt가 변경됩니다.
awscli==1.16.300
boto3==1.10.36
botocore==1.13.36
boto3-type-annotations==0.3.1
rope==0.14.0

시작합시다.


$ docker-compose build
$ docker-compose up -d

VSCode를 열어 봅시다.



브라우저에서 http://127.0.0.1:8443/를 열어보십시오.



ACCESS KEY ID와 SECRET KEY를 설정합시다.



VSCode 터미널을 열고 aws cli install
$ pip install -r requirements.txt 

AWS 명령을 설정합니다. ACCESS KEY ID와 SECRET KEY를 추가하십시오.
지역은 TOKYO를 사용하려면 ap-northeast-1를 지정하십시오.
$ aws configure
AWS Access Key ID [None]: xxxx
AWS Secret Access Key [None]: xxxxx
Default region name [None]: ap-northeast-1
Default output format [None]: json

AWS CLI 명령을 두드려보세요


$ aws ec2 describe-instances

※ 어쩌면, apt-get install groff -y가 필요할지도

다음 번



Boto3를 사용하여 Instance를 생성/삭제해 봅니다.

코드

좋은 웹페이지 즐겨찾기