【AWS初心者】できるかな? AWS Hands-on for Beginners 「ハンズオンはじめの一歩」

『でっきるかな♪ でっきるかな♪ ハテハテフム~』今回は『AWS Hands-on for Beginners』の中の「ハンズオンはじめの一歩」をやってみてつまづいたことなどを公開します。これからやろうと考えている方の参考になれば幸いです。
2020.10.14

はじめに

『でっきるかな でっきるかな ハテハテフム~』
こんにちは、「できるかな」世代の上山(かみやま)です。
現在、AWS認定資格であるソリューションアーキテクトアソシエイト(SAA)の取得に向け勉強中です。
クラウドプラクティショナー(CLF)の勉強中にも感じていましたが、やはり直接触ってみて実感した方がより理解が進みますので実際に触ってみながら勉強を進めていこうと考えました。
と言っても元々インフラエンジニアでもないAWS初心者の私にはサービスが沢山ありすぎて体感しようにも何から手を付けていいやら困ってしまいます。
そこで思い出したのがCLFの勉強中に目にした『AWS Hands-on for Beginners』
私のような初心者がやってみるには丁度良さそうですね。
今回は『AWS Hands-on for Beginners』の中の「ハンズオンはじめの一歩」をやってみたいと思います。
「千里の道も一歩から」とくにかくやってみて、つまづいたことなどを公開します。
これからAWSさわってみようかな?と思っている方やハンズオンを始めようとしている方の参考になれば幸いです。

ハンズオンはじめの一歩

このハンズオンは以下の構成となっていて、まずはアカウントの作成から始まります。
  1. 今回のハンズオンの説明 + アカウント作成に必要なもの + 作成の流れ
  2. アカウントを作成してみる
  3. ルートユーザーと IAM ユーザーについて学ぶ
  4. IAM ユーザーを作成する
  5. IAM (ポリシー、グループ、ロール)について学ぶ
  6. IAM ポリシーと IAM グループを作ってみる
  7. IAM ロールを試してみる
  8. まとめ + Next Action としてオススメのコンテンツを紹介

弊社では入社後にIAMユーザーを用意してもらえますので自分でAWSアカウントを作成する必要がありません。
ただ、当たり前ですがAWSアカウントに関する設定なども出来ません。
インスタンスを立ち上げてそのまま忘れてしまうと、利用しているサービスによってはコストがかかってしまい、 知らない内に請求が発生する可能性があります。
今回はコスト面も意識するようにあえて個人のアカウントを作成してみたいと思います。
ハンズオンの中でもEC2やS3を作成しますが試したインスタンスは必ず削除するように気を付けたいですね。(ドキドキ)

「ハンズオンはじめの一歩」についての詳しい説明は以下のリンクを参照して下さい。
参考:AWS ハンズオン資料

やってみよう

それではさっそくハンズオンをやってみたいと思います。 よろしくお願いしまーす。
このハンズオンは無料で視聴できますが、はじめに申込みが必要です。
申込み後に視聴可能になりますし、資料をダウンロードすることも可能です。

アカウントをつくってみた

ハンズオンを視聴しながら特につまづくこともなく、無事にアカウントが作成できました。
基本的に12か月は無料で試せるのですがサービスによっては一部有料になることもあるようで、 この時にアカウントに紐づけたクレジットカードに利用分の請求があるんですね。。。

IAMユーザをつくってみた

次にIAM(AWS Identity and Access Management)ユーザです。
アカウントはなんでも出来てしまうので日常的な作業には使用しません。
その代わりに必要な権限を割り当てたIAMユーザを作成しそちらで作業します。
ここでは、管理権限、参照権限、権限なしのIAMユーザを作成します。
UNIXやWindowsなどのオンプレ環境を利用してきたおじさんからするとアカウント(root)と管理権限をもったIAMユーザがイコールではない点がなれるまでしっくりこなかったですね。
ちなみにハンズオンではこのときいっしょにEC2とS3も作っています。

IAMポリシー、IAMグループをつくってみた

IAMポリシーはAWSで予め準備しているものの他に独自にJSON形式で定義することも可能です。
今回は準備されているものを利用してIAMグループへIAMポリシーを設定し、そのIAMグループへIAMユーザを設定することで権限設定をおこないます。
一つ一つのIAMユーザに個別にポリシーを設定していたら管理しきれなくなりますよね。

IAMロールをつくってみた

IAMロールはAWSリソース(EC2など)へ設定することでリソースへ権限を与えることが出来ます。
リソースに権限設定するって聞くとなんかピンとこないんですがアプリなんかでも権限設定してやれることを制限したり許可したりしますので、そのイメージでリソース毎に詳細に設定できるのかなぁと思っています。
ここまでハンズオンをやってみて、IAMユーザやリソースに対して必要な権限を設定することによって参照出来るようになったりすることを学びました。
「必要最小限で権限を設定をする」これ大事ですね。

つまづいたこと

ここまでサクッとハンズオンのお話をしていますが、もちろんすんなり出来たわけではありません。
ここからはハンズオンをやってみてつまずいたことについてお話します。

IAMユーザでログインできません

ハンズオンの中ではアカウントで管理用IAMユーザを作成して残りの参照権限のみのと権限なしのIAMユーザは管理用IAMユーザで作成していきます。
管理用IAMユーザを作成後にログインし直すのですが、ログイン画面でIDとパスワードを入力してもログイン出来ません。
どうやらパスワードを間違えて入力してしまったようです。このままではログイン出来ないので再度、アカウントでログインして管理用IAMユーザのパスワードを変更します。 パスワード設定には十分注意したいですね。

S3はどこにあるの?

IAMユーザ、グループ、ロールの設定の中でEC2とS3を作成し、設定した権限で参照できる/できないを確認していきます。
さて、ここで問題です。S3ってどこにあるんですかね?というか、作成した覚えがないんです。
ハンズオンの動画を見直していると、前の方でサクッと作成してました。
どうやら手を動かすことに集中していてS3の作成箇所を聞き流していたようです。
ハンズオンは後から何回でも聞き直すことが出来るので自分のペースで進められていいですね。
次のステップからは手を動かしている間は動画をストップしてやるようにしました。

EC2インスタンスの起動って?

ハンズオン資料の注意点の中に「マネジメントコンソールについても、収録時点のものとなります。差異がある場合がございますのでご注意ください。」とありした。
見た目が変わったりすることはよくあることのなので多少変わっているのはしょうがないよね。と思っていましたが見事にハマりました。
そこまで変わっているわけではないのですが、画面構成が若干違うのでEC2インスタンスを起動するボタンはどこにあるんだろう?となりました。
リアルタイムでハンズオンを受けていないので、しょうがないことですね。

なぜ?「describe-instances」

これはかなり焦りました。
EC2インスタンスへIAMロールを割り当てるのですが、最初はそのIAMロールにIAMポリシーを設定せず、なにも権限がない状態でコマンド「descride-instances」を実行してみます。これは必要な権限がない状態ですのでエラーが返っくることを確認するためです。
ここからIAMロールに必要なIAMポリシーを設定して、もう一度コマンドを実行し権限設定によって正しい動作がされることを確認していくことになります。

aws ec2 descride-instances --region ap-northeast-1


上記は実行結果の一部ですがコマンドを打ち込んでも「コマンドが間違ってますよ」といわれて期待している結果が返ってきません。
コマンド(パラメータ)が変わったのか?と思い、AWSコマンドのヘルプを打ち込むと途方もない量のヘルプテキストが表示されるし、何回みてもコマンドのオプションが間違っているわけでもリージョン名が間違っているわけでもないし・・・とかなりパニックになりました。
結局、「describe」のつづりが間違っていたせいでエラーが表示されていることに気が付いたのはこの数分後です。

正しいコマンドは以下になります。 (画像は実行結果の一部になります)

aws ec2 describe-instances --region ap-northeast-1

なにか設定するにしてもシステム管理者ではなかったりするので最近はGUIでやることが多く久々にコマンドを打ち込んでみて、UNIXなどでShell、awk、antなんかを使ってスクリプト作ったりしてたっけなー、Makefileもあったっけなぁなんてことを思い出しました。

まとめ

今回、自分でAWSをさわってみて感じたことは、やはり机上よりもやってみたほうが理解しやすいということです。
SAA取得に向けてもできるだけAWSをさわって理解していきたいですね。
余計なところでつまづくこともありましたが、これからもサクッとやってみてどんどん「気づき」や「つまづき」を公開していこうと思います。
これからAWSさわってみようかな?と思っている方やハンズオンを試してみようと考えている方の参考になれば幸いです。