2020年5月22日金曜日

~/.bash_profileについて for Mac

簡単に言うと環境変数の設定を行う箇所を示す。


 ~/.bashrcや~/.bash_profileに、以下のコマンドを記述する。
①.bashrc
export PATH=$PATH:追加したいコマンド検索パス

②.bach_profile
export PATH=$PATH:追加したいコマンド検索パス

1)exportコマンドとは
①環境変数を表示すること
②環境変数を設定すること

export -pで、環境変数を表示できる。

Herokuのログイン方法

ローカル環境とHerokum側で連携が必要なので行う必要がある手順。
(作成した、Herokuのアプリに対して、一回行う必要があるはず。。。)


1)herokuにログインする。
heroku login

2)以下の表示が出たら、enterを押して、ブラウザ側で認証を行う。
heroku: Press any key to open up the browser to login or q to exit: [endter押す]

3)ブラウザが自動で起動して、以下のHerokuのページに
移動するので、Log in ボタンを押す。

4)以下の表示になったら、この画面を閉じても問題ない。

Heroku  for Laravel(postgres)

以下、Heroku larabel x postgresを導入した時の
検証レポートになる。


1)ローカルにLarabelをダウンロードする。
composer create-project laravel/laravel [フォルダ名] 5.5.* --prefer-dist
composer create-project --prefer-dist laravel/laravel laravel-mysql "5.5.*"

2)ダウンロードが出来たら、以下のディレクトリに移動する。
cd laravel-mysql

3)ログインを行う。
heroku login

4)以下を追加する。
vi Procfile
--------------------------------------------------------------
web: vendor/bin/heroku-php-apache2 public/
--------------------------------------------------------------

3)レポジトリをアップする。
①gitの初期化を行う。
git init

②作成した、Herokuの指定を行う。
heroku git:remote -a [作成したHerokuの名前]  

③ファイルの追加を行う。
git add .

④ファイルのコミットを行う。
git commit -am "make it better"

⑤ファイルをアップする。
git push heroku master


5)DBの追加を行う。
“Add-ons”の検索ボックスに「postgres」と入力すると
“Heroku Postgres”が表示されるので、こちらを選択。

6)DBのURL情報を確認する。
heroku config | grep CLEARDB_DATABASE_URL

見方:
postgres://[DB_USERNAME]:[DB_PASSWORD]@[DB_HOST]:5432/[DB_DATABASE]

環境変数(DB編  for pgsql):
heroku config:set DB_CONNECTION=pgsql
heroku config:set DB_HOST=[ホスト名]
heroku config:set DB_DATABASE=[データベース名]
heroku config:set DB_USERNAME=[ユーザー名]
heroku config:set DB_PASSWORD=[パスワード]

その他、環境変数:
heroku config:set APP_KEY=$(php artisan key:generate --show)
heroku config:set APP_ENV=heroku
heroku config:set LANG=ja_JP.UTF-8
heroku config:set TZ=Asia/Tokyo



7)マイグレーションの実施
①マイグレーションを行う。
heroku run php artisan migrate

②Yesを選択する。 ->マイグレーションの実行が行われる。


Heroku for Larabel(ClearDB MySQL )

1)ローカルにLarabelをダウンロードする。
composer create-project laravel/laravel [フォルダ名] “[バージョン]*”

記述例: 
composer create-project --prefer-dist laravel/laravel laravel-okage002 "5.5.*"
cd laravel-okage002


2)herokuのアプリを作成する。
heroku create [ユニークなアプリ名]
  
3)Herokuをリモートリポジトリとして、登録を行う。
heroku git:remote -a [アプリ名]
heroku git:remote -a polar-woodland-13541  

4)以下を新規で、ファイルを追加する
vi Procfile
---------------------------------------------------------------
web: vendor/bin/heroku-php-apache2 public/
---------------------------------------------------------------

5)文字コードの編集
vi /larabel/config/database.php

以下の箇所を修正する。

6)gitコマンドを実行する。
git init
git add .
git commit -am "make it better"
git push heroku master

7)DB作成を行う。
heroku addons:add cleardb

8)作成したDBのsってい情報を確認する。
heroku config | grep CLEARDB_DATABASE_URL

9)環境変数の登録を行う。
記述例:
heroku config:set DB_HOST=heroku_501549d6efd5581
heroku config:set DB_HOST=us-cdbr-iron-east-02.cleardb.net
heroku config:set DB_DATABASE=heroku_501549d6efd5581
heroku config:set DB_USERNAME=b28e4e060a4c06
heroku config:set DB_PASSWORD=9e6e348f

10)その他、環境変数
heroku config:set APP_KEY=$(php artisan key:generate --show)
heroku config:set APP_ENV=heroku
heroku config:set LANG=ja_JP.UTF-8
heroku config:set TZ=Asia/Tokyo

11)マイグレーションを実行する。
heroku run php artisan migrate

インスタンスの削除について

①削除対象のインスタンスを選択
②アクションを押す
③インスタンスの状態を選択
終了を選択。

備考:
インスタンスの状態がterminatedになって削除完了。

AWS  EC2インスタス作成方法について

1)AWSのマネジメントコンソールにログインする。

EC2を選択する

2)以下のインスタンス作成を選択する。

3)ひとまず、無料枠のクイックスタートを選択。

4)対象となるインスタンスを選択する。
例として、無料枠を選択にする。


5)詳細設定を行いたいので、[次の手順:インスタンスの詳細設定]を選ぶ。


以下、インスタンスの詳細画面

①インスタンス数:複数のインスタンスを作成可能。
②Auto Scaling グループに作成する:まあ使いわないかな。
③ネットワーク:
④サブネット:優先割り当てなし(アバイラリティのデフォルトサブネット)
    ->上記のデフォルトのままで良いと思う。
⑤自動割り当てパブリックIP:サブネット設定を使用(有効)
 ->上記のデフォルトのままで良いと思う。
Elastic Inference:GPUを利用した処理能を活用した場合は、(AI学習利用)で使いたい場合には有りかな
    ->汎用では不要っぽい気がする。

サクッと作りたい場合:

1)”確認と作成を選択する。

2)確認と作成を選択

3)初回なので、キーペア作成を求められる。
①新しいキーペアの作成を選択する
②キーペア名を適当に記載する。
キーペアのダウンロードを押す。


4)押すことにより先ほど作成したokay-test.pemファイルが作成されるので
安全な場所に保管する。

5)インスタンスの作成を行う。


現在、インスタンスの作成している状態。

ということで、完成



インスタンスについて

インスタンスの参照方法

[インスタンスファミリー]
①T[ ]  /M[ ]  : 
汎用 ->CPU・メモリ・ネットワークの各リソースのバランスが良い
②C[ ]  : 
コンピューティングに最適化
③R[ ] /X[ ]  : 
メモリ最適化  ->メモリが大きいタイプなので、大規模なアプリケーションやDB(特にインメモリDB)サーバ用   
④P[ ] / G[ ] /F[ ]  :
 高速コンピューティング ->GPU搭載型のインスタンス
⑤H[ ] / I[ ] / D[ ]:ストレージ容量が大きいタイプ

注意:
インスタンススペックの変更には、システム停止が必要。


[インスタンス種類 例:]
汎用:
t2.nano
m5.large
m4.large
m3.medium

コンピューティング最適化:
c5.large
c4.large
c3.large        

メモリ最適化:
x1e.xlarge
x1.16xlarge
r4.large
r3.large

高速コンピューティング:
p3.2xlarge
p2.xlarge
g3.4xlarge
f1.2xlarge

ストレージの最適化:
h1.2xlarge
i3.large
d2.xlarge

インスタンスサイズとは:  
スペックを指す。


[AWS  RDS]
汎用 :
T3 /T2 /M5 /M4( 汎用向け)

T3
 ->T3 インスタンスはバランスの取れたコンピューティング、メモリ、およびネットワークのリソースを提供し
使用中に一時的なスパイクが生じる中程度の CPU 使用率を持つデータベースワークロード向けに設計されています。

T2  [無料枠対象]
 -> T2 インスタンスは、マイクロサービス、テストおよびステージングデータベースなど
さまざまなデータベースワークロードに適しています。

M5
->バランスの取れたコンピューティング、メモリ、およびネットワークのリソースを提供し
さまざまなデータベースワークロードに適しています。

M4
->オープンソースまたはエンタープライズアプリケーション用の小規模および中規模データベースを含む
さまざまなデータベースワークロードに適しています。


メモリ最適化:
R5 /R4 /X1e /X1 /Z1d(ハイパフォーマンス向けかな)

R5
->R5 インスタンスは R4 と比較して GiB ごとの価格が 10% 低く
CPU パフォーマンスも最大 20% 高くなっています。

R4
->メモリ負荷の高いデータベースワークロード向けに最適化されており
RAM GiB あたりのメモリ価格が R3 よりも安価です。

X1e
->X1e インスタンスは、Amazon RDS のインスタンスタイプの中でも 
RAM 1 GiB あたりの価格が最も低いインスタンスのひとつです。

Z1d
->クラウドインスタンスの中で最も高速で、コア単位のライセンス費用が高い
リレーショナルデータベースワークロードに最適です。



Amazon S3:

ストレージタイプ比較
ストレージクラス
概要
標準
デフォルトのストレージクラス
標準-IA
S3 標準に比べオブジェクト格納料金が安価。ただしデータの読み出しに対して課金あり
Intelligent-Tiering
コストの異なる低頻度/高頻度の2階層ありオブジェクト別にアクセス頻度に応じて自動で階層移動。30日間アクセスがないオブジェクトは低頻度層に移動し、アクセスがあると自動的に高頻度層に移動
1ゾーン-IA
S3 標準-IAよりも安価。データの冗長率が低く、またデータの読み出しに対して課金あり
Glacier
とても安い(S3標準と比較しデータ格納料金は1/5)だがデータの読み出しに課金および数分~数時間がかかる
Glacier Deep Archive
S3 Glacierより安く最も低コストだがデータの読み出しに課金および長時間(12時間以内)かかる

リクエスト料金は以下の通りです。
ストレージクラス
S3Selectによって返されたデータ
S3Selectによってスキャンされたデータ
PUTCOPYPOSTLISTリクエスト/1000リクエスト毎
他リクエスト/1000リクエスト毎
データ取り出し
標準
$0.0008/GB
$0.00225/GB
$0.0047
$0.00037
-
標準-IA
$0.01/GB
$0.00225/GB
$0.01
$0.001
$0.01/GB
Intelligent-Tiering
$0.0008/GB
$0.00225/GB
$0.0047
$0.00037
-
1ゾーン-IA
$0.01/GB
$0.00225/GB
$0.01
$0.001
$0.01/GB
Glacier(例:スタンダード版)
$0.005/GB
$0.0092/GB
$0.0571
$0.0571
$0.011/GB
Glacier Deep Archive
(リリース前のため未確定)
(リリース前のため未確定)
(リリース前のため未確定)
(リリース前のため未確定)
(リリース前のため未確定)


Beanstalk for Auto Scaling

Auto Scalingグループ:
①環境タイプ:負荷分散
②インスタンス:最小1 最大:3  <---スケーリングする数を指定する


AWS Baenstalk (wordpress作成)

1)ウェブサーバー環境選択

2)環境の設定
①環境名:入力する
②ドメイン:無記入にした
今回、wordpressで使用する言語はphpなので指定した。

④コードのアップロード:wordpress本体(公式からダウンロードした)のソースコードをアップロードする。
環境の作成を行う。

[作成中……]

3)デプロイミス(アップしたwordpress本体がzip形式じゃなかったのでエラーになる)

4)zip形式のwordpressをアップして再デプロイする

5)成功した。


6)デプロイ前に、設定に移動して、ソフトウェアの変更にて、以下の入力を行う。

ドキュメントルート:/wordpress


7)次に設定画面からデータベースの変更内にて、ユーザ名とパスワードの設定を行う。

8)DBが完成するまで待つ。


9)指定のURLに移動すれば、以下の画面が表示される。


10)以下、入力を行う。
①データベース名:データベース名を入力
②ユーザ名:設定画面からデータベースの変更で記載したユーザ名
パスワード:設定画面からデータベースの変更で記載したパスワード

データベースのホスト名:以下のエンドポイントを記載。




ローカルLLMでコーディングさせるポイント

 簡単な指示で、依頼するとコンテキストオーバーで記憶喪失になって コードの内容が一致しないことが起こるので、work.mdみたいな作業メモを取らせたるのがよい 途中から、別スレッドに再実施する場合でも、work.mdが引き継ぎとして 参照して実施してくれるのがポイント