2023年10月20日金曜日

EC2でサーバを立ち上げてクラウドシェルで接続

これはオペレーティングシステムの内容です。 


1.EC2の画面からインスタンスを起動から下記を入力

 名前:OS02


 新しいキーペアの作成
  キーペア名:OS02
  この時、作成するとPCへダウンロードが行われます(PCのダウンロードフォルダを確認してください)
 ネットワーク設定
  インターネットからのHTTP、HTTPSトラフィックの許可にチェックをつける
  
 インスタンスを起動をクリック

 インスタンス一覧に戻り、
 サーバのステータスが初期化しています->起動になったら、下記を行う(時間がかかります)。



2.クラウドシェルを起動

 アップロードファイルから、OS02.pemをアップロードする

 サーバを選択し、接続ボタンをクリック
  

 インスタンスに接続内のSSHクライアントの
   3(キーの権限変更)、一番下のssh -i ***** をクラウドシェルにコピペして接続
   下記のような画面が出ていたら接続できています。




3.シャットダウンする場合
クラウドサーバ自体をシャットダウンする場合「インスタンスを終了」を選択し、「終了」を選択




4.AWS academyの終了方法
 起動させた時の画面でEnd Labをクリック






2023年10月9日月曜日

windows11でのWSL2インストール方法

 1. Microsoft Storeにアクセス


2.「wsl」と検索し、Windows Subsystem for Linuxを入手


3.インストールが完了したら、PowerShellを管理者権限で開く
 このアプリがデバイスに変更を加えることを許可しますか?には[はい]を選択


4.PowerShellで以下のコマンドを実行する
・wslをアップデートする
  wsl --update
・インストールできるバージョンを一覧で表示する
  wsl --list --online
 • Ubuntu 22.04をインストールする
  wsl --install -d Ubuntu-22.04
 
※もしここで「指定されたファイルが見つかりません」のエラーが出た場合は、下部のエラーが出たら?を確認してください

インストールが完了すると、ユーザ名の入力が求められますが、何も入力せずに✖️を押してPowerShellを閉じてください。


5.Windows Subsystem for Linuxを開いて下記の画面のようにrootでログインしていることを確認
 root@<コンピュータ名> が表示されていればOK


6.Ubunts OSのアップデート
 下記のコマンドを実行
   apt update

   apt upgrade
 
   続けるかどうか聞かれたら、Yを入力(小文字でも可)

これにて完了です。


もしエラーが出たら?
確認1
 PC設定内のWindowsの機能の有効化にてWindows Subsystem for Linux(Linux用Windowsサブシステム)を有効にする

確認2
 一度、PowerShell(管理者権限)でWSLの登録を解除する
・今登録されているWSLを表示する
 wsl -l
・一度対象のWSLを解除する
 wslconfig /u <OS名>
  例:wslconfig /u Ubuntu-22.04
 
以上

参考
https://qiita.com/kawauso5/items/9b8e64cc1a2421f8c4fc 
https://qiita.com/matarillo/items/61a9ead4bfe2868a0b86 
  







2023年7月5日水曜日

AWS Lambda(3) : Lambdaで2引数の和を計算する関数を作成

 AWS RDSのDBに情報を入れるためのLambda関数を準備します。lamdaはデータの入出力は、json形式で行われます。

[lamdaに渡されるデータ例]

[Lamdaから返すデータ例]

(1) Lambdaで関数を作成します。

関数名:sum-function、ランタイム:python 3.10



Deployボタンを押して、変更を反映させます。
Testを実行します。数値にはクオートは入らないので注意してください。

テストを実行します。

(2) API gatewayを設定しAPI化
API化:あるURL(AWS)にPOSTされたら、実行するようにしていきます。API Gatewayを開いて、REST APIを作成します。


POSTメソッドを作成します。
Lamda実行権限を与える はOKを押します。
APIをデプロイします。


(3) Postmanからテスト
Postmanをインストールしておきます。https://www.postman.com/
試すだけならアカウントは要りません。
Postmanで内容を入れてテストを行います。
値が返ってきていれば、これでAPIが作成できました。数値を変更しても動くことを確認してください。

AWS Lambda(2) : Lambdaを使ってRDSに情報を格納するDB準備

 Lambdaを使って処理した情報をRDSに格納していくために、AWS RDSにDBを立てて準備をしていきます。

(1) RDSにDBサーバを立てておく

AWS Academyの「データベース設定(モジュール中のデモ) : デモンストレーション [Demo] - Amazon RDS」を参考にDBサーバを立てます(MySQL互換性のAurora)。public アクセスを許可し、その後は基本的に指示通りに立てておきます。接続ができるように、セキュリティグループのインバウンドに入っているものを一旦削除して、改めて3306ポートが通るように設定しておくと良さそうです。

(2) AWS CloudShellで接続

ページ上の方から、AWS CloudShellを起動して、DBに接続していきます。接続には、以下のページを参考にします。ライターインスタンスに接続します。

MySQL データベースエンジンを実行している DB インスタンスへの接続

https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/USER_ConnectToInstance.html

エンドポイントを確認して、コマンドで接続していきます。
[cloudshell-user@ip-10-2-48-179 ~]$ mysql -h エンドポイント名 -P 3306 -u admin -p
無事ログインできると、次の画面になります。

(3) テーブルの作成
ログインしたら、起動時に作成した「database_1」というデータベースがあるかを確認します。

このデータベースの中に、「sumfunction」というテーブルを作成します。
CREATE TABLE sumfunction (
  id int NOT NULL PRIMARY KEY AUTO_INCREMENT,
  data1 double NOT NULL,
  data2 double NOT NULL,
 result double NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

テーブルも作成して、DBの準備ができました。

このテーブルにLambdaから処理した情報を入れていきます。その前に、SQL文でレコードを入れて確認をしてみます。

insert into sumfunction (data1, data2, result) values(2.0, 4.2, 6.2);