Tag gcpを表示しています。
2019.11.19 火
クエリログを有効にする SQLの項目に移動して対象のインスタンスを選択し「インスタンスの詳細」ページを開きます。設定セクションの中で、まだ何も設定していない場合は、「データベースフラグが設定されていません」と表示されています。 そのセクションの下部に「設定を編集」という部分から入って、データベースフラグを設定します。 設定オプションの中にある「フラグ」の項目を開いて、データベースフラグを設定します。 × Close log_statement all を設定して、保存します。 ログはSlackDriverに保存されます。 ログの確認 すでに動いているDBであればロギングがはじまっています。まだ開発環境などでアクセスがない場合は確認のためにいくらかサーバーアクセスしておきます。 ク...
2019.11.18 月
VMインスタンスの詳細ページにある「同様のものを作成」するボタンは本来的なクローンではありません。サーバー構成をコピーするだけで中身のストレージデータはコピーされず空の状態になるのでご注意。いわゆる全く同じインスタンスを作成する場合は、スナップショットを利用してVMインスタンスを複製します。 Cloneする スナップショットを作成して個別にスナップショットを反映します。Compute Engienの項目からスナップショットを選択して、スナップショットメニューに入ります。(はじめての場合は「スナップショットを作成する」ボタンを押してすすみます。) Snapshottを作成する 名前で適当なスナップショット名を入れます。HOSTNAME(インスタンス名)-SERIAL_NUMBER-YYYYMM...
2019.11.11 月
Cloud SQLでPostgreSQLを立てた際に、外部からダンプしたデータがリストアできないっていうのがあるので、そのまとめです。ドキュメント読んだらきちんと書いてあった。 何も考えずにダンプデータをリストアすると、 [543004]: [1-1] db=postgres,user=cloudsqlsuperuser ERROR: must be member of role "ROLE_NAME" というエラーでリストアできません。なのでCloud SQLの仕様に合わせてダンプしないとダメです。(ちなみにCloud Shellから権限関連をいろいろこねくりまわしてみたけどダメでした。) 以下の仕様に従ってダンプします。 --no-owner SQL ダンプファイルに所有権の変更コマンド...
2019.11.9 土
プリエンプティブ VMというGCPの空きリスースを利用した実験的な場所を通常のVMインスタンスとは別に格安で利用することができます。おそらくGoogle側の実験的な試みの1つなんだと思います。 最大で24時間起動。(24時間後には強制的にシャットダウンされる) 勝手に停止(プリエンプト)される。 安い(同スペックの通常インスタンスの半額以下、1/3程度) というわけですが、比較的たくさんの使いようがあります。シャットダウンしたインスタンスは“また起動させればいいわけですし、TerraformやAnsibleが使えるなら即座にアプリケーションを立ち上げることもできます。個人で使っているブログ程度のものであれば十分使えるし、テストや試験的な用途ではむしろこっちを使った方が格安です。 ...
2019.11.4 月
静的外部IPアドレスの予約 リージョン指定しない場合は--globalでどこでも使える静的外部IPを指定します。 $ gcloud compute addresses create [name] --global --ip-version IPV4 リージョンが予め決まっていてリージョン指定する場合は、--regionでリージョンを指定します。Terraformで指定するときにあらかじめリージョンが決まっているときなどはこの方法で予約しないとリージョンがないと言われてエラーになります。 $ gcloud compute addresses create [name] --region asia-northeast1 静的内部IPアドレスの予約 $ gcloud compute address...
2019.10.28 月
SSHの接続はいろいろセキュリティー上面倒な部分なので、そこらの部分含めると結構テクニカルなことになってしまうので割愛。 ポートの変更 既存のsshd_configのバックアップとっておきます。 # cd /etc/ssh # cp -p sshd_config sshd_config.org ポートを変更します。コメントアウトしてある場合は、外してください。 #Port 22 ↓ Port 2222 保存してからsshd -tで構文チェックしてください。 再起動。既存ポートでは接続できなくなるので十分注意してください。 # systemctl restart sshd.service
2019.10.25 金
公式ドキュメントはこちら。 Cloud SQL にデータをインポートする
2019.10.23 水
PostgreSQLのダンプとリストアは比較的mysqlライクなので、そんなに戸惑うことはないのですが、多少違うところ含めての備忘録です。 pg_dumpコマンド pg_dumpは以下の二種類の方法でdumpができます。 スクリプト形式(デフォルト) リストアに必要なSQLをそのまま吐き出してくれるダンプ方法です。psqlコマンドでそのままリストアできます。いわゆる普通のダンプ方法なのでデバックはしやすいです。 アーカイブ形式 バイナリの形で出力されます。リストアはpsqlコマンドでなくpg_restoreコマンドで行います。アーカイブ形式のは、指定したtableのみを選択してリストアできるというのと、データベース(テーブル)自体が巨大なデータの場合は圧縮して出力できるという利点あり。ダンプ...
2019.10.20 日
Cloud SQLはVMインスタンスなどとちょっと勝手が違うので備忘録的なメモ。 TerraformのAPIのDocumentはこちら。 google_sql_database_instance 正しい書き方にも関わらず以下のようなエラーが出るときがあります。 Error: Error, failed to create instance master-instance: googleapi: Error 403: Cloud SQL Admin API has not been used in project xxxxxxxxxxxx before or it is disabled. Enable it by visiting https://console.developers.goo...
2019.10.20 日
GCPのVMインスタンスはIAMで登録したユーザーが自動的にVMインスタンスのユーザーとして登録されるようになっているのだけど、デフォルトでは誰でもsodo suできるようになっている。sudo suできるユーザーを限定するには、/etc/sudoers.d/google_sudoersを修正します。修正間違えるとログインできなくなるので注意。 #%google-sudoers ALL=(ALL:ALL) NOPASSWD:ALL username ALL=(ALL) NOPASSWD: ALL 既存のgoogle-sudoersの行をコメントアウトして、許可するユーザーを個別に書いてあげればOKです。これでsudo suとsudo自体が使えなくなります。
2019.10.19 土
AnsibleでSSHの基本的な設定をします。ホストに接続できるようになっていることを前提としています。接続シていない場合は、対象のマシンに接続しておいてください。 Ansibleのインストールと基本的な使い方 SSHの設定 SSHの設定は、 チェック (ドライラン) $ ansible-playbook --check -i inventory/hosts sshd.yml 実行 ansible-playbook -i inventory/hosts sshd.yml Ansible でSSHのセキュリティ設定
2019.10.17 木
やり方がものすごいたくさんあるので、あれなんですが、典型的な使い方のみここで紹介します。ここでは設定方法にGCP Consoleを利用します。Terraformやgcloudコマンドなどの設定方法はまた今度。 GCPの対象のプロジェクトにログインし[Strage]→[ブラウザ]とすすみます。 ACLを変更する対象のオブジェクトに移動します。公開アクセスの部分が非公開になっている場合は第三者から見ることができません。 × Close 第三者から見た場合は、401のエラーを返します。 (ただし、閲覧権限のあるオーナーなどでGoogleにログイン中は、URLにアクセスすると閲覧が可能になっています。一度ログアウトしてからURLアクセスしてみてください。) error errors 0 ...
2019.10.1 火
GCPはやれること多すぎて知見がないと、すべてただのトラブルです。 SSHが接続できない チェック項目 メタデータにそもそも公開鍵を登録していない。またそのユーザー名も確認しましょう。 「プロジェクト全体の SSH 認証鍵をブロック」という項目にチェックが入っている。(チェックを外して保存しても、また元に戻ってしまって外せないことがある)
2019.9.30 月
Compute EngineのメタデータからSSHKeyを登録する。 VMインスタンスを作成する。 FWの設定をする。
2019.9.30 月
既存のVMインスタンスの設定をterraform側に還元できるというやつです。ぶっちゃけimportの意味がよくわからなくなります。 公式ドキュメントはこちら Import Usage v0.7.0以降のterraformで可能な機能で、ここではGCPでもってTerraform v0.12.3で説明します。 公式では構成ファイルを作成するには至っておらず、状態のパラメータのみをjsonで吐き出すとのこと。手動でtfファイルを作らないといけない作業は残りますが、これはそうとう便利になったということができます。https://www.terraform.io/docs/import/index.html インポート Terraformは、既存のインフラストラクチャをインポートできます。これにより...
2019.9.24 火
Terraform for GCPの目次 Terraformを使ってみていろいろな側面が見えてきたので、Terraformとはを含めて諸々書いてゆきたいと思います。 Terrafromはクラウドサーバー構築のAPIで、いわゆる設定ファイルを読み込んで実行するだけで今までポチポチと管理コンソールで行っていた設定を一気に実行できるという利点がまずあります。とはいえインフラストラクチャーをコマンド上で実行するのは非常に抵抗があるという方は冪等性という概念を一度理解してあげるとそこそこ安心するのではないかと思います。またこの「設定ファイルを読み込んで実行する」というのは、設定ファイルをgitなどで管理できて、その変更履歴を常に保存できるという利点もあります。そしてこれはインフラ構築のパラメータ管理を...
2019.8.28 水
人物 × Close ルネサンス期を代表する芸術家であり、「飽くなき探究心」と「尽きることのない独創性」を兼ね備えた人物といい、日本の美術史では「万能の天才」といわれている[1]。史上最高の呼び声高い画家の一人であるとともに、人類史上もっとも多才の呼び声も高い人物である[2]。アメリカ人美術史家ヘレン・ガードナー(英語版)は、レオナルドが関心を持っていた領域分野の広さと深さは空前のもので「レオナルドの知性と性格は超人的、神秘的かつ隔絶的なものである」とした[1]。しかしながらマルコ・ロッシは、レオナルドに関して様々な考察がなされているが、レオナルドのものの見方は神秘的などではなく極めて論理的であり、その実証的手法が時代を遥かに先取りしていたのであるとしている[3]。 1452年4...
2019.5.23 木
実行環境の確認 python2で動くAnsibleですが、python3でもサポートしているようです。何かとアップデートが早い時代なので、新しいものにしておいた方がよいかもしれません。 Python 3 Support Ansibleの基本概念 インベントリ(inventory) インベントリは構成管理をする対象ノードへの接続情報を記載したもの。 デフォルトでは /etc/ansible/hosts だが、環境変数 ANSIBLE_HOSTS を設定したり、-i オプションでhostsファイルへのパスを指定可能です。 モジュール(module) モジュールはユーザーを作成したり、ファイルをコピーしたりするもので、多くは冪等性が保たれたものとなります。基本モジュールをそのまま利用するだけで大抵...
2019.5.8 水
GoogleアカウントとG-Suite GCPはGoogleアカウントが最低一つあれば利用することができます。フリーのGoogleアカウントを取得(またはすでに持っていたら)GCPの無料枠でもってすぐにVMインスタンスを立てて使うことができます。が、いずれにしろ大きなプロジェクトになってくると複数の人間または組織で仕事をすることになるので、アカウントの数や権限を管理しなくてはならくなります。まずGCPは「プロジェクト」という単位で管理します。これは一つのネットワークセグメント単位であり課金請求の単位であり、参加アカウントの単位となります。つまりGoogleアカウントでGCPを契約するとそのアカウントを基準に複数のプロジェクトを立てることがで、このプロジェクトはそれぞれ全く個別の契約という性格...
2019.4.19 金
ここではお名前.comで取得したexample.comというドメインであると仮定して説明しています。 まずは以下のドキュメントを読んでおきましょう。 Cloude DNS クイックスタート Cloude DNS 概要 Cloude DNSの構築手順 GCPにログインしてから、「ネットワークサービス -> CloudDNS」を開きます。以下のような初期画面が出てきます。
2019.3.30 土
Dockerはすごい速いですね。かなりはやい。なので全然プロダクト環境でも使えるんじゃないかと思うのですが、私の周りはみんなテストするつもりがまるでないです。 構築した環境はGCPのCentOS Linux release 7.6.1810 (Core) です。yum info dockerで確認すると比較的古いものをインストールしようとしてくるので、ここではできるだけ新しいものをインストールするようにします。 Dockerのインストール Docker-composeのインストール niginx php myssqlの設定 Dockerのインストール 設定で面倒臭そうなものを止めておく systemctl stop firewalld systemctl disable firewalld ...
2019.3.23 土
GCPは永遠に無料で使える完全な無料枠があります。サンドボックス、勉強にはとてもよいです。 https://cloud.google.com/free/docs/always-free-usage-limits GCEで新しいVMインスタンスを作成する 設定は例として以下のようにします。留意点は、 リージョンの選択は北米のリージョン us central1(アイオワ)にすること。ゾーンはどこでもよいです。 マシンタイプはmicro(共有vCPU x1)と0.6GBを選択します。(つまり最低)$4.28 の月間予測と出ますがリージョンの選択時点で無料になるので気にしない。 HDDは標準タイプで30GBまで無料枠で利用できるので10から30に変更しておくとよい。 IPアドレスを固定IPにする 実...
2019.1.31 木
GCPのロードバランサーの主な機能 GOOGLE CLOUD LOAD BALANCING HTTP(S)負荷分散 いわゆる普通のロードバランサー Stackdriver Logging アクセスログと負荷分散ログがあってGoogle Cloud Storage、Google BigQuery、Google Cloud Pub/Subで解析作業などができます。 自動スケーリング ポリシーを設定してオートスケールできます。 Cloud CDN との統合 これはいいぞ。 料金 ここが一番きになるところ。正直よくわからない。 Google Compute Engine の料金
2018.11.15 木
料金ポリシーがコロコロ変わるのでその都度確認が必要ですが2018年11月15日現在でのある程度の方法論となります。 料金制限の設定 従量課金は無尽蔵に課金されるので料金の上限を設けて、それ以上になるとアラートが飛ぶように設定します。 GCPのメニューから「お支払い」→「予算とアラート」を選択します。 予算アラートの設定 予算の設定 予算名: アイデンティファイできるように名前を設定します。 プロジェクトまたは請求先アカウント: 全体をターゲットにしたい場合は”請求先アカウント”を設定します。 無料枠内での算出をしたい場合は「クレジット適用後の費用」のチェックを外しておきます。 予算額: 指定額を選択してから、適当な金額を入力します。(数千円から数万円といったところでし...
2018.11.12 月
GCP プロジェクトの作成にやたらと時間がかかる。早い場合でも10分程度かかる。下手すると数時間から半日ぐらいかかる感触です。とにかく時間がかかるのでご注意。 GCE VMインスタンスの外部IPからの接続は最初はやたらと面倒くさい。AWSのように直感的に設定はできない。外部IPからアクセスするには通常のFWの設定やグローバルIPアドレスの設定などの他にgcloudeコマンドなるものを通しておく必要があり、その作業フローを経てSSHの鍵認証が有効になるようです。
2018.11.12 月
CGP(GCE VMインスタンス)のSSH接続方法です。インスタンス作成が成功したらブラウザーウィンドウからSSH接続できるようになっています。これは結構便利は便利なんだけど、LOCAL PCの普通のSSHクライアントとかで鍵認証でアクセスした方が長い開発の中では便利なので、ブラウザーウィンドウでのコマンド操作は初期構築の場面やクライアントからSSHアクセスできなくなったとき(FWの設定などを失敗した場合)ってことになるかと思います。 Google Cloud SDKのインストール Google Cloud SDK ドキュメント 「Cloud SDKのインストーラ」をダウンロードします。GoogleCloudSDKInstaller.exeというファイルが落ちてくるのでダブルクリックしてイン...
2018.11.12 月
The zone 'projects/PROJECT_NAME/zones/asia-northeast1-c' does not have enough resources available to fulfill the request. Try a different zone, or try again later. 東京リージョンの「asia-northeast1-a、asia-northeast1-b、asia-northeast1-c」が比較的不安定なようです。VMインスタンス作成時に失敗し上記エラーが出ることがあります。タイミングが悪いと比較的頻繁に多発します。しばらく時間をおくとたいていはインスタンスの作成が可能になります。VMインスタンスは作成成功時は30秒程度で完了する...
2018.11.6 火
料金計算ツール AWSの料金を1とすると、CGPは料金的にはかなりお得ということになります。 WEBサーバー半額 [0.5] DBサーバー半額 [0.5] データ転送量(50万pv/月)2割減 [0.8] LB(転送量含む)半額 [0.5] たぶんだいたい半額 料金リスト Google Compute Engine の料金 すぐに試算できる!GCP利用料計算ツールの使い方 GCPとAWSでの利用料コスト比較 GCE vs AWS ベンチマーク
2018.10.31 水
結果から言うとGCPの方がシンプルで安価でいいということになります。しかしAWSはここ最近でかなりコッテリしてきているので、コッテリ系のコンテンツがある場合はAWSは簡単に選択肢から外すことはできないといった感じです。 GCP と AWS サービス対応表・比較表(2018年2月版) GoogleCloudPlatform料金上限設定 GCPとAWSでの利用料コスト比較 もうちょっと使ってみてまたレポートします。 どうでもいいけどAWSのアイコンの方がかっこいいです。