- Goal
- VSCODEから、GCEインスタンス(開発環境)に接続開発する
- そのとき、一応SSHのポートも変更する
- How
- gcloud SDK のインストール(詳細はカツアイ)
- GCE インスタンスを作成し、静的IPを割り当てる (詳細はカツアイ)
- ローカル端末で、Keyを作成する
ssh-keygen -t rsa -b 4096 -C "testUser" - GCEの設定画面で、Keyを貼り付け
- PORT:22での接続テスト
gcloudコマンド (静的IPの割当が不要。インスタンス名で接続できる)
gcloud compute ssh testUser@instance-1 --ssh-key-file ./test_rsa - GCEのOS上でのsshdのポート変更
5で接続した状態で、GCEの内部のsshd_configファイルの設定を変更する
sudo vi /etc/ssh/sshd_config
以下に、接続したいポート番号を追加
#Port 22
Port 22011
#AddressFamily any
そのあとに、サービスのRESTARTとSTATUSを確認
sudo systemctl restart sshd
sudo systemctl status sshd
確認して問題なければ、一旦GCEから抜ける - GCPのネットワークの設定でPORTの変更
以下のケースでは、22から22011へ変更 - ローカルから、SSHでアクセステスト
ssh testUser@34.67.184.203 -p 22011 -i ~/.ssh/test_rsa - config の設定を加えるとVSCODEのからアクセスできる
- 編集後記
GCEインスタンスの開発なら、VSCODE+RemoteDevelopmentで開発して、Cloud Source Repositories へPushし、Cloud BuildでSTG環境と本番へデプロイが良いのでしょうか?
でも、GAEなら、Cloud Shell で開発して、Cloud Source Repositories+Cloud Buildもできて、それならどこでも開発できるとも思ったりします。
開発経験の少ない素人なので、良い方法が単純に知りたい・・・
Oracle Application Express Notes | Apps development Notes | Google Cloud Platform | Python | apps test | Cool Beans | English | Books
2020/06/06
GCP: Google Compute Engine にVSCODD 越しに接続する
2020/05/31
GCP: Cloud Source Repositories のソースを別プロジェクトにPUSH(コピー)する方法 on Cloud Shell
-
Goal
類似アプリを作成する必要があり、Cloud Source Repositoriesのソースを別プロジェクトのレポジトリにコピーしたい。
開発は、cloud shell 上で行っているので、そこでコピーする -
How
元のプロジェクト名: s001
新しいプロジェクト名: s002 とする
-
プロジェクトs002 に、新しいRepositoryを作成 --- GCPのコンソールで作成
-
以下、Cloud Shell上での作業
- 参考情報
レポへのリンクは以下から取れる - 編集後記
Cloud ShellとCloud Source Repositories に、加えてCloud Buildで、色々できるようになりたいが、まだ、調べるのに時間がかかりすぎ。。。
2020/05/06
GCP: Bigquery 関数でGROUP BYしようとするとエラーがでる --- bq
- Goal
Bigqueryで、Timestamp のデータをdate(日付)にグループ化&集計し、日付の新しいもの順にソートをしたい - How
例1) グループ化して集計は、OK
SELECT date(timestamp),count(1)
FROM xxxxxxxxxxx
GROUP BY date(timestamp)
例2) 日付の新しいもの順に並べようとしたら。。。
SELECT date(timestamp),count(1)
FROM xxxxxxxxxxx
GROUP BY date(timestamp)
ORDER BY date(timestamp) DESC
実行すると、エラー。。。SELECT list expression references column timestamp which is neither grouped nor aggregated at [1:13]
例3) 別名(alias)付けると、エラーはでない。
SELECT date(timestamp) as TARGET_DATE, count(1)
FROM xxxxxxxxxxx
GROUP BY TARGET_DATE
ORDER BY TARGET_DATE DESC - 編集後記
しょうもない事で、時間を潰してしまったので、メモ。。。
GROUP BYだけならOKで、ORDER BYを付けるとNG。
これって結構常識なんでしょうか?しらんかった。
ラベル:
Bigquery,
bq,
GCP,
Google Cloud Platform
2020/05/03
ファイルのバックアップ時に、ファイル名に時間を追加する -- Linux, dateコマンド
- GOAL
Linuxでファイルのバックアップ取るときに、日付情報を追記する - HOW
date コマンドを使う。
-> % ll
total 8
-rw-r--r-- 1 toshi staff 14B 5 3 00:49 testfile.txt
# Unix時間を追記する
-> % cp testfile.txt testfile.txt`date "+%s"`
-> % ll
total 16
-rw-r--r-- 1 toshi staff 14B 5 3 00:49 testfile.txt
-rw-r--r-- 1 toshi staff 14B 5 3 00:50 testfile.txt1588434625
# YYYYMMDDHHMMSSを追記する
-> % cp testfile.txt testfile.txt`date "+%Y%m%d%H%M%S"`
-> % ll
total 24
-rw-r--r-- 1 toshi staff 14B 5 3 00:49 testfile.txt
-rw-r--r-- 1 toshi staff 14B 5 3 00:50 testfile.txt1588434625
-rw-r--r-- 1 toshi staff 14B 5 3 00:51 testfile.txt20200503005117
# ハイフンでつなぐ -YYYY-MM-DDを追記する
-> % cp testfile.txt testfile.txt`date "+-%Y-%m-%d"`
-> % ll
total 48
-rw-r--r-- 1 toshi staff 14B 5 3 00:49 testfile.txt
-rw-r--r-- 1 toshi staff 14B 5 3 00:52 testfile.txt-2020-05-03
-rw-r--r-- 1 toshi staff 14B 5 3 00:50 testfile.txt1588434625
-rw-r--r-- 1 toshi staff 14B 5 3 00:51 testfile.txt20200503005117
2020/04/25
GCP: コンテナイメージから、GCEを立ち上げる方法 with Docker HUB -- GCP,GCE,docker
- Goal
- GCE(Google Compute Engine)に、コンテナイメージをDeployして立ち上げる。
- Dockerのイメージは、DockerHUBから持ってくる。
- How
- 準備:DockerHUBに、コンテナイメージを作成する。
①Github のrepositoryと、DockerHUBを連携させる
■連携の仕方
https://docs.docker.com/docker-hub/builds/link-source/
②ドットインストールのPHP環境のテストをしたかったので、Docker fileなどを取得し、DockerHUBと連携させたGithubのrepositoryへpushする。すると、自動でDockerHUBにイメージが作成される!
■Githubのレポジトリ
https://github.com/pumpkinpietea/dockerhub
■連携されたDockerhubのレポジトリ
https://hub.docker.com/repository/docker/pumpkinpietea/github
- GCPのコンソールでGCEインスタンスをコンテナイメージを利用して立ち上げる。
■コンテナイメージ名に docker.io/アカウント名/レポ名 を入力する
- イメージを作成し、SSHでつないで見る。
~$ docker ps
でコンテナIDを調べて
~$ docker exec -it コンテナ名 sh
で、コンテナの中に入れる - Thanks!!
- 編集後記
- PHPの勉強をしようとして、ドットインストールさんの講座をみて進めようとしたが、Dockerをローカルmacには入れたくないと思い、GCPのf1-microインスタンスを使おうを思って取り組んだ。普通にインスタンス立ち上げて設定しようかとおもったが、少し調べてみたらコンテナイメージをDeployできるみたいなので試してみた。
- GCE 1インスタンスで、 1コンテナとのこと。GKEの勉強しないと実業務には使えないかもしれないが、1インスタンスの開発環境の立ち上げとかには、。
ラベル:
Docker,
GCE,
gcloud,
GCP,
Google Cloud Platform
2020/03/22
ロジスティクス4.0 物流の創造的革新 (日経文庫) 小野塚 征志 ー 本
メモ
1.ドローンーーーwalmartの在庫管理・ドローンで写真撮りチェック、無人遠隔運搬船
2.棚搬送型ロボット(Kiva:ドライブ、日立:ラックル)と協調型ロボット(ローカス・ボット)
3.求貨求車システム:トランコム、HACOBU、ハコベル、ララムーブ(香港)
→水屋の減少
4.デジタルフォワーダー:フレックスポート
5.DHLのロジスティクスマネジメントシステム:荷主向けの物流システムプラットフォーム。DHL以外の物流会社への委託も可能
6.物流機能会社の統合:家電→日通、三井倉庫へ統合、食品→味の素の物流会社へ統合、飲料→アサヒ、サッポロ、キリン、サントリーの共同物流、化学業界も同様
※荷主業界を核としたロジスティクスプラットフォーマー
7.荷物の輸送量・距離は、トラック1台あたりの積載量が変わらない限り、ドライバーの投入工数に準じる。自動運転トラック、ロボット、マッチングシステムはそれを変える可能性がある。
8.高速は、隊列走行(自動運転)して、インターチェンジからドライバーが運ぶ
9.DHLとシスコの「Internet of Things in Logistics」
10.物流サービスを仕組み化し、広く多くの荷主・荷物を取り扱うことに成功した一部の「ロジスティクスプラットフォーマー」のみが高収益を獲得し、あとは下請けとなる
11.物流業界内の再編の加速:日立物流と佐川のような
12.荷主による物流ビジネスの展開:アマゾン=世界最大の物流会社、ロジスティクスカンパニー
13.次世代WMS:ロボットの操作、自動化された設備のコントロール
14.NY5番街 1900年:馬車しかいない。 1913年:車しかない。

1.ドローンーーーwalmartの在庫管理・ドローンで写真撮りチェック、無人遠隔運搬船
2.棚搬送型ロボット(Kiva:ドライブ、日立:ラックル)と協調型ロボット(ローカス・ボット)
3.求貨求車システム:トランコム、HACOBU、ハコベル、ララムーブ(香港)
→水屋の減少
4.デジタルフォワーダー:フレックスポート
5.DHLのロジスティクスマネジメントシステム:荷主向けの物流システムプラットフォーム。DHL以外の物流会社への委託も可能
6.物流機能会社の統合:家電→日通、三井倉庫へ統合、食品→味の素の物流会社へ統合、飲料→アサヒ、サッポロ、キリン、サントリーの共同物流、化学業界も同様
※荷主業界を核としたロジスティクスプラットフォーマー
7.荷物の輸送量・距離は、トラック1台あたりの積載量が変わらない限り、ドライバーの投入工数に準じる。自動運転トラック、ロボット、マッチングシステムはそれを変える可能性がある。
8.高速は、隊列走行(自動運転)して、インターチェンジからドライバーが運ぶ
9.DHLとシスコの「Internet of Things in Logistics」
10.物流サービスを仕組み化し、広く多くの荷主・荷物を取り扱うことに成功した一部の「ロジスティクスプラットフォーマー」のみが高収益を獲得し、あとは下請けとなる
11.物流業界内の再編の加速:日立物流と佐川のような
12.荷主による物流ビジネスの展開:アマゾン=世界最大の物流会社、ロジスティクスカンパニー
13.次世代WMS:ロボットの操作、自動化された設備のコントロール
14.NY5番街 1900年:馬車しかいない。 1913年:車しかない。
2020/02/11
GCP: gcloud コマンドラインで、GAEの全インスタンスを停止する --- GCP,GAE,shellscript,gcloud
・Goal
テストで作成したGAEの全サービスの全インスタンスをコマンドラインから削除・停止する。バージョン名等を指定せずに、どんどんデプロイすると稼働中のインスタンスが増える。それをコマンドラインで一気に全停止する。コンソール画面からだと、サービス毎/バージョン毎にプチプチと停止する必要があり面倒だった。。。
・How
これが基本形
~$ gcloud app instances delete [instance ID] -v [version] -s [service]
・Example
# step1 一覧で確認
~ $ gcloud app instances list
SERVICE VERSION ID VM_STATUS DEBUG_MODE
default master 00XXXXXXX N/A
test1 master 00XXXXXX1 N/A
test2 master 00686ff30 N/A
# step2 削除
~ $ gcloud app instances list | sed 1d | awk '{print $1, $2, $3}' | while read s v id; do gcloud app instances delete $id -v $v -s $s --quiet; done
Deleting the instance [default/master/00XXXXXXX].
Deleted [https://appengine.googleapis.com/v1/apps/---].
Deleting the instance [test1/master/00XXXXXX1].
Deleted [https://appengine.googleapis.com/v1/apps/---].
Deleting the instance [test2/master/00686ff30].
Deleted [https://appengine.googleapis.com/v1/apps/---].
# 説明
~ $ gcloud app instances list | \ # インスタンスのリストを出力
sed 1d | \ # 一行目をカット
awk '{print $1, $2, $3}' | \ # awk できれいにする。(この処理は不要・・・)
# 以下のハイライトの箇所で、順番に消していく。y/nを聞かれるので --quiet を追加
while read s v id; do gcloud app instances delete $id -v $v -s $s --quiet; done
テストで作成したGAEの全サービスの全インスタンスをコマンドラインから削除・停止する。バージョン名等を指定せずに、どんどんデプロイすると稼働中のインスタンスが増える。それをコマンドラインで一気に全停止する。コンソール画面からだと、サービス毎/バージョン毎にプチプチと停止する必要があり面倒だった。。。
・How
これが基本形
~$ gcloud app instances delete [instance ID] -v [version] -s [service]
・Example
# step1 一覧で確認
~ $ gcloud app instances list
SERVICE VERSION ID VM_STATUS DEBUG_MODE
default master 00XXXXXXX N/A
test1 master 00XXXXXX1 N/A
test2 master 00686ff30 N/A
# step2 削除
~ $ gcloud app instances list | sed 1d | awk '{print $1, $2, $3}' | while read s v id; do gcloud app instances delete $id -v $v -s $s --quiet; done
Deleting the instance [default/master/00XXXXXXX].
Deleted [https://appengine.googleapis.com/v1/apps/---].
Deleting the instance [test1/master/00XXXXXX1].
Deleted [https://appengine.googleapis.com/v1/apps/---].
Deleting the instance [test2/master/00686ff30].
Deleted [https://appengine.googleapis.com/v1/apps/---].
# 説明
~ $ gcloud app instances list | \ # インスタンスのリストを出力
sed 1d | \ # 一行目をカット
awk '{print $1, $2, $3}' | \ # awk できれいにする。(この処理は不要・・・)
# 以下のハイライトの箇所で、順番に消していく。y/nを聞かれるので --quiet を追加
while read s v id; do gcloud app instances delete $id -v $v -s $s --quiet; done
登録:
投稿 (Atom)