2020年5月22日金曜日
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
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によってスキャンされたデータ
|
PUT、COPY、POST、LISTリクエスト/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
|
(リリース前のため未確定)
|
(リリース前のため未確定)
|
(リリース前のため未確定)
|
(リリース前のため未確定)
|
(リリース前のため未確定)
|
AWS Baenstalk (wordpress作成)
1)ウェブサーバー環境選択
2)環境の設定
①環境名:入力する
②ドメイン:無記入にした
③今回、wordpressで使用する言語はphpなので指定した。
④コードのアップロード:wordpress本体(公式からダウンロードした)のソースコードをアップロードする。
⑤環境の作成を行う。
[作成中……]
3)デプロイミス(アップしたwordpress本体がzip形式じゃなかったのでエラーになる)
4)zip形式のwordpressをアップして再デプロイする
5)成功した。
6)デプロイ前に、設定に移動して、ソフトウェアの変更にて、以下の入力を行う。
ドキュメントルート:/wordpress
7)次に設定画面からデータベースの変更内にて、ユーザ名とパスワードの設定を行う。
8)DBが完成するまで待つ。
9)指定のURLに移動すれば、以下の画面が表示される。
10)以下、入力を行う。
①データベース名:データベース名を入力
②ユーザ名:設定画面からデータベースの変更で記載したユーザ名
③パスワード:設定画面からデータベースの変更で記載したパスワード
④データベースのホスト名:以下のエンドポイントを記載。
登録:
投稿 (Atom)
ローカルLLMでコーディングさせるポイント
簡単な指示で、依頼するとコンテキストオーバーで記憶喪失になって コードの内容が一致しないことが起こるので、work.mdみたいな作業メモを取らせたるのがよい 途中から、別スレッドに再実施する場合でも、work.mdが引き継ぎとして 参照して実施してくれるのがポイント
-
apk add openrc --no-cache [ 以下のように使えることが把握できる ] alpinelinuxのサービスの再起動コマンド: rc-service nginx restart
-
以下のログに表示されている、" network unreachable resolving"は IPv6に関するメッセージではあるが、基本的にIPv4しか使用していないため このメッセージを消したい時の対策を以下に示す。 上記は、IPv4での名前解決...





































