筆記:AWS — Cloud9

Why Use Cloud9

Tinghuan Wang
summer's code life
7 min readJul 7, 2021

--

假設一個情境,你在公司工作有最新版的IDE,有配備好的程式設定,但是如果有一天你需要用你自己的電腦工作,但是你的電腦沒有那麼好,無法安裝IDE。

使用Cloud9可以讓你直接使用browser 寫程式。

What’s Cloud9

Browser 程式IDE,內建git和終端機。Cloud9 已預先封裝常用的程式設計語言 (包括 JavaScript、Python、PHP 等) 基本工具。

官網:https://aws.amazon.com/tw/cloud9/

優勢:

  • 只要一個Browser就可以寫程式(write / run / debug),不用安裝IDE。
  • 可以線上跟其他人一起撰寫程式。
  • 可以使用Cloud9來寫lambda。

範例:

使用Iam User建立Cloud9。

Cloud9 > create environment

  • Step1:Name environment

Name:cloud9Test

  • Step2:Configure settings

選擇EC2環境接著,instance type選擇最小的t2.micro,Platform選擇Amazon Linux 2 (recommended)。

Cost-saving setting指的是多少時間沒有動作會進入休眠模式,這樣費用可以更節省。

也可以選擇運行的VPC,這邊使用預設。

  • Step3:Review 之後直接建立

建立好了之後,左邊是檔案系統,中間是編輯程式的地方,下面是terminal,terminal 有內建指令像是git/aws cli。

右邊是一起協作程式的成員。

左邊的aws resource 可以看到有哪些resource

Cloud9支援的語法

使用Cloud9

改變字型的大小:Cloud9 > Preferences > User Setting > EDITORS

從terminal看目前使用者登入的身份

$aws sts get-caller-identity

aws cloud9 會建立一個暫時的權限,在terminal執行的權限並不等於你目前登入iam user的權限。像是使用terminal建立一個iam user是不能執行的。

因為在 Cloud9 > Preferences > AWS Setting > Credentials 裡面有設定給予暫時的權限。

如果想要在Cloud9 使用iam admin的權限,可以依循以下做法:

EC2 > instance > cloud9建立的instance

可以看到iam role 是空的:

建立一個iam role (use case 使用EC2,permissions使用 AdministratorAccess) 在attach 到這台EC2。

選擇cloud9 的 instance,Modify IAM role。

將Cloud9 中的 AWS managed temporary credentials 關掉。

執行

$aws sts get-caller-identity

已經變成剛剛建立的admin Role。

C9 package

如果今天不想要使用左邊選單操作檔案,可以使用c9 package

$ npm install -g c9

打開檔案:c9 fileName

建立檔案:c9 open fileName

Create lambda function

Cloud9 > AWS resource > Lambda

Step1. 版本選擇Nodejs14

Step2. 選擇AWS SAM Hello World

Step3. 選擇folder,這邊使用cloud9Test

Step4. lambda name:sampleLambda

Deploy 剛剛建立的lambda function

Step1 選擇lambda

Step2. 選擇s3 bucket 上傳code,這邊使用create bucket

Step3. bucket 的名稱:deploylambda2107070 (bucket 名稱很容易重複)

Step4. 新增stackname:cloud9SampleLambda-stack

新增完後AWS toolkit 就可以看到執行的過程

到lambda console 就可以看到剛剛建立的lambda,只要是從cloud9上傳的function都會是stackname開頭。

Import Lambda function

如果想要import現有的lambda,可以直接選取lambda,按下import。

選擇folder

import後修改程式想要上傳

選擇Directory

選擇importLambda

Step2 選擇No

lambda console 就會看到已經更新程式了

筆記來源

【Pahud Dev】EP01 — AWS Cloud9輕鬆上手(4K 2160p)

參考來源

Rocking AWS Serverless — A Real World Guide

--

--