本コンテンツは、以下の補足資料です。
[Cloud102]#0 環境準備
http://qiita.com/nagahisa/items/c6bd92992eef42dbe53a
なお、設定手順・キャプチャはすべてMac用です。
注意事項
このコンテンツで扱うAPIキー・シークレットキーはくれぐれも慎重に管理してください。
まず、以下コンテンツを読んで漏れた時の恐ろしさを認識しましょう。
「初心者がAWSでミスって不正利用されて$6,000請求、泣きそうになったお話。」
http://qiita.com/mochizukikotaro/items/a0e98ff0063a77e7b694
AGENDA
0.前置き
1.AWS CLIのインストール
2.CloudTrail
3.IAM
4.CLI設定ファイル作成
5.なんでもできるグループ作成とユーザの登録
6.確認
0.前置き
(1) 使いづらいマネコンとAPI
本編で触ったAWSのマネコンの印象は如何だったでしょうか?
個人的には「最悪とは言えないまでもスッゲエ使いづらい」UIだと思ってます
設定項目は多いし、あちこち設定箇所が分かれてるし・・・なんでこんなマネコンのIaaSが世界No.1なのかと。
(そんな点を良く研究されたIDCFさんなどは、非常に使いやすいマネコンを提供されています。)
実はAWSは「ほとんどの操作」はマネコン使わなくても行えますし、詳細情報はマネコンでは確認できないこともあります。
はい、API(Application Program Interface)です。
たとえばEC2はこのようなAPIが公開されています。
http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/APIReference/Welcome.html
マネコンも同じAPI使って構築されているので、マネコンで出来ることはすべてAPIで出来ます。逆に詳細情報はマネコンには表示されないことがあるので、必要であればAPIで取得する訳です。
なお「ほとんどの操作」と言ったのは、API使えるようになるまでは、APIが使えないのでマネコンからしか操作出来ません
(2) SDK
APIは"Interface"定義なので、好きなプログラミング言語でAPIを呼べば良いのですが、プログラミング言語毎にAPIを使いやすくする工夫をするのが一般的です。
はい、SDK(Software Development Kit)です。
各言語用のSDKを使用することにより、低レベルなAPIを使わないで、楽にプログラムを書くことが出来ます。
オフィシャルに提供されているSDKは以下で確認できます。
https://aws.amazon.com/jp/tools/
(3) CLI
SDKには PythonのようなLL(lightweight language:軽量言語)用もあるのですが、それでもちょっとした作業、例えばVM一覧取得などに、毎回 Python scriptを書くのは面倒です。黒い画面で叩けるコマンドが用意されていると便利ですよね?
はい、CLI( Command Line Interface)も提供されています。
CLIのWindows用MSIインストーラも用意されているようですが、オススメしません。
本編で作成したAmazon LinuxのVMにはCLIがインストール済みですので、そちらを使ってみて下さい。
(4) CLI環境のオススメ
自分で管理出来るPCをお持ちの方は、AWS CLIをそのPCに導入するのが安心です。
(API KeyやSSH用秘密鍵を保存するのは、やっぱり手持ちデバイスの方が安心ですよね
)
(a)Macの人:
・ラッキーです。この資料はMac用に書かれています
(b)Windows10の人:
・ラッキーです。1607リリースから"Bash on Windows"が使えるようになり、そちらの環境はUbuntuですので、この資料の手順とほぼ同じはずです。
Windows10お持ちの方は、以下を参考に是非トライしてみて下さい。
(Bash on Windows環境はコマンド1つで消せるので失敗しても環境汚れません。)
なお、Bash on Windowsについては補足#0-1でも少し触れています。
[Cloud102]#0-1 (補足)環境準備: Bash on Windows
http://qiita.com/nagahisa/items/ee2b36cfd051ce61ad69
(5) CLI日本語情報
本コンテンツはほぼすべて以下JAWS-UG CLI支部資料を参考にしています。多謝!!
http://qiita.com/tcsh/items/14c3278f69ab073afe0f
http://qiita.com/tcsh/items/b55eee599ae2c8806e4f
1.AWS CLIのインストール
この資料を参考に、pip, awscliをインストール
以下まで確認できればOKです ( versionは2016/9/24時点 )。
2.CloudTrail
この資料を参考にCloud Trai設定します。
3.IAM
この資料の 2.を参照してIAMグループ作成、ユーザ作成します。
(1) IAMダッシュボード > グループから「新しいグループの作成」
(2) IAMダッシュボード > ユーザから「新しいユーザの作成」
4. CLI設定ファイル作成
この資料の3.を参考にCLI設定ファイルを作成します。
・リージョンは東京(ap-northeast-1)にして下さい。
このユーザは IAMFullAccess権限があるので、IAM操作はできますが、EC2操作はできません。
5.なんでもできるグループ作成とユーザの登録
この資料の1.を参考してadministorator グループ作成:マネコン操作とCLI操作に使用します。
(1)“administorator”グループ作成
IAM_POLICY_NAME='AdministratorAccess'
これがマネコンのRoleリストにあったやつです
なんでもできる("Action": "*", "Resource": "*", "Effect": "Allow”)権限です。
これで “administorator”グループを作成します。
作成したら当然マネコンで確認できます。
(1)'スキップ手順
本来は以下を参考にこのユーザで別ユーザを作成するんですが・・・
http://qiita.com/tcsh/items/57902c2dba310fb7e28d
(2)ユーザに権限付与
今回はちょっと横着してこのユーザにこの権限を付与します。
今度は以下のようにマネコン操作をCLIで確認してみましょう。
・一旦CLIで作成済みユーザの所属グループ確認します
・次にマネコンでそのユーザを”administrator”グループに追加します
・もう一度CLIで作成済みユーザの所属グループ確認します
作成済みユーザはフル権限をもったので EC2操作も可能です。
Enjoy!!