[GCP] GCS(cloud storage)を使ってみよう

### Basic
– GCS : GCPが提供するストレージ
– バケット : データを格納するコンテナ、ロケーションやストレージクラスの設定が可能
– オブジェクト : GCSに保存する個々のデータ
– ストレージクラス : Multi-Regional, Regional, Nearline, Coldine
– ライフサイクル : 有効期限、アーカイブ、コスト管理などができる

### 1. バケット作成

img upload

permissionはpublic accessになってますね。。
なるほど、まあ割と簡単ですね。続いてSQLを使いたい。

[GCP] シンプルな設計

もっともシンプルな設計は、projectの中にGCEがあるって状態

さて、ここからどうするか
-> ひとつひとつサービスを触っていく
-> Google App Engineはマネージドサービス、Cloud Runはコンテナ基盤、Firestoreはno sql, Cloud SQLはRDS, kubernetisはGKE
-> GCEからCloud SQLに接続する場合はVPCを経由する
-> LBはcloud loadbalancer
-> 監視、ログ集計、CDNのほか、BigQueryなども充実

まずはGCPのストレージからか..GCS(Google Cloud Strage)からか…

[GCP] ローカル(mac)からGCEにCyberduckで接続したい

$ ssh-keygen
-> .ssh/id_rsaと.ssh/id_rsa.pubが生成される

Setting -> Metadata -> SSH Key -> addItem -> add Public SSH Key
L id_rsa.pubを貼り付ける

### コマンドラインから接続
$ ssh ${ExternalIP} -i id_rsa
->
mac@instance-1:~$

### Cyberduckから接続
同様に、ExternalIPに対して、SSH Private Keyを、.ssh/id_rsaで設定して接続

きたあああああああああああああああああああああ
ここまできたらGCEの3割ぐらいは前進したかな
大満足🥺 後はデプロイ周りとネットワーキング、ELB

[GCP] SDKをインストールしてコマンドラインからログインしたい

$ cat /etc/lsb-release
DISTRIB_DESCRIPTION=”Ubuntu 20.04.1 LTS”
$ python3 –version
Python 3.8.5
$ curl -O https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-363.0.0-linux-x86_64.tar.gz
$ tar -zxvf google-cloud-sdk-363.0.0-linux-x86_64.tar.gz
$ ./google-cloud-sdk/install.sh
$ ./google-cloud-sdk/bin/gcloud init
Your Google Cloud SDK is configured and ready to use!
$ pwd
/home/vagrant/gcp/

$ cd ~
$ sudo vi .bash_profile

source /home/vagrant/gcp/gcpgoogle-cloud-sdk/completion.bash.inc
source /home/vagrant/gcp/gcpgoogle-cloud-sdk/path.bash.inc

$ source ~/.bashrc
$ gcloud compute ssh instance-1

vagrant@instance-1:~$
$ python3 –version
Python 3.8.10
$ exit
logout
Connection to ***** closed

OK
あとはGCPへのデプロイとドメイン周りができれば基本的なところは通過

[GCP] GCEを起動したい

1. project
まず言語設定をEnglishにして、gce-testという

2. Compute Engine
VM InstancesでAPIをenableにする

3. Create Instance
Region: asia-northeast1(Tokyo)
Zone: asia-northeast1-a
Machine Series: E2(コストが安く、webサービス、業務アプリ、開発テスト用など) ※N2&N2Dは中規模むけ
Machine Type: e2-micro(2 vCPU, 1GB memory)
Boot disk: Ubuntu20.04LTS ※defaultだとDebianになっているので、 ubuntuに変更する
Access Scope: Allow default access
Firewall: Allow HTTP traffic
-> create
-> 設定した内容で作られているかinstancesのviewで確認できる

4. instance
internal IP: プロジェクト内部のIP
external IP: グローバルIP
sshをクリックすると、sshログインできる
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION=”Ubuntu 20.04.3 LTS”

なるほどー AWSでいうvpc, security group, subnet, igw, route tableとかの概念はないのかな…
次はコマンドラインから起動したい

[GCP] Python3 x google-cloud-speechで音声認識を実装する

GCPでCloud Speech-to-Text APIを有効化します。

GCPユーザの認証データの*.jsonを取得します。

audio.rawはこちらからお借りします。
https://github.com/googleapis/java-speech/tree/master/samples/install-without-bom/resources

$ pip3 install google-cloud-speech

main.py

import os
os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = "hpscript.json"
from google.cloud import speech
import io

def transcribe_file(speech_file):
	
    client = speech.SpeechClient()

    with io.open(speech_file, "rb") as audio_file:
        content = audio_file.read()

    audio = speech.RecognitionAudio(content=content)
    config = speech.RecognitionConfig(
        encoding=speech.RecognitionConfig.AudioEncoding.LINEAR16,
        sample_rate_hertz=16000,
        language_code="en-US",
    )
    response = client.recognize(config=config, audio=audio)

    for result in response.results:
        print(u"Transcript: {}".format(result.alternatives[0].transcript))

if __name__ == '__main__':
	transcribe_file('audio.raw')

$ python3 main.py
Transcript: how old is the Brooklyn Bridge

うーむ、なんだこれは

[GCP] GCEを使ってみる

defaultでDebianとなっている。

とりあえず、ubuntu20.04にしておく。
createすると、internal ipとexternal ipが作られる

connect sshを押下すると、ターミナルが自動で起動する。

$ sudo apt-get install nginx
external ipを叩く

なるほど、GCPだろうが何だろうが、OSは同じですね。
vpc, subnet, route tableに変わるようなものはあるのだろうか?
AWSと二刀流が良いですが、慣れるまでは実験的に使っていきたいですな。

[GCP] 入門1

GCPを使ってる企業が相当増えてる印象
AzureもMicrosoft系で開発してる企業は使っているがGCPほど広がっていない印象
むしろ、GCPを使えないと時代遅れになりそう

ということで、GCPを学ぶことにした。

### GCPの特徴
– Googleが運営
– Big Queryが優秀らしい
– App Engineは自動スケール
– Machine Learningも先行している

Google Cloud Shellで操作をする
Google Compute Engine (GCE) が、AWSでいうEC2
なるほど、GCEから始めたい