今天我們要來介紹 IAM Role 的實作示範,那我們開始吧!
首先使用 Admin 登入,進入 Conole 頁面搜尋 IAM 並點擊,如下圖:
進入之後,點左側表 Rules,並按下 Create role 來建立一個新的 Role,如下圖:
第一步,選擇 Type,上方會有四個選項,除了 AWS service 以外的三個選項都是比較高階的主題,我這邊選擇基礎的 AWS service。
由於這次要創造 Role 的 AWS Service 是 EC2,因此 Choose a use case這邊就選擇 EC2,如下圖:
第二步則是要決定這個給 EC2 用的 Role,要有什麼權限,在這邊我要給他 S3 的權限,所以搜尋 S3 並選 AmazonS3FullAccess,如下圖:
此步驟預設即可,下一步。
第四步可以給他 Role name,我叫他 ec2role-s3fullacces,在這邊也可以看到在 Step2 加上去的 Policy (AmazonS3FullAccess),如下圖:
回到主頁面後直接搜尋 ec2role,就會看到剛剛所創立的 ec2role-s3fullacces,如下圖:
點擊 Role name 可以看到細部資訊,如下圖:
到這邊,就成功建立了一個給 EC2 使用的 Role。
首先點左上角 Service,搜尋 VPC 並在新分頁開啟,如下圖:
我們首先到 AWS Console 為 EC2 創造 VPC 環境,到 VPC 頁面之後按下 Launch VPC Wizard,如下圖。
進去之後能幫我們快速建立一個環境,選擇下圖紅圈框起的 VPC with a Single Public Subnet,我們要將 EC2 放在一個 Public Subnet 裡面,然後點擊 Select。
接著,給他一個 VPC name,這邊我叫他 vpc-iam-demo,好的就可以按下 Create VPC,如下圖:
若創建完後看到 State 呈現 availiable,就代表成功創立了,如下圖:
接下來按 Service,搜尋 EC2 並點擊,如下圖:
進到 EC2 頁面後點左側列表 Instances,並按下 Launch Instance,如下圖:
建立 Instance 的步驟與詳細介紹可參考〖實作示範〗EC2儲存資源 — EBS Volume 建立與使用 part 1,本篇只做簡單介紹。
Step1: 選擇 Quick Start 的第一個 Linux AMI,如下圖:
Step2: Instance Type 預設即可,不做調整。
Step3: VPC 使用上面建立的(vpc-iam-demo)(圖#1),並給他一個 Public IP (圖#2),這邊特別注意到,本篇的重點是 IAM Role,要將剛剛建議的 IAM Role 套用到這台 EC2 Instance 上面(圖#3),所以選擇創立的 ec2role-s3fullaccess,如下圖:
Step4、Step5: 預設即可。
Step6: Security Group 有預設的 SSH 就夠用了,如下圖:
Step7: 按下 Launch 後 (圖#1),給他一個新的 Key pair,我叫他 keypair-iam-demo-001 (圖#2),記得 Download Key Pair,之後會用到。好了之後按 Launch Instnces (圖#3)
按下 View Instance 後,就看到 EC2 啟起來了,狀態為 running (圖#1),並在同一個頁面下方的解釋欄用滾輪往下拉,就會看到有一條 IAM Role,是我們剛剛所套用上去的,他將會給這台 EC2 Instance 去使用 S3 服務的權限(圖#2)。
開啟 Terminal,cd 到下載 .pem File 的地方(我的是在 Download 資料夾裡面),如下圖:
回到 EC2 頁面,點 Connect (圖#1),並複製 chmod 指令(圖#2)
再回到 Terminal 貼上執行。
再次回到 EC2 介面複製 SSH 指令,如下圖。
再回到 Terminal 貼上執行,打上 yes,看到 Amazon Linux AMI 就成功連進去這台 EC2 Instance 了,如下圖:
接著要用 AWS CLI 指令的方式,來將 EC2 Instance 裡面對 S3 這個服務進行使用,打上 aws s3api list-buckets,這個指令會告訴我 S3 上總共有哪些 Bucket,按下執行後會看到,這個指令成功拿了一連串的 Bucket 名稱回來(目前有4個),就代表 EC2 Instance 已經有權限可以使用S3的服務了,如下圖:
接著,我要用 aws s3api create-bucket 這個指令來讓 EC2 去創建一個新的 S3 Bucket,名稱我叫他 uopsdod-iam-role-demo-bucket-001,Region 使用 us-west-2 (跟 EC2 在同一個 Region 上),另外這邊特別加上一個參數,LocationConstraint 也要使用 us-west-2,如下圖:
執行完後,看到 Location 就代表成功建立了新的 S3 Bucket,如下圖:
再使用一次 s3api list-buckets 看看 Bucket 數量是否有增加,也的確 Bucket 數量從 4 個增加到 5 個,如下圖:
最後回到 S3 Bucket,能看到確實創立出來了。
IAM Role,能讓 EC2 這個服務透過 IAM Role,嵌入到 IAM 的整個服務體系之中,在這篇的實作演練中更具體來說,最後讓 EC2 Instance 擁有了使用 S3 服務的權限。
那以上,是針對IAM Role的介紹。
那麼明天,我們將接著看到「整合寶石:【Lab】建構三層式雲端架構(上)」!