Amazon Web Services

運用想定としては

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

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

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

上図では4台のec2が働く、そのアクセスはそれぞれ4つのグローバルIPが付与される. Elastic IPを使えばそれぞれ不変の固定IPが振れる.
運用としては

  • awsコンソールにアクセスして、利用者が使いたいec2を起動させて、sshアクセス、利用する
    コンソールへのアクセスは権限毎に用意して、起動、停止のみの権限でアクセスさせる
  • 終わったらコンソールからec2を停止させる

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


お金のお話

一応外向けec2を立てるとグローバルIPを渡してくれるけど、そのec2を再起動したらそのグローバルIPは変更される可能性がある
なら固定IPが貰える Elastic IP (EIP) を使えばいい.

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の構成は事前に調整が必要かも。

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アカウント

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

*「AWSアカウント」と「ルートユーザ」は同義? ここでいう「ルートユーザ」は作成するEC2ノードのrootという意味ではない

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

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

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

その後は、、、モバイルデバイスにMFAアプリ(ここでは「DuoMobile)を入れて、ブラウザに表示された
二次元バーコードをそのFMAアプリに読み込ませて表示されるIDをブラウザに打ち込みとかで一応完成。
スクリーンショットはなし

IAMグループ作成

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

ここでは「ルートユーザ」と同じ権限を持つグループ「chaperone_Administrators」とそれ以外を作る
2022y08m17d_132534904.png

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

っで完成すると下図のように一覧になる
2022y08m17d_132704152.png

IAMアカウント作成

AWS Identity and Access Management (IAM)アカウント

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

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

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

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

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

監査証跡

他ユーザでaws側を操作するなら誰がいつ何を施したか?の記録はあった方がいいようでまずはそれを作成する


トップ   編集 添付 複製 名前変更     ヘルプ   最終更新のRSS
Last-modified: 2022-08-24 (水) 09:48:24 (31d)