#author("2022-08-24T00:47:17+00:00","default:sysosa","sysosa")
#author("2022-08-24T00:48:24+00:00","default:sysosa","sysosa")
Amazon Web Services

運用想定としては
-いつもは研究室の計算機を利用するが、混んでいるときにawsを使う
オンプレミスで8割、残りをawsで賄う

とかなと。その場合構成として単純にawsにマシンを配置する. 複数台なら単純に増やせばいい.  &size(10){1台を複数人で利用数rか、一人1台にするかはあるかも};
&ref(2022y08m23d_080620814.png,nolink,noborder);   &ref(2022y08m23d_081308207.png,nolink,noborder);

研究室の延長線であってほしいのでアプリとデータは同期してほしいとかある. 単純にawsのec2向けのnfsサーバ(Elastic File System,EFS)を用意すれば足りるかな.
&ref(2022y08m23d_082352728.png,nolink,noborder);
アプリの構築はどこかのec2で作ればいいし、研究室からのデータコピーもどこかのec2に任せてEFSを充実させればいいのかと.

上図では4台のec2が働く、そのアクセスはそれぞれ4つのグローバルIPが付与される. Elastic IPを使えばそれぞれ不変の固定IPが振れる.
運用としては
-awsコンソールにアクセスして、利用者が使いたいec2を起動させて、sshアクセス、利用する
&size(10){コンソールへのアクセスは権限毎に用意して、起動、停止のみの権限でアクセスさせる};
-終わったらコンソールからec2を停止させる

なのかと.
ログインノードを作ってnis/ldap、job管理システムを作るのもありえる.
&ref(2022y08m23d_085413911.png,nolink,noborder);


~

お金のお話

一応外向けec2を立てるとグローバルIPを渡してくれるけど、そのec2を再起動したらそのグローバルIPは変更される可能性がある
なら固定IPが貰える Elastic IP (EIP) を使えばいい.
#code(nonumber){{
0.005 USD/1hour, 0.12 USD/day,  3.6USD/month, 43.8 USD/year
}}
140Yen/1USDなら 年間 6,132 ほど. 1IP アドレス

次に計算ノードとか.
構成によってピンキリの世界. あと「完全従量制」「リザーブドインスタンス」「スポットインスタンス」「Savings Plans」とか料金プランが存在する.
研究室に計算リソースがある程度存在していて、awsの間借りが長くないのなら「完全従量制」かな。
ある程度(この「ある程度」が難しい)長時間、間借りするなら「リザーブドインスタンス」を利用して安く
ある程度(この「ある程度」が難しい)長時間、間借りするなら「リザーブドインスタンス」を利用して安く抑えることが可能.
計算の内容が途中で途切れてもいいようなジョブならいっそ「スポットインスタンス」の利用もあり得るかな.

「リザーブドインスタンス」は途中でec2の乗り換えができない. GPU1個を含むec2の「リザーブドインスタンス」を購入したら、その権利はGPU2個のec2には使えない

ec2の構成も留意点で、ログインノードなら SSD じゃなくてHDDで構わないかなとか、スクラッチ領域向けにIOPSが高いSSDを設けたりとか
計算にくべるec2の構成は事前に調整が必要かも。

#code(nonumber){{
g4dn.2xlarge (4c/8t, 32G, 225GB, T4(16GB))   *T4(tesla T4)は... GTX 1080位かな... 搭載メモリに違いがあるので何ともだけど
1.015 USD/1hour

24.36 USB/day

730.8 USD/30day

8,891.4 USD/year

リザーブドインスタンスで賄うなら(g4dn.2xlarge)
$5,665.00 (1year)
$11,787.00 (3year)
}}





***AWSアカウント [#a403a719]
awsサービスにアカウントを作成すると貰える. &size(10){クレジットカード番号も同時登録だけど};
このアカウントの配下に VPC(Virtual Private Cloud)、EC2(Elastic Compute Cloud)、S3(Simple Storage Service)らが置かれる.
それぞれの使用料金の支払い単位でもある.

&color(red){*};&size(10){「AWSアカウント」と「ルートユーザ」は同義?  ここでいう「ルートユーザ」は作成するEC2ノードのrootという意味ではない};

このawsアカウントはmailアドレスとパスワードでログイン可能なのだが、これは「&color(magenta){ルートユーザ};」ともいいawsの全部の操作を行える
mailとパスワードだけでは不安なので流行のMFA(Multi-Factor Authentication)を設けて安全を図ることが初めの仕事っぽい(二段階認証とか言われるあれ).
定義方法はAWSコンソールの右上AWSアカウント名をクリックして、そのプルダウンメニューから「セキュリティー認証情報」を選択する
&ref(2022y08m12d_075507787.png,nolink);

表示された項目から下記の「MFAの有効化」ボタンを押下します
&ref(2022y08m12d_075708602.png,nolink);

次に使用するデバイスを選びます。ここでは「仮想MFAデバイス」を選択しました。
&ref(2022y08m12d_080950039.png,nolink);

その後は、、、モバイルデバイスにMFAアプリ(&size(10){ここでは「[[DuoMobile>+https://play.google.com/store/apps/details?id=com.duosecurity.duomobile&hl=ja&gl=US]]」};)を入れて、ブラウザに表示された
二次元バーコードをそのFMAアプリに読み込ませて表示されるIDをブラウザに打ち込みとかで一応完成。
&size(10){スクリーンショットはなし};

***IAMグループ作成 [#xb89d982]

権限はユーザ毎に設けるか、グループに権限を付与して、ユーザを追加する方法

ここでは「&color(magenta){ルートユーザ};」と同じ権限を持つグループ「chaperone_Administrators」とそれ以外を作る
&ref(2022y08m17d_132534904.png,nolink);

ユーザ欄には何も登録背させず、権限としてポリシー名「AdministratorAccess」を与える
&ref(2022y08m17d_132607944.png,nolink);

っで完成すると下図のように一覧になる
&ref(2022y08m17d_132704152.png,nolink);


***IAMアカウント作成 [#f08531d7]
AWS Identity and Access Management (IAM)アカウント

awsには2種類のアカウントがある。「AWSアカウント(ルートユーザ)」と「IAMアカウント」。


前段の 「AWSアカウント」は最上位アカウント、なので常にAWSの各種サービスを設定るのではなく、子飼いのアカウントを作ってそれに作業をさせる。
各種操作は最上位権限でさせるのではなく、必要な分の権限を分けて作業させる.  &size(10){オラクルで言う所のGRANT文、windowsでのグループ権限とかでしょうか};

作成するIAMアカウント毎に権限を付与してもいいし、IAMロールを作ってそこに権限を設け、該当するIAMアカウントを入れて権限を持たせてもいい.

ただ、、権限の数が多い。EC2を作れるロール、VPCを設定・調整できるロールらを作る?  構築・利用目的に合わせた各種のロールを想定する必要があるみたい



IAMアカウントにも「MFAの有効化」を施せる


***監査証跡 [#fa08d92f]
他ユーザでaws側を操作するなら誰がいつ何を施したか?の記録はあった方がいいようでまずはそれを作成する
1

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS