2020年5月20日水曜日

接続状況の確認(Linuxコマンド)

接続状況確認:
netstat -ap | grep "LISTEN "
netstat -ltupn


①netstat(ss)
netstat又は、 ssコマンドで、現在開いているポートを一覧表示することができる。
オプション
説明
-l
Listenしているポートのみ表示
-t
TCPを表示
-u
UDPを表示
-n
ポートやホストを数値で表示
-p
ポートを開いているプロセスを表示(sudo
-4
IPv4のみ
-6
IPv6のみ


②数秒間隔で更新される(接続数を確認できる)
watch -d -n 1 "netstat -an |grep :80 |wc -l"
sudo watch -d -n 1 "netstat -plan|egrep ':(80|443) '|awk {'print $5'}|sed -e 's/:[^.]*$//'|sort|uniq -c|sort -nk 1"


Container Registryへ登録手順

gcloudコマンドのインストール方法は割愛。


Container Registryへpushする方法:
1)作成したdockerfileのpushを以下のコマンドで実施。
gcloud builds submit --tag gcr.io/プロジェクトID/helloworld

例:
/Users/user/Downloads/google-cloud-sdk/bin/gcloud builds submit --tag gcr.io/test-xxxxxxx/helloworld

参照先:



デプロイする方法:
(cloud runからイメージ指定して利用する場合は、以下の手順は、不要)

gcloud beta run deploy --image gcr.io/プロジェクトID/helloworld

GCP cloud run (push 手順)


1)登録する
docker tag quickstart-image asia.gcr.io/test-xxxxx/quickstart-image:tab1


2)container registryにpush
docker push asia.gcr.io/test-xxxxx/quickstart-image:tab1

CloudWatch(swap usage)

以下の値を入力する。

[メトリクス]
①メトリクス名:SwapUsage(デフォルト)
②DBInstanceIdentifier:対象のRDS名

[条件]
①しきい値の種類:静的
②SwapUdageが次の時:以上
③よりも:160000000(160MB)
(設定の目安は、物理メモリー搭載量の1割にする)
次へを押す。

[アラーム状態トリガー(アラーム状態の場合)]
アラート状態トリガー:アラーム状態
SNSトピックの選択:既存のSNSトピックを選択
通知の送信先:test1

[アラーム状態トリガー(OKの場合)]
アラーム状態トリガー:OK
SNSトピックの選択:既存のSNSトピックを選択
通知の送信先:test1


アラーム作成を押す

作成したアラートを選択


ボッシュボードに追加を選択

選択項目がないようなら、新規作成



RDSの削除手順

[実施前に確認]
実施前に対象のスナップショットが作成されてない場合、取得しておくこと!

[実施手順]
1)RDSの管理画面により、削除対象のDBを選択する。
2)アクションメニューから停止を選択する。

3)重要:DBインスタンスxxxxxxxを今すぐ停止してよろしいですか?の内容を、削除対象のDBであるか確認を行うこと!
4)スナップショット の作成? ->いいえを選択する
5)はい、今すぐ停止します。を押す

6)停止中の様子

7)停止していること確認する

8)削除対象のDBを選択してからアクションメニューから削除を選択する


9)重要:DBインスタンス xxxxxx を削除してよろしいですか?の内容に記載されてるDBが削除対象のDBであること!
10)最終スナップショットを作成しますか? ->チェックを外す
11)Retain automated backup ->チェックを外す
12)インスタンスの削除後、システムスナップショット xxxxx利用不可になることを了承しました。 ->チェックする
13)Delete me と記載する
14)削除ボタンを押す


以下の正常に削除されましたという表示されていることを確認




スナップショットのアカウント間の複製(移動)

参照先:
メソッドさんの検証レポート:


スナップショットの複製:
(AWS_アカウントAにログインする。)

1)システムタブより、対象のスナップショットを選択する。



2)新しいDBスナップショット識別子を入力する。
3)スナップショットをコピーを押す

4)手動タブに上記のスナップショットが作成されていることが把握できる。


スナップショットを他のアカウントへ共有手順:
(AWS_アカウントBにログイン)

1)RDSの管理画面に推移後に、スナップショットを選択する。

2)対象のスナップショットを選択する。
3)アクションメニューからスナップショットの共有を選択

4)以下、設定を行う。
DBスナップショットの可視性:
●プライベート
注意:パブリックにすると、他人に晒すことになるので行わないこと!!
AWSアカウントID:
5)追加を押す。

捕捉:
最大20 個までの AWS アカウントにスナップショットを共有できます。
6)保存を選択します。

捕捉:
AWS アカウントとのスナップショットの共有を停止するには、[スナップショットアクセス許可の管理] ペインで、
アカウント ID の隣にある [削除チェックボックスをオンにし、[保存を選択します。


インポート作業:
1)RDSの管理画面に移動する。
2)RDSダッシュボードからスナップショットを選択
3)復元対象のスナップショットを選択
4)アクションメニューよりスナップショット復元を選択することで、リストアを行います。



2020年5月19日火曜日

max_heap_table_sizeを調べる方法

以下のコマンド投入して確認できる。
SHOW GLOBAL VARIABLES;


max_heap_table_size:
一時テーブルに使われている MEMORY ストレージエンジンの最大サイズのパラメータです。
チューニングの際に tmp_table_size だけを変更して反映されないと嘆いている場合は、max_heep_table_size を
同様の数値にしてみる事で解決する可能性が高いです。

max_heap_table_sizeの調べ方:
SHOW GLOBAL VARIABLES LIKE 'max_heap_table_size';

nnodb_buffer_pool_sizeを確認する方法


innodb_buffer_pool_sizeを確認する方法:
MySQLのinnodb_buffer_pool_sizeは、ディスクイメージをメモリ上にバッファさせる値をきめる設定値で
この設定が、いかにディスクIOを押さえるかに繋がったりするので、コストパフォーマンス向上を
考えるうえで重要な設定になる。

SHOW VARIABLES LIKE "innodb_%_size";

slow_query_logの確認方法

以下、コマンドを投入する。
SELECT * FROM mysql.slow_log;


tmp_table_sizeを調べる方法

以下のコマンド投入して確認できる。
SHOW GLOBAL VARIABLES;


tmp_table_sizeの調べ方:
SHOW GLOBAL VARIABLES LIKE 'tmp_table_size';

テーブルの検索方法

"t"で始まるテーブルを検索する場合
show tables like 't%';

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

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