ヤマムギ

growing hard days.

*

ヤマムギ vol.9 (AWS)EC2からAWS CLIコマンドを実行してみようハンズオン 手順

   

このブログは2020/5/5に開催しました、「ヤマムギ vol.9 (AWS)EC2からAWS CLIコマンドを実行してみようハンズオン」の手順です。

「AWSではじめるLinux入門ガイド」出版 & 「AWS認定資格試験テキスト AWS認定 クラウドプラクティショナー」出版一周年記念勉強会を開催しました。

解説は、勉強会内で説明しますので、こちらのブログには手順のみを記載します。

※個人の検証アカウントとしての設定です。

検証環境

デフォルトVPCのEC2にSystemsManager セッションマネージャーから接続します。
EC2からAWS CLIコマンドで、S3、EC2の操作を試します。

AWSアカウントをお持ちでない方は、「ヤマムギ vol.7 AWSアカウント作成 & 最初の設定ハンズオン 手順」をご参考の上、作成してください。

検証用のEC2インスタンスは「ヤマムギ vol.8 (AWS)EC2でLinuxサーバー構築 手順」をご参考の上、作成してください。

デフォルトリージョン設定

セッションマネージャで操作をします。

1). デフォルトリージョンを設定します。
aws configure コマンドを実行します。

ap-northeast-1 は、東京リージョンのコードです。
各リージョンのコードは利用できるリージョンで確認できます。

output formatは、json, text, tableが設定できます。

2). configファイルを確認しましょう。

.aws/configファイルにoutputとregionが設定されていることが確認できます。

S3を操作してみよう

3). 新規バケットをs3 mb コマンドで作成してみます。

※ bucketname は世界で一意になるように変更してください。

今、EC2のIAMロールには、SystemsManagerで管理するためだけの権限しかありません。
ですので、s3 mbコマンドでバケットを新規作成することはできません。

4). S3バケットを作成するために、EC2に設定しているIAMロールにポリシーを追加します。
マネジメントコンソールで操作します。

EC2のIAMロールに以下のポリシーをインラインポリシーとして追加します。

5). もう一度新規バケット作成を試します。

※ bucketname は世界で一意になるように変更してください。

マネジメントコンソールで確認すると、バケットが作成できていることが確認できます。

6). IAMロールのインラインポリシーを編集しましょう。
以下にします。

※bucketnameはそれぞれのバケット名に置き換えてください。

7). バケットの一覧

8). オブジェクトのアップロード

※bucketnameはそれぞれのバケット名に置き換えてください。

アップロードされました。

オブジェクト名をクリックして、[オブジェクトURL]をクリックしてみてください。
ブラウザに「AccessDenied」と表示されてアクセスが拒否されることが確認できます。

9). アクセスコントロールリストを確認

アカウントにしかアクセス権限がないことがわかりました。

マネジメントコンソールでオブジェクトの[アクセス権限]タブを確認しても、Everyoneに権限がないことがわかります。

10). アクセスコントロールリストの設定

もう一度確認します。

AllUsersに対してのREAD権限が追加されました。

マネジメントコンソールアクセスコントロールリストでもEveryoneに読み取り許可がされました。

オブジェクト名をクリックして、[オブジェクトURL]をクリックしてみてください。
ブラウザに Hello という文字が表示されます。

11). オブジェクト一覧の表示

バケット内のオブジェクトの一覧が表示されます。

12). オブジェクトの削除

13). バケットの削除

EC2を操作してみよう

14). EC2インスタンスを操作するために以下にインラインポリシーをIAMロールに追加

15). EC2インスタンスの起動

EC2インスタンスを起動するときにAMIが必須のパラメータです。
ただし、そのAMIがサポートしているインスタンスタイプを指定する必要もありますし、アカウントを作成して12ヶ月無料利用枠のt2.microを指定するために、instance-typeパラメータも指定しています。

他のパラメータは自動設定されます。

マネジメントコンソールでもEC2インスタンスが起動していることを確認してみてください。

16). EC2インスタンスを確認

17). EC2インスタンスを終了

実行したらすぐにマネジメントコンソールで確認してみましょう。
ステータスがshutting-downになって、teminatedになることが確認できます。

いろいろやってみよう

AWS CLI リファレンスでサービスを探して、やってみたいコマンドにチャレンジしてみましょう。
サービスによっては課金に注意しましょう。

(オプション) AWS CLIバージョン2にアップグレード

AWS CLIにはバージョン1と2があります。
2020年5月4日時点でのAmazon Linux 2 はAWS CLIはバージョン1です。

Linux での AWS CLI バージョン 2 のインストールの手順に従い、v1をアンインストールして2をインストールします。

v1との共存ではなく、アップグレードできました。


最後までお読みいただきましてありがとうございました!

「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。

「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。

 - AWS, event, study

ad

ad

  関連記事

Going Serverless with AWS(AWS Summit Tokyo 2017)を聞いてきました

AWS Summit Tokyo 2017でセッション「Going Server …

ある意味マネジメントコンソールで生成された署名付きURL

マネジメントコンソールにS3オブジェクトの[開く]というボタンがいつのまにか出来 …

TwilioからのリクエストをAPI Gateway+LambdaでTwimlを返して処理する

Twilioで着信した時のリクエスト先としてTwimlをWebサーバやS3で用意 …

「DeNA re:Invent 2018 報告会」でエンジニアが伝えたいre:Inventの話が聞けた

DeNAさんのre:Invent報告会に参加しました。 開催されているDeNAさ …

slackのbotに天気を教えてもらう(Python on AWS Lambda + API Gateway)

slackのbotにAPIの定番ともいえる天気情報を教えてもらいました。 環境は …

「JAWS-UG IoT専門支部『re:Invent 2020を味見する会』」に参加しました

本職のMTGで参加遅れちゃいましたので途中からのメモです。 運営のみなさん、発表 …

Kinesis Data Analyticsの検索結果をKinesis Data FirehoseからS3バケットに保存する

Kinesis Data AnalyticsをKinesis Data Stre …

QuickSightのVisualizeをダッシュボード化して定期メール

「Backlogの実績工数をAmazon QuickSightで可視化してわかっ …

API Gatewayで顧客レベルの使用量プランを設定する

API GatewayのAPIキーを使って使用量プランでのスロットリングも設定し …

AWS Lambda(Python3.7)でPandocを実行する

昨日まで(AWS Batch) 昨日までは、Pandocを実行して、S3バケット …