0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【GCP】VMインスタンスの作成〜GCSとGCEをマウントするまでの備忘録

Last updated at Posted at 2022-01-10

はじめに

GCSとGCEのマウント方法を備忘録として残す

やり方

Compute EngineでVMインスタンスを作成

Compute Engine

Google のインフラストラクチャで仮想マシンを作成して実行できる、安全性の高いカスタマイズ可能なコンピューティング サービスです。

VMインスタンス

物理的なコンピュータ上で起動され、稼動状態にある、ソフトウェアによって構築された仮想的なコンピュータのこと

VMインスタンスの作成

  • VMインスタンス名
  • リージョン
  • マシンタイプ
  • HTTP トラフィックを許可
    スクリーンショット 2022-01-10 23.34.37.png

VMインスタンスにApache・PHPをインストールする

VMインスタンスにSSH接続する

スクリーンショット 2022-01-10 23.36.52.png

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にアクセスする

スクリーンショット 2022-01-10 23.43.16.png

Apacheのトップページが表示されていれば成功

スクリーンショット 2022-01-10 23.44.04.png

外部IPアドレスを静的IPにする

  • VMインスタンスを停止してから行う

  • 外部IPがエフェメラル(短期的な)になっているので静的IPアドレスを割り当てる

スクリーンショット 2022-01-10 23.50.31.png

VPCネットワーク > 外部IPアドレスから静的アドレスを予約する

スクリーンショット 2022-01-10 23.53.25.png

Cloud Storage > バケットを作成

あらゆる規模の企業に対応するオブジェクト ストレージ。保存できるデータ量に制限はありません。必要に応じて何度でもデータを取得できます。

  • バケット名
  • データの保存場所 > Region
  • ストレージクラス > Standard
  • アクセス制御 > きめ細かい管理

スクリーンショット 2022-01-10 23.59.30.png

ファイルをアップロードする

任意の画像ファイルをアップロード

スクリーンショット 2022-01-11 0.01.58.png

VMインスタンス > アクセススコープ > 各APIにアクセス権を設定

  • ストレージ > フル
    • GCEからGCSを読み取りにいけるようにします
      スクリーンショット 2022-01-11 0.04.51.png

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 /var/www/html/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>

画像が表示できれば成功です

スクリーンショット 2022-01-11 0.17.09.png

VMインスタンス起動時に自動的にマウントするようにする

VMインスタンスを停止してから行う

カスタムメタデータに以下を設定する

startup-script:Linux 起動スクリプトに使用できるメタデータキー

#! /bin/bash
sudo gcsfuse -o allow_other sample-bucket-na /var/www/html/demo

スクリーンショット 2022-01-11 0.21.25.png

さいごに

読んでいただきありがとうございます。
今回の記事はいかがでしたか?
・こういう記事が読みたい
・こういうところが良かった
・こうした方が良いのではないか
などなど、率直なご意見を募集しております。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?