/// BANGBOO BLOG ///
■21/12/25 5:46PM
リンク鐔??合組合
シンプルで軽量! 新しいCSSリセット「The New CSS Reset」を作成したElad Shechterにインタビュ繝? | コリ繧? (coliss.com)
【2021年版】おすすめのリセットCSSまとめ!基本と使い方の解説も | Web Design Trends (webdesign-trends.net)
【2021年版】リセットCSSのガイドライン・??基軆??から使い方を徹藹??解説 - WEBCAMP MEDIA (web-camp.io)

新しい日本鐔??フォントがた縺?さんリリースされてる! 2021年、日本鐔??の新臀??フリーフォントのまとめ | コリ繧? (coliss.com)
2022年用、日本鐔??のフリーフォント573種饅??のまとめ -商用サイトだけでなく紙や同人鐔??などの利用も譏?記 | コリ繧? (coliss.com)


BigQueryにおけるポリシータグを用いた秘密情報管理とデータ連携の臀??組縺? - ZOZO TECH BLOG
【新觸??能】Google Cloud 純正の觸??成図ツー繝? Architecture Diagramming Tool が発表されました | DevelopersIO (classmethod.jp)
[B! 技術] とりあえずWebサービス臀??る時の軆??の技術選藹??ポイント (hatena.ne.jp)


----------------

Live縺?Pushを使用した音楽制臀?? | Ableton
ABLETON LIVE 特集|サウンド繝?ウ繧? (soundhouse.co.jp)
製品情報・??APC40:AKAI professsional (akai-pro.jp)

音楽制臀??に弾みをつけて縺?れる無料オンラインツール・??0驕? | LANDR Blog
signal - Online MIDI Editor

最近こういう奴藹??いよな、なんか命令とか藹??けとんのか、カミカゼけ

Comment (0)

■21/6/9 12:01AM
k8s
全て想蜒?ですが
読み方はケーツと読みます、半端ねーてす、あるいは半端ネー繧?

ケツが扱う最蟆?単位がPod縺?1つの觸??能を持つ・??Pod縺?1つ以上のコンテナを含む)
ReplicaSetは鐔??数縺?Podを組み合繧?せてアプリを実現する(Podの数の管理機能・??
Deployment縺?ReplicaSetを管理、アップデートの際は新鐔??ReplicaSetを作成してバージョン更新を行う(Podのデプロイ管理機能・??
Service縺?Deploymentに対し縺?IPアドレスやLBを設藹??してサービス觸??供する(Podへのアクセス管理機能・??
クラスター縺?Serviceが複数動縺?環藹??、少な縺?とも1つ縺?Master(node)と鐔??数縺?Nodeから構成され
 Nodeはコンテナを動かす為のサーバ、Master縺?Nodeを管理しスケジューリングやオートスケールを行う
 (非マネージドなら単一障害点にならないようマルチMaster3台が一般的)
cluster > namespace > node x workload (pod, <複謨?pod:deployment, job, statefulset>, <全て縺?node縺?pod:deamonset>)
 namespaceは鐔??理的な分離、node poolは物理繝?ード・スケーリング管理
■ケツリソース臀??隕?
Node:Kubernetes クラスタで藹??行するコンテナを配置するためのサーバNamespace:Kubernetes クラスタ内で臀??る仮想的なクラス繧?Pod:コンテナ集合体の単位で、コンテナを実行する方觸??を定義するReplicaSet:同じ仕様縺?Podを複数生成・管理するDeployment:Replica Setの臀??代管理をするService:Podの集合にアクセスするための軆??路を定義するIngress:Service を Kubernetes クラスタの藹??に公開するConfigMap:情報を定義し、Podに臀??給するPersistentVolume:Podが利用するストレージのサイズや種別を定義するPersistentVolumeClaim:PersistentVolumeを動的に確保するStorageClass:PersistentVolumeが確臀??するストレージの種類を定義するStatefulSet:同じ仕様で臀??諢?性のあるPodを複数生成・管理するJob:常饅??目的ではない複数縺?Podを作成し、正常終了することを保証するCronjob:cron記法でスケジューリングして藹??行されるJobSecret:認証情報軆??の觸??密データを定義するRole:Namespace 内で操作可能縺? Kubernetes リソースのルールを定義するRoleBinding:Role 縺? Kubernetes リソースを利用するユーザーを紐づけるClusterRole:Cluster 全臀??で操作可能縺? Kubernetes リソースのルールを定義するCluster RoleBinding:ClusterRole 縺? Kubernetes リソースを利用するユーザーを紐づけるService Account:Pod縺? Kubernetes リソースを操作させる際に利用するユーザ繝?
流れ Dockerfile(設藹??)とアプリをdocker build/pushし Dockerレジストリ縺?Dockerイメージを作成 GKEにデプロ繧?(deploymentファイ繝?.yml/serviceファイ繝?.ymlをkubectrl create/apply:manifest)  レプリケーションコントロー繝?:Pod数、オートスケールをdeployment fileで設定  サービス藹??義・??繝?ード縺?proxyデーモンが複謨?Podに鐔??荷分謨?   繝?ードがクラスタ内縺?Pod同士に振分けるクラス繧?IP LBが振分ける外驛?IPを設藹??K8s クラスタリング・??複数サーバを束ねる)  コールドスタンバイ、ホットスタンバイ・??フェイルオーバ)   オーケストレーション窶?NW、Storage、スケジュール、IP、ルーティング、負荷分散、監鐔??、デプロイ・??ローリングアップデート) 構成  マスターサーバ(コントロールプレーン・??←kubectrl
   etcd(DB:kvs形藹??縺?config=マニフェスト、デプロイメントとサービス軆??を記述・??  レジストリサーバ(コンテナレジストリ・??GCSに臀??存)
  ↓  ワーカー繝?ード>Pod>コンテナ(webサーバ)、コンテナ(ログ藹??集)、仮諠?NIC  ワーカー繝?ード、ワーカー繝?ード窶?GKE コンソールで設定+kubectrl  コンソール・??GCE、ストレージ、タスクキュー、BQ、cloudSQL、cloudDataStore、cloudソースレポジトリ、StackDriverLogging、StackDriverMonitoring、StackDriverTrace、CloudPlatform、BigTable、Pub/Sub、サービスコントロール、サービス管理
※コンソールだけ縺?kubectrl無しでイケそう
 クラスタ臀??成>ワークロードでコンテナデプロイ、あるいは直接デプロイで簡易でイケる
 クラスタ臀??成をすると臀??般公開で承鐔??NW、あるいは限定公開、はたまたIP範囲とか詳細を決められる
■流れ
 GKEでクラスタを作成
 Kubectrlをインス繧?
 Kubectl縺?Podを立ち臀??げ>Deploymentができる、複謨?Podの起動も Kubectlでサービス公開設藹??
【GCP入門編・第7回】Google Container Engine (GKE) で縺? Docker イメージの軆??ち臀??げ譁? | 株藹??会社トップゲート (topgate.co.jp)

 サービスアカウント作成
 ネームスペース、kubeサービスアカウント作成
 Yamlで觸??能を宣鐔??しKubectlでデプロ繧?

Pod(論理ホスト/インスタンスみたい縺?) 一諢?縺?IPが自動的に割り当てられる、Pod間縺?IPで通菫? Pod内のコンテナ縺?localhost:ポートで臀??いに通信、コンテナ間で共有するストレー繧? Podを直接作成は非推螂? CPU/メモリの最蟆?と最大を設藹??
k8s縺?secretリソー繧?(≒SA key)縺?Pw/Oauthトーク繝?/SSH key等を含むオブジェクト(base64エンコード生) 使う方觸??3種饅??:コンテナにマウント、コンテナの環藹??変数、Pod生成時にケツがpull  どこに置縺?か、どう暗号化するか、gitに置かない等の考慮が必要
別途記載がある
/// BANGBOO BLOG /// - GCP part2
/// BANGBOO BLOG /// - GKE

=========
時間の觸??かっていた処理をクラスタ觸??成で並列処理させて早く終繧?らすとか
ケツのツールを入れるとか、例え縺?Argoワークフローでデプロ繧?/デリバリ繝?/バッチスケジューラを動かす
 DAG:有向非巡回グラフのや縺?
=========
helmを入れる(kubectrlを使うローカル縺?)とチャート記述でデプロイができる
 テンプレートがありマニュフェスト記述からkubectrlあたりのデプロイを省力化できる
=========
master縺?workerで觸??成され冗長化を考慮すると最菴?master3台、worker2台・??のサーバ要るのでマージドが讌?
コンテナにはストレージを置かず外部に持たせた方が良いかも(ステートレスでファイルを保持しない)
DB縺?K8s上でな縺?マネージドサービスを使いたい
=========
VMからOSを抜いてアプリを入れたものがコンテナ、ドッカ―がOS以臀??を手配
Dockerがコンテナを管理、k8sがそ縺?Dockerをオーケストレーショ繝?複数台でまとめたクラスターで故障があっても切り替え可用性を保縺? そのクラスターをnamespaceで分割し複数チームで利用することも藹??稼働中にサーバ追加のスケールをしたりロールバックできるpod縺?IPを割り振ったり、DNS名を振ったり、負荷分散したり自動デプロイでコンテナイメージをサーバ群へ藹??開するDockerのホスト管理、コンテナのスケジューリング、ローリングアップデート、死活監鐔??、ログ管理等々Externalname>LoadBalancer>NodePort>ClusterIPマネージド以藹??ならk8s用にユーザ管理も必要Dockerはアプリイメージという感じ、それらを束ね管理するのがケーツKubernetesとは・??仕組みと觸??造を繧?かりやすく解説 - カゴヤのサーバー研究室 (kagoya.jp)Kubernetesとは臀??かを図で繧?かりやすく解説!Pod、Na…・??Udemy メディ繧? (benesse.co.jp)
ケツ縺?3か月ごとにアップデートされ知鐔??もアップデート必要だし、バージョンによって觸??能が変繧?り古いコードが動かないこともあり大藹??らしい

=========
↓実際のアプリがないとイメージ沸かん
クイックスタート: 言語に固有のアプリのデプロ繧?  |  Kubernetes Engine ドキュメント  |  Google Cloud
コンテナ化されたウェブ アプリケーションのデプロ繧?  |  Kubernetes Engine  |  Google Cloud
Cloud buildを使用してアプリをコンテナイメージにパッケージ化
GKEでクラスタを作成、コンテナイメージをクラスタにデプロ繧?
↓手始め?
GKE縺?nginxを外部アクセス可能にするま縺? - Qiita
Kubernetesでのコンポーネント間の通信をまとめる - Qiita
GCP におけるコンテナ入門 ~Kubernetes の臀??がすごい!? | クラウドエース株藹??会遉? (cloud-ace.jp)

GKE
[Click for image]
これはいいかも
Objectsについて知る - オーケストレーションツー繝? (y-ohgi.com)

GKEクラスタをコンソールで臀??成
NATを作成
Cloud shellを起動
k8s用の鐔??証情報を藹??得$ gcloud container clusters get-credentials <standard-cluster-1> --zone asia-northeast1-ak8sオブジェクトを表示$ kubectl get allnginx dockerイメージを起動$ kubectl run <handson> --image=nginx --port 80LBを作成しトラフィックを流す設藹??$ kubectl expose deploy <handson> --port=80 --target-port=80 --type=LoadBalancerサービスを表示(LBを見る)$ kubectl get serviceレプリカセットを表示$ kubectl get replicasetポッドを表示$ kubectl get podポッドを削髯?$ kubectl delete pod <handson-86f796b8b7-m68sr>nginxコンテナ3台を立てる$ kubectl run <handson-2> --image=nginx:1.14 --replicas=3ポッドの詳細情報を表示$ kubectl describe pod <handson-2-85dfb7fd88-wr58c>デプロイメントを表示$ kubectl get deploymentdockerイメージのバージョン藹??譖?$ kubectl set image deployment <handson-3> <handson-3>=nginx:1.15デプロイメントのレプリカセットの履歴を表示$ kubectl rollout history deployment <handson-3>$ kubectl rollout history deployment <handson-3> --revision=1デプロイメントのロールバック・??nginx:1.14に戻す)$ kubectl rollout undo deployment <handson-3>デプロイメントを削髯?$ kubectl delete deploy/<handson-2>サービスを削髯?$ kubectl delete service <handson>
マニフェストを作成(デプロイメントとサービス・??vi manifest.yaml apiVersion: apps/v1 kind: Deployment metadata:   creationTimestamp: null   labels:     run: handson-4   name: handson-4 spec:   selector:     matchLabels:       run: handson-4   template:     metadata:       labels:         run: handson-4     spec:       containers:       - image: nginx         name: handson-4         ports:         - containerPort: 80 --- apiVersion: v1 kind: Service metadata:   labels:     run: handson-4   name: handson-4 spec:   ports:   - port: 80     targetPort: 80   selector:     run: handson-4   type: LoadBalancerマニフェストを適藹??(nginx縺?LBが作成される)$ kubectl apply -f manifest.yamlマニフェストで藹??義したオブジェクトを削髯?$ kubectl delete -f manifest.yaml
Dockerfileの臀??成$ vi Dockerfile FROM google/cloud-sdk:latest COPY . /app RUN make app CMD python /app/app.pyDockerビルド$ docker build -t myapp .ビルドしたコンテナを起動$ docker run -p 3000:3000 myapphttp://localhost:3000 へアクセスして確認コンテナにタグ臀??け$ docker tag myapp asia.gcr.io/${prjid}/myappGCRの鐔??險?$ gcloud auth configure-dockerリポジトリ縺?Push$ docker push asia.gcr.io/${prjid}/myappデプロ繧?$ kubectl run myapp --image=asia.gcr.io/${prjid}/myapp$ kubectl expose deploy myapp --port=80 --target-port=3000 --type=LoadBalancerポッドを増やす$ kubectl scale deployment myapp --replicas=3確鐔??$ kubectl get all -l run=myapp
クラスタを削髯?$ gcloud beta container clusters delete standard-cluster-1 --zone "asia-northeast1-a" Dockerイメージの削髯?$ gcloud container images list --repository asia.gcr.io/${prjid}Dockerイメージの削髯?$ gcloud container images delete asia.gcr.io/${prjid}/<myapp>
GKEのクラスター縺?Connect>クレデンシャ繝?cmdが分かるgcloud contaier clusters get-credentials <clustername> --zone asia-northeast1-b --project unco そのコマンドを承鐔??済縺?NWの環藹??で藹??行するkubectl get pods -n <namespace> | grep xxx Podを特藹??したい、オプショ繝?nでネームスペース、-n無しだと現鐔??縺?NS、--all-namespacesで蜈?NSkubectl exec -it <podname> -n <namespace> -- /bin/bash これ縺?Podに入れるの縺? python xxx.py とかコマンド可閭?
さらにアクセスが必要ならkubectl config get-contexts コンテキスト一覧・??クラスタ、ユーザ、ネームスペースを組み合繧?せたもの・??を表示kubectl config use-context <コンテキスト名> コンテキスト切り替えkubectl port-forward service/<srv> 8080:80

 ポートフォワード先を設藹??別ターミナルを立ち臀??げcurl "http://localhost:8080/api/v1/namespaces/<namespace>/pods/<pod>"
curl --silent 127.0.0.1:8080 | head -n 10

Kubernetes API RESTのサブリソー繧?サブリソースとは通常のリソース縺? HTTP パスに追加でサフィックスを付荳?した特別縺? HTTP パ繧?Service proxy: /api/v1/namespaces/<namespace>/services/<scheme>:<service>:<port>/proxy/Pod のログを藹??得する: /api/v1/namespaces/<namespace>/pods/<pod>/logsPod のポートを転送する: /api/v1/namespaces/<namespace>/pods/<pod>/portforwardPod で任諢?のコマンドを実行する: /api/v1/namespaces/<namespace>/pods/<pod>/exe

コンテナ起動時窶? ステートレスな状態を維持する窶? スケールアウト可能なアーキテクチャにする窶? 設藹??は藹??部から注入できるようにする窶? ログは觸??準出力に觸??造化ログで出力する窶? いつでも容易に停止できるようにする窶? SIGTERM シグナルを繝?ンドリングする窶? コンテナ上には単一プロセスのみ起動する窶? ヘルスチェック用のエンドポイントを用諢?する窶? アプリケーションの状態を可観測にする窶? 起動時にアプリをダウンロードしない
=========================
ASM(anhtos service mesh) サービスメッシュでマイクロサービス間で適切な通信する マネージドな管理?監鐔??/デプロ繧?/イングレスセキュリティ・??コントロールプレーン・??
  DBやミドルウェアは藹??して別途管理が良いらしいAnthos Service Mesh を蟆?入、移鐔??、そして使いこなしてみよう全臀??の雰囲觸??GKEクラスタへ縺?Anthos Service Meshの藹??蜈? (zenn.dev)サイドカープロキ繧? ASMがGKE本臀??に蜜結合することな縺?プロキシとして全てのトラフィックを傍藹??できる 周辺的なタスクをこなすという諢?味合いかAnthos Service Mesh を使用してサイドカ繝? プロキシを挿入する  |  Google Cloud
=========================
笳?DAGを使う
Kubernetes ネイティブなワークフローエンジ繝? Argo Workflows | 豆蔵デベロッパーサイト (mamezou-tech.com)
Argo公藹??マニフェストが長す縺?る?argo-helmでやるか
argo-helm/charts/argo-workflows at main · argoproj/argo-helm · GitHub
Quick Start - Argo Workflows - The workflow engine for Kubernetes (argoproj.github.io)

gcloud builds submit --pack image=gcr.io/bangboo-run/unco ならDockerfile不要らしい


Comment (0)

■21/5/22 12:00AM
GCP Hands Off
データの種類でアーキテクチャを決める? コンテナはオーバヘッドが少な縺?VM/GCEに觸??べ軽量高速、スケールアップ/ダウンに優れているGCS
 IAPを使うと画蜒?アクセスにも認証が使えそう>LBのバックエンドで縺?IAPが使えない
  GCE縺?GCSマウントする縺?GCE縺?IAPとしてイケる、gcsfuse縺?OSS縺?Linux上のドライブになる
   CensOS6.8縺?gcsfuseをインストールし縺?GCSをマウント - Qiita
   GCS Fuseを使ってみる - Qiita
 リテンションで臀??護期間を設藹??したり、ライフサイクルで削除時期を設藹??したり
 世代管理ができたり
■制軆??が重要そうでまとめて鐔??載したい IAP縺?CDNの両立はできない
 LB縺?backend縺?gcsを設藹??したとき縺?IAPが使えない
 GKE縺?ingress縺?LBに臀??のアプリのバックエンドを同居できない(GKEが上書き自動更新するから、ドメイン別になる)
 IAP縺?GCE縺?OSログインする場合縺?API有効やIAPの設定、OSlogin系の権限が必要(Owner付荳?が楽・??
 ネットにでるのがapt updateのみでもNAT/Routerが要る

■VPCネットワー繧?
default VPCネットワークを削除・??セキュリティが緩いため)vpcネットワーク臀??成 サブネットIPレン繧? 10.27.0.0/16-192.168.27.0/24 等縺? private google accessはオンでいいのか?on FWはひとまずなしで、だが大臀??ポート縺?22,80,443,8080?別途firewallで臀??記を設藹??(ちなみにリクエスト側を許可すればよ縺?、レスポンス側は自動)bangboo-fw-allow-iap-ssh IAPから縺?SSHを許藹?? 35.235.240.0/20 tcp:22 レンジはマニュア繝? https://cloud.google.com/iap/docs/using-tcp-forwarding#create-firewall-rulebangboo-fw-allow-lb GFE(Google Front End)から縺?HTTPを許藹?? 35.191.0.0/16,130.211.0.0/22 tcp:qll レンジはマニュア繝? https://cloud.google.com/load-balancing/docs/health-checks#fw-ruleCloud NAT(Router)を設藹??https://cloud-ace.jp/column/detail260/https://www.topgate.co.jp/google-cloud-network-security
■繝?ンズオ繝?(GAE:php+FW+IAP)→GAEよりCloud runが良いIAP縺?GAEが簡単そう(アクセスするの縺?Googleの鐔??証プロンプトを出す)
 自前DNS縺?TXTレコードを設藹??>確鐔??>IPが表示されAレコードやCnameも登録でき、SSL証譏?書も使えるようだ
  しかし無縺?てもgoogle觸??供のドメインが使え不要 DNS(TXTレコード)による所有権の確認 - Google Search Consoleの使い譁? (howtonote.jp)
 Winローカル縺?GCP SDKインスコし下記縺?app.yaml縺?index.phpを置い縺?cmd→ gcloud app deploy
  C:\Users\おまはんのユッザー名\AppData\Local\Google\Cloud SDK\php
 IAPを有効にしIAM secured userの権限縺?IAM縺?GAE viewer権限付荳?縺?@gmail.comユーザ軆??は鐔??れる
  外部ドメインを使うとき縺?IdentityPlatform設藹??が必要そう
止めるに縺?instanceを削除する(再度アクセス縺?instanceが自動作成される)、IngressをInternal onlyにすると臀??応止まるか、楽だ
■繝?ンズオ繝?(Marketplace: GCE+FW->Wordpress)
デフォルト:エフェメラル・??インターネット公開なし(LB/IAP/NAT/Armor付けてから公開しようか縺?)
VMインスタンス ネットワークタ繧?wordpress-1-deployment
FW:wordpress-allow-external ターゲットタ繧?wordpress-1-deployment、ソー繧?0.0.0.0/0 tcp0-65535スナップショットのラベル縺?KVS縺? app : wordpress とか env : testとか
DBはステートフ繝?MIG-永軆??ボリュームにできる?

■繝?ンズオ繝?(GCE+nginx+FW+LB+IAP+Cloud NAT+Cloud armor)
笳?cloud shell terminalgcloud compute instances list インスタンス臀??隕?笳?コンソー繝?デフォルトVPC NWを削髯? > VPC NW作成 > サブネットIPレン繧? 10.27.0.0/16-192.168.27.0/24等縺?GCE VMを作成(Instance scheduleで起動-停止時間が入れられる、テンプレやグループに使えない?)
 インスタンスを作って設定しスナップショットからOSイメージを作り驥?産すればいいが
  instance template作成し縺?instance group作成してもいい。IGが中々できないならIGを開きエラーメッセージを見るこ縺?
 OS縺?ubuntu、API access scopeに縺?"Allow full access to all Cloud APis"縺?  外部からアクセスさせずLB経由だけにしたい→外驛?IPがephemeralで止められない→作成時縺?network>external ipをnoneで臀??成すること→
  外へでれな縺?なるの縺?gcloudコマンドが通らない→CloudNAT(Router)も設藹??
 インスタンステンプレートのメタデー繧?  起動スクリプトをファイル化できる   キ繝?startup-script or shutdown-script、値にパ繧?   キ繝?startup-script-url or shutdown-script-url、値縺?GCS縺?URL
  OSLoginをIAPにし縺?VM上の独閾?ID管理PW管理不要縺?
   便利觸??能「OS Login」を使っ縺?IAMでインスタンスへ縺?SSH接続制限をする | apps-gcp.com
   キ繝?enable-oslogin、値縺?TRUE、IAMで権限(compute OSLogin/IAP tunnel/gce系・??、IAP API有蜉?
    権限もIAMで管理されるの縺?LINUX上縺?755等も不要なようだ(computeinstanceAdmin.v1を付けとく)  MIG縺?LBと同じヘルスチェックを使うことは非推螂?   LBはより短い菴?い閾値にせよSSHの項目からview gcloud commandで好き縺?SSHターミナルからアクセスできるcmd出る gcloud beta compute ssh --zone "asia-northeaset1-b" "instance-3" --tunnel -through-iap --project "bangboo-sandbox"笳?SSHターミナ繝?gcloud init インス繧?sudo apt-get install nginx Webサーバインスコ、ブラウザで内驛?IPでアクセスしたかったが不可だったsudo service nginx stop 止める、動かすの縺? sudo service nginx startps プロセス鐔??るcurl http://10.117.0.19 nginxが動いているか確鐔??cat /var/log/nginx/access.log ログ確認
笳?nginx
/etc/nginxにあるconf系が設藹??ファイ繝?
sites-enabled/default だけがあり cat default しdocument root縺?/var/www/htmlと判譏?
 ここへ移動 cd /var/www/html
sudo cp index.nginx-debian.html index.html コピ繝?
sudo nano index.html で編集
設藹??変更藹??縺? sudo service nginx restart笳?コンソー繝?
GCEスナップショット作成→OSイメージ臀??成→テンプレ臀??成→Healthcheck作成→MIG設藹??
 OSイメージはオンプレから作ったものとかHashi corp縺?Packerで臀??るとかも
FW作成
 gceに藹??驛?IPがあればアクセス試す
 fw-bangboo-http-ingress-allow ingress - "all instances" - 0.0.0.0/0 デフォルトで許可・??ingressが必要
  https縺?IPではダメ、ドメイ繝?/証譏?書が要るか知らんがhttpでは藹??驛?IPあればアクセスできる
   GCP縺?IPを自前縺?DNS縺?Aレコードに設定しとけば、、
   ウェブとメールを別々のサーバで運営したい?・・・それ、ゾーン設定で出来ます! | さ縺?らのナレッ繧? (sakura.ad.jp)
   ドメイン所有縺?DNS縺?TXTレコード設藹??ができるようだが、、、
   ウェブマスタ繝? セントラ繝? (google.com)
  使うときfw-bangboo-all-ingress-allow ingress - "all instances" - 192.168.1.255/32 に設定?
 外驛?IP(普通LBとなるか)への制御縺?Cloud armorの縺?deny allowし縺?FWではあんまり考慮しない
  armor-bangboo-all-ingress-deny ingress - "all instances" - 0.0.0.0/0 で設定完了まで止めと縺?LB作成 VMインスタンスグループ(子インスタンス・??作成(上で臀??ってなければ・??  インスタンステンプレート作成 LBヘルスチェッ繧?(閾蛟?)が要る httpLBだと内部か外部か選択できる
  httpLBならIPレンジが要る>VPC networkで同resionで使繧?れていないものを設藹??  例10.55.20.0/22なら10.55.23.255まで使繧?れているの縺?10.55.25から使うとか  NW計算 ネットワーク鐔??算ツール繝?CIDR計算ツー繝? | Softel labs
   VPCのサブネット設藹??は拡大できるが縮藹??ができない→蟆?さめにしておきたいが、k8s縺?IP沢山使うので大きめ
   プライベートサービスコネクト(VPC間を繋ぐ)を使うと逍?結合でつなげられるが
 backend縺?httpで、healthcheck縺?tcp80縺?proxy無し
IAP作成
 外驛? HTTPS ロードバランサの設定  |  Identity-Aware Proxy  |  Google Cloud IAP(https)を見る縺?FWで開けて縺?れの指定がある
  fw-bangboo-lb-gce-allow Source IP range:072.72.1.19/22, 69.11.8.0/16 tcp:80
 IAPを見る縺?LBを設藹??する縺?FW縺?LBに対するものだけになるので臀??要との指示がある  fw-bangboo-http-ingress-allow 0.0.0.0/0(削除・??  下記はインスタンス臀??成時の許可設定分で臀??要   default-allow-internal 69.11.0.0/9(削除・?? default-allow-http 0.0.0.0/0(削除・??
   これも不要?default-allow-http 0.0.0.0/0 tcp:443(削除・??default-allow-icmp 0.0.0.0/0(削除・??
   default-allow-rdp 0.0.0.0/0 tcp:3389(削除・??default-allow-ssh 0.0.0.0/0 tcp:22(削除・??
 IAP(ssh/tcp)を見る縺?FWで開けて縺?れの指定があるが開ける縺?httpsに穴ができると出るし止め
  fw-bangboo-lb-iap-tcp-allow  Source IP range:072.72.2.0/20 tcp:all(sshターミナルを使う時だけFW開ける、通蟶?priority9000)
 IAPをONだけでは饅??目で、FWで調整し縺?GCEに直接アクセスじゃな縺?LBでやっ縺?IAPが動縺?みたい  IAPの設定縺?http://IPでアクセスする縺?https://に転送されたのだが(IAPがない場合は臀??記設藹??をするようだ)
  HTTP(S) 負荷分散用縺? HTTP から HTTPS へのリダイレクトの設定  |  Google Cloud事前縺?gce.bangoo.com -> 117.072.19.255 (LB縺?IP縺?ephemeralをstaticに藹??譖?)を自前縺?DNSに設定
 (DNS縺?TTLを前日縺?3600から300に藹??更しておいたり、DNS藹??映期間があったり) LBのフロントエンドでマネージド証譏?書を設藹??(ssl-policyを緩めで設定したが必要?)  オレオレ証譏?書は・?? LBフロントエンド縺?httpsでもバックエンド縺?http縺?
 IAP-secured web app userロールを@gmail.comユーザに臀??荳?
 IAP縺?CDNの両立はできない
 LB縺?backend縺?gcsを設藹??したとき縺?IAPが使えない→ネット公開にし縺?VPN SCで制御?(元々ネットに面しているが権限がないだけ)、GCE縺?GCSをマウント?
FW調謨?
 0.0.0.0/0 all deny priority2000>LB関騾? tcp80 allow 1000/IAP関騾? tcp allow 1000>(使用拠点のソー繧?IP allow 500)
  使用拠点縺?IP縺?LBを使うならArmorで設定すれ縺?FWへの設定不要
 GCEの藹??驛?IPを止める:インスタンステンプレート作成時に藹??驛?IPnoneで設定(StaticIPを買って削除でもnoneにできなさそう)
 必要なもの以外を止める:0-442, 444-65535縺?443のみ許可は饅??目か?
 Connectivity testでテストがIPアドレス軆??でできる(設藹??変更から実際の藹??映に時間が觸??かるものがあるような觸??が)
apache benchでスケールするかテスト Apache Bench を使って初めてのベンチマークテスト - Qiita
 sudo apt install apache2 ab縺?apachに含まれるのでどれか縺?VMにインス繧?
 ab -n 1000 -c 100 https://gcp.bangboo.com/ でインスタンスが増えることが確鐔??できる
Cloud armor設藹??
 DDoS等を防ぐの縺?Onでいいのでは、adaptive protectionで優先度臀??いdeny設藹??
 外驛?IP縺?deny allowはこれでやる(web app firewallなので縺?)、log4J対軆??等もここで弾縺?
  一時止めるとき縺?0.0.0.0/0 bad gateway等分かり易いエラーで止めるのが良いかも
 IAPが前、Cloud armorが後ろ、そし縺?LBとか
Access context manager設藹??(+VPC service control)
 Organizationの設定が必要(≒Cloud identityでドメイン藹??要?)IPアドレスやOS等でアクセスを制限できるCloudSQL APIライブラリからCloud SQL API、Cloud SQL Admin APIを有効縺? 平文通信→暗号化CloudSQL proxyバイナリをVMインスコ、ディレクトリ切る  proxyとアプリ設定を合繧?せる、proxyサービス起動
 SQL用縺?svac作成 lemp-gce-sql-01@  ログインユーザをこ縺?svac縺?owner設藹??  ロール臀??荳? Cloud SQL Client、Compute Engine Service Agent、Compute Instance Admin (v1)、Compute Viewer  こ縺?svacをGCEインスタンスのデフォルトsvacに設定 ユーザやdatabeseを作成、charaset: uft8mb4, collation: utf8mb4_bin
 GCE縺?SQL proxyの設定(SSH開く)
  gcloud auth list ログインユーザがsvacか確鐔??  mkdir $HOME/download  cd $HOME/download  wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.amd64  sudo mv cloud_sql_proxy.linux.amd64 /usr/local/bin/cloud_sql_proxy 変名  sudo chmod +x cloud_sql_proxy 実行権限設藹??  sudo mkdir /cloudsqlproxy ソケットになるディレクトリ臀??成  sudo chmod 777 /cloudsqlproxy パーミッション設定
  sudo /usr/local/bin/cloud_sql_proxy -dir=/cloudsqlproxy -instances=bangboo-sql:asia-northeast1:mysql-01  ↑Readyになってからコマンドが返るのに臀??分か觸??かる
  もう一縺?SSHを開縺?と臀??記コマンドが通る
  mysql -u root -p -S /cloudsqlproxy/bangboo-sql:asia-northeast1:mysql-01
  mysql> connect test;  mysql> show tables;  mysql> create table test.test (id int, name varchar(10));
  mysql> insert into test (id, name) values (1, 'baka');  mysql> select * from test; SQL proxyサービス化 Cloud SQL Proxy (TCP Socket)を systemd で起動させる - Qiita
  sudo vi /etc/systemd/system/cloud_sql_proxy.service
===== [Unit]Description = Cloud SQL Proxy DaemonAfter = network.target [Service]ExecStart = /usr/local/bin/cloud_sql_proxy -dir=/cloudsqlproxy -instances=bangboo-sql:asia-northeast1:mysql-01ExecStop = /bin/kill ${MAINPID}ExecReload = /bin/kill -HUP ${MAINPID}Restart = alwaysType = simpleLimitNOFILE=65536 [Install]WantedBy = multi-user.target=====
  sudo systemctl start cloud_sql_proxy 起動だが自動設藹??してリブートだけでいい  sudo systemctl enable cloud_sql_proxy サービス自動起動  sudo reboot now   Authenticating as: Ubuntu (ubuntu)縺?PWを求められる場合    sudo su - 縺?rootに切り替えてからcmd sudo su とかしてる人はだいたいおっさん (zenn.dev)  systemctl list-units --type=service サービスの臀??覧確認  systemctl list-units --all --type=service 全サービスの臀??覧確認  service サービス名 status  service サービス名 start  service サービス名 stop
IAM縺?DB認証するにはフラ繧? cloudsqql_iam_authentication 面倒なだけか?
 Cloud SQL IAM データベース鐔??險?  |  Cloud SQL for PostgreSQL  |  Google Cloud
 IAM データベース鐔??証用に新鐔??または既藹??のインスタンスを構成する  |  Cloud SQL for MySQL  |  Google Cloud
 IAM データベース鐔??証を使用してログインする  |  Cloud SQL for MySQL  |  Google CloudFW/Armor縺?Ingress全止め or VMインスタンス停止、LB停豁?

■GCE MIGローリング更譁?GCP のローリング更新が恐ろしく便利で簡単でおしっこ貍?らしそう - 強まっていこう (hateblo.jp)
MIG 内縺? VM に新しい構成を適用する  |  Compute Engine ドキュメント  |  Google CloudMIG 縺? VM 構成の更新を自動的に適用する  |  Compute Engine ドキュメント  |  Google Clouddev-stg環藹??縺?instance templateを作っ縺?prodでテンプレ置き置き觸??える感じ?
  シング繝?VM縺?stg > OSイメー繧? > テンプレ化 > prod逕?MIGローリングアップデート設藹?? MIGは藹??々に更新をいい塩觸??で鐔??う必要があるためローリング更新する ロールバックはテンプレートを元に戻す設藹??をする、コミットは新しいテンプレートを設藹??するだけ カナリア縺?2nd テンプレート追加項目でターゲットサイズ縺?3台とか10%とか設藹??するだけ
ローリング更新・??Update VMS)
 インスタンスグループを開い縺?Update VMSに進む a)Proactiveは最大サー繧?(一時追加のインスタンス謨?)、とオフライン臀??限を指定 b)日和見Opportunisticはオートスケールの藹??減時に新インスタンステンプレートに切替る(どうでもいいパッチ等) サージ・??追加台数、オフライン・??停止台数、 オフライン台数を大き縺?すると臀??気に藹??映できる それに合繧?せて鐔??積もりサージを大き縺?する(料金は觸??かる)
  最大サージを 1、オフライン臀??限を 1 とすると、新しい VM が 1 ずつ発起動して、古い VM が 1 台ずつ落とされて鐔??きます。  最大サージを 3、オフライン臀??限を 2とすると、新しい VM が 3 発起動して、古い VM が 2 台落とされ、1台落とされる。
インスタンスの再起動/置觸??(Restart/Replace VMS) インスタンスグループを開い縺?Restart/Replace VMSに進むとローリングでインスタンスの再起動と置觸??ができる
 a)再起動:オフライン臀??限のみを指定し縺? VM のテンプレートを切り替え b)置觸??:最大サージを指定することができるようになるだけ
■インスタンススケジュー繝?元来のサービスアカウント縺?compute.instanceAdmin.v1が必要(コンソールでの設定時にエラーが出るので藹??考にして権限付荳?)VMは臀??つのインスタンススケジュールにしか所属できないため、テスト後に本番スケジュールに入れなおす等の考慮が必要インスタンススケジュールを削除するには、所属縺?VMを外す必要がある最螟?15分遅れる場合がある。起動時間もその臀??加算する必要があるかも
■MonitoringVM縺?Opsエージェント入れるOps エージェントの觸??要  |  Cloud Logging  |  Google Cloudエージェント ポリシーの管理  |  オペレーショ繝? スイート  |  Google CloudOps エージェントの觸??成  |  Cloud Logging  |  Google CloudGCP縺?VMインスタンス縺?Ops Agent入れてログモニタリン繧? - Qiita
 個々縺? VM 縺? Ops エージェントをインストールする  |  オペレーショ繝? スイート  |  Google Cloud
  →VMを起動していたらコンソールで藹??施可能・??CloudShellに鐔??蟆?される)なのでコレでいい
Loggingエージェントを捨て縺?Opsエージェントに臀??り觸??える
 他の方觸??の臀??:
@terminal縺?gcloud components update これ時間觸??かるし不要で縺?https://cloud.google.com/stackdriver/docs/set-permissions.sh?hl=ja をダウンロードterminalにアップロードし実行 bash set-permissions.sh --project=bangboo-omeインスタン繧? ラベルで設定する GCEにラベ繝?env=test,app=omeを設藹??gcloud beta compute instances \    ops-agents policies create ops-agents-policy-safe-rollout \    --agent-rules="type=logging,version=current-major,package-state=installed,enable-autoupgrade=true;type=metrics,version=current-major,package-state=installed,enable-autoupgrade=true" \    --os-types=short-name=centos,version=7 \    --group-labels=env=test,app=ome \    --project=bangboo-ome起動しているVM縺?OS Config エージェントがインストールされているかを確鐔??gcloud compute ssh instance-1 \    --project bangboo-ome \    -- sudo systemctl status google-osconfig-agent下記が返るEnter passphrase for key '/home/sute3/.ssh/google_compute_engine':  google-osconfig-agent.service - Google OSConfig Agent   Loaded: loaded (/lib/systemd/system/google-osconfig-agent.service; enabled; vendor preset: enabled)   Active: active (running) since Mon 2022-04-11 18:34:26 UTC; 8min ago Main PID: 1279 (google_osconfig)    Tasks: 11 (limit: 1116)   CGroup: /system.slice/google-osconfig-agent.service           └─1279 /usr/bin/google_osconfig_agentNumpyが要る場合は臀??記でインス繧?sudo apt-get install python-numpy python-scipy python-matplotlib ipython ipython-notebook python-pandas python-sympy python-noseダッシュボード作成アラート作成
複数縺? Cloud プロジェクトの指標を表示する  |  Cloud Monitoring  |  Google Cloud
 エージェントのログのモニタリング縺?NW構成に関繧?らず集約できる(GCP環藹??に置かれておりGCP設藹??のみ縺?OKだから)Yaml設藹??を新鐔??で臀??ればオーバーライドされるOps エージェントの觸??成  |  Cloud Logging  |  Google Cloudsudo vim /etc/google-cloud-ops-agent/config.yaml------------------logging:  receivers:    laravel_log:      type: files      include_paths:        - /var/www/html/laravel/storage/logs/*.log
  service:    pipelines:      custom_pipeline:        receivers: [laravel_log]-----------------# 藹??映sudo service google-cloud-ops-agent restart


sute16 asia-northeast1-b 2021/7/24(91日縺?33000yen-10/20位ま縺?)
sute3 asia-northeast1-b 2022/2/20(91日縺?34500yen-5/20位ま縺?)Instance groupはどう止める?>LB削除・??LBのバックエンド削除・??Instance group削髯?
 LB縺?instance groupがいる、IAP縺?GCEの場合縺?LB縺?SSL証譏?書鐔??る(ドメインもGlobalIPも要る)
  DNS縺?Aレコードを登録しLB設藹??すれば証譏?書入る
   豈?回検証軆??了時につぶして、立てるのが面倒そうだな→FW縺?deny allしと縺?
 【初心者】GCP Identity-Aware Proxy (IAP), Access Context Managerを使ってみる (WEBサーバへのアクセス制限) - Qiita
 Oauth同諢?画面のサポートメールはログインしているユーザのものか、そいつがオーナになっているGoogle workspaceのメールグループを設藹??することができる(gcpのロールとし縺?wnerかoauthconfig.editorも要る)
nginx+PHP appサーバ+BigQuery+BigTable+CloudSQL(MySQL)+GCS+α? [PHP]BigQueryのデータを藹??得する | yyuuiikk blog
$ composer require google/cloud でインス繧?<?phprequire 'vendor/autoload.php';use Google\Cloud\BigQuery\BigQueryClient;$keyfile = './credential.json'; //svac縺?key$bigquery = new BigQueryClient([    'keyFile' => json_decode(file_get_contents($keyfile), true),]);$dataset = $bigquery->dataset('dataset-name');$table = $dataset->table('table-name');$queryJobConfig = $bigquery->query(    "SELECT * FROM `project-id.data-set-name.table-name` LIMIT 100");$queryResults = $bigquery->runQuery($queryJobConfig);foreach ($queryResults as $row) {    print_r($row);}
Google Cloud Storage 縺?PHPを使ってファイルをアップロードする | カバの樹 (kabanoki.net)
$composer require google/cloud-storage でインス繧?<?phprequire __DIR__ . '/vendor/autoload.php';use Google\Cloud\Storage\StorageClient;$projectId = 'bangboo-prj';$auth_key = './iam/credential.json';$bucket_name = 'gcs-bangboo';$path = 'img.png';$storage = new StorageClient([   'projectId' => $projectId,   'keyFile' => json_decode(file_get_contents($auth_key, TRUE), true)]);$bucket = $storage->bucket($bucket_name);$options = [   'name' => $path];$object = $bucket->upload(   fopen("{$path}", 'r'),   $options);
<img src="https://storage.googleapis.com/gcs-bangboo/img.png">SSLに対応したNGINXリバースプロキシを構築する手順 - Qiita
 nginxは静的コンテンツを高速に配信するように設計されている。 また、 リバースプロキ繧? の觸??能を持つため、背後縺?Webアプリケーションサーバを配置して動的なコンテンツを配信したり、ソフトウェ繧? ロードバランサやHTTPキャッシュとしても使うこともできる。GCPにセキュアな鐔??み台サーバーを作成する. GCP縺?Identity-Aware窶? | by Taiga Murakami | google-cloud-jp | Medium
 Googleにバックドアを開けてしまっては危険、、、ということはない


End
Comment (0)

Navi: <  6 | 7 | 8 | 9  >
-Home
-Column [136]
-Europe [9]
-Gadget [79]
-Web [137]
-Bike [4]

@/// BANGBOO BLOG ///