---
# System prepended metadata

title: Google Compute Engine
tags: [GCP, GCE]

---

###### tags: `GCP` `GCE`
# Google Compute Engine
サーバーを秒単位で作れる
秒単位課金
継続利用割引


## 流れ
- GCE作成
- Apache, phpをインストール
- htmlを書いてアクセス
- Snapshot、復元
- エフェメラル外部IP を Static External IP にプロモート(昇進)
  - 要は固定IPの割り当て

## 場所
menu > GCE > side menu > VMインスタンス
作成

## イメージ

### マーケットプレイス
最初からソフトウェアがインストールされているイメージを使える
- wordpress
- gitrab
- jenkins
- などなど

労力をかけずにサービスを作れるので、使い方を覚えたら利用する
今回は1から作るので普通のOSをインストール

### 新規VM
名前 : udemy-study
リージョン : asia-northeast-a
ゾーン: 適当
マシンタイプ: small(共用)
コンテナ: 使わない
コンテナをチェックすると、コンテナimageを取得してそれをインストールする形になる
ファイアウォール: httpトラフィックを許可
料金見積もり : 一月あたりの見積もりが出てくる
完了

## 作成したら
side menu > VMインスタンス
インスタンスのリストが出てくる
メニューボタンから接続/停止などができる

インスタンス名をクリック
- 詳細
- モニタリング
を確認できる


# 2. Apacheとphpをインストール
## インスタンスにログイン
VMインスタンス > リスト > インスタンス > SSHの右 > ブラウザウィンドウで開く
Cloud Shellでログインする

```
sudo apt-get -y update
sudo apt-get -y install apache2
sudo apt-get -y install php
sudo systemctl start apache2
ps -aux | grep apache
```

外部IPをクリックすると、デフォルトページが表示される


# 3. Apache2でhtmlを表示してみる
SSHボタンを押す(デフォルトはメニューの一番上)
正確には、デフォルトのindex.htmlをphpファイルに変えて
内容を変更してみる

```
mv /var/www/html/index.html /var/www/html/index.php
```
index.php
```
<html>
    <div><?php echo "hello GCP!" ?></div>
</html>
```


# 4. SnapShot
スナップショットとは
- GCEの永続ディスクのバックアップのこと
- 最初は完全な永続ディスク全体をバックアップ
- 増分だけ保存され、自動的に圧縮
- 短時間で低コスト
- 永続ディスクの状態を定期的に保存できる

## 場所
GCE > 左menu > スナップショット > 作成

## 作成
1. ソースディスクを選ぶ(GCEに付随)
2. リージョン / マルチリージョン
マルチリージョンのほうが可用性が高い
料金もかかる

## スナップショットから復元
1. VMインスタンス > 作成
2. 名前をhukugenにする
3. イメージ選択 > スナップショット > 作成したバックアップ
復元の際は、新しいインスタンスの作成を行う

外部IPをクリックすると、前回と同様のphpページが表示
確認したら右の:から削除する


# 5. エフェメラル外部IP を 静的外部IPに変更
エフェメラル =  短命なもの。はかない存在。

エフェメラルIPは、インスタンスを停止/起動するたびにIPが変わる
停止すると、外部IPは表示されなくなる
確認方法: VMインスタンス > リスト > メニュー > 停止 > 起動


## 固定IPの設定
1. menu > VPCネットワーク > 外部IPアドレス
2. インスタンスに割り当てられたエフェメラルIPがある
3. タイプの選択で、 **静的** を選ぶ
4. IPの名前をつける(任意の)
5. 完了

静的IPに切り替えると、再起動しても外部IPが変わらない



