☁️
【GCP】VMインスタンスの作成〜GCSとGCEをマウントするまでの備忘録
はじめに
GCSとGCEのマウント方法を備忘録として残す
やり方
Compute EngineでVMインスタンスを作成
Compute Engine
Google のインフラストラクチャで仮想マシンを作成して実行できる、安全性の高いカスタマイズ可能なコンピューティング サービスです。
VMインスタンス
物理的なコンピュータ上で起動され、稼動状態にある、ソフトウェアによって構築された仮想的なコンピュータのこと
VMインスタンスの作成
- VMインスタンス名
- リージョン
- マシンタイプ
- HTTP トラフィックを許可
VMインスタンスにApache・PHPをインストールする
VMインスタンスにSSH接続する
Apache・PHPをインストールする
sudo su -
# インストール可能なパッケージの「一覧」を更新
apt-get update
# Apache2のインストール
apt-get -y install apache2
# PHPのインストール
apt-get -y install php
# Apache Webサーバを起動
systemctl start apache2
# 起動状態を確認
ps aux | grep apache
root 8188 0.0 1.9 196800 19784 ? Ss 10:38 0:00 /usr/sbin/apache2 -k start
www-data 8190 0.0 0.8 196824 8320 ? S 10:38 0:00 /usr/sbin/apache2 -k start
www-data 8191 0.0 0.8 196824 8320 ? S 10:38 0:00 /usr/sbin/apache2 -k start
www-data 8192 0.0 0.8 196824 8320 ? S 10:38 0:00 /usr/sbin/apache2 -k start
www-data 8193 0.0 0.8 196824 8320 ? S 10:38 0:00 /usr/sbin/apache2 -k start
www-data 8194 0.0 0.8 196824 8320 ? S 10:38 0:00 /usr/sbin/apache2 -k start
root 8358 0.0 0.0 4836 884 pts/0 R+ 10:47 0:00 grep apache
VMインスタンスの外部IPにアクセスする
Apacheのトップページが表示されていれば成功
外部IPアドレスを静的IPにする
-
VMインスタンスを停止してから行う
-
外部IPが
エフェメラル(短期的な)
になっているので静的IPアドレスを割り当てる
VPCネットワーク > 外部IPアドレスから静的アドレスを予約する
Cloud Storage > バケットを作成
あらゆる規模の企業に対応するオブジェクト ストレージ。保存できるデータ量に制限はありません。必要に応じて何度でもデータを取得できます。
- バケット名
- データの保存場所 > Region
- ストレージクラス > Standard
- アクセス制御 > きめ細かい管理
ファイルをアップロードする
任意の画像ファイルをアップロード
VMインスタンス > アクセススコープ > 各APIにアクセス権を設定
- ストレージ > フル
- GCEからGCSを読み取りにいけるようにします
- GCEからGCSを読み取りにいけるようにします
GCEとGCSをマウントする
sudo su -
export GCSFUSE_REPO=gcsfuse-`lsb_release -c -s`
echo "deb http://packages.cloud.google.com/apt $GCSFUSE_REPO main" | sudo tee /etc/apt/sources.list.d/gcsfuse.list
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
apt-get update
apt-get -y install gcsfuse
cd /var/www/html/
mkdir demo
# マウント
# gcsfuse バケット名 マウント先
# -o allow_other フォルダにアクセスする権限を他のユーザにも許可
gcsfuse -o allow_other sample-bucket-na ./demo/
2022/01/10 15:13:10.990979 Opening GCS connection...
2022/01/10 15:13:11.383307 Mounting file system "sample-bucket-na"...
2022/01/10 15:13:11.391102 File system has been successfully mounted.
# アップロードした画像がマウント先に表示されていれば成功です
ls demo/
Corporate_Sunrise.png b551ca84-3de9-2e40-5ceb-c2d7f90bb8f6.png
マウントした画像を表示してみる
mv index.html index.php
vi index.php
index.php
<div>
<img src="./demo/Corporate_Sunrise.png">
</div>
画像が表示できれば成功です
VMインスタンス起動時に自動的にマウントするようにする
VMインスタンスを停止してから行う
カスタムメタデータに以下を設定する
startup-script
:Linux 起動スクリプトに使用できるメタデータキー
#! /bin/bash
gcsfuse -o allow_other udemy-study-sample ./udemy-study/
さいごに
読んでいただきありがとうございます。
今回の記事はいかがでしたか?
・こういう記事が読みたい
・こういうところが良かった
・こうした方が良いのではないか
などなど、率直なご意見を募集しております。
Discussion