1
0

GCP (Compute Engine) で無料SSL認証

Last updated at Posted at 2024-06-02

App EngineとCompute Engineの違い

  • App Engineは app.yml をデプロイするだけで、バックエンドのインフラストラクチャはGCPが自動で作成してくれる
     
  • Compute Engineは、仮想マシン(VM)を作成し、CPUやメモリ、ストレージなどのリソースを割り当てることができ、より柔軟性があり、OSやハードウェアの構成を自由に選択できる

参考サイト

参考というか〇パクリになっているけど、注意書きとか追加した。

Let’s Encryptでの無料のSSL認証

Let’s Encrypt の発行するSSL証明書の有効期間は90日間だが、多くのレンタルサーバーでは自動で更新してくれる。GCPでも自動更新スクリプトを設定することで、自動更新してくれる。
また、一瞬でSSL証明書が発行される

必要なもの

  • googleアカウント
  • ドメイン

ドメインの取得

  • 無料ドメインの取得
    • 海外のサイトでクレジットカードを登録する必要があるとか、その他、制約もある
  • お名前ドットコム
    • 1年目のキャンペーン価格で無料(1年限定)で取得できるのもある
      • デフォルトで自動更新されるため、取得後、忘れないようすぐに、更新をキャンセルする必要がある
    • とにかく、ことあるごとに追加の有料サービスを押し付けてくるので気を付ける必要がある
  • VALUE-DOMAIN

取得時の注意

  • whois情報公開代行の設定をしないと、自身の情報が公開される。

GCPの設定

  1. VMインスタンスの作成と静的IPアドレスの割り当て
  2. apacheのインストール
  3. 認証鍵の作成とvmインスタンスに認証キーの追加
  4. ゾーンの作成とネームサーバーの設定
  5. インスタンスグループの作成
  6. ロードバランサの作成
  7. ゾーンを編集してAレコードの追加
  8. SSL証明書のステータス確認

手順

1. VMインスタンスの作成と静的IPアドレスの割り当て

  1. VMインスタンスの取得

マシンタイプは e2-small 以上がいいと思う。
ブートディスクは お好みで使いやすいUbuntsuとかがいいと思う。

  1. 静的IPアドレスの予約と設定
    image.png

image.png

2. apacheのインストール

image.png

Ubuntsuでapacheのインストール
sudo apt-get update
Ubuntsuでapacheのインストール
sudo apt-get install apache2
Ubuntsuでapache2の起動
sudo service apache2 start
Ubuntsuで再起動後にapache2を起動させたい場合
sudo systemctl enable apache2

http://外部IPアドレス でapacheのデフォルトのページを確認する。

3. 認証鍵の作成とvmインスタンスに認証鍵の追加

ローカルのターミナルでも作成できるし、VMインスタンスのsshでも作成できる

~/.ssh/my_gce_vm はファイルの作成場所とファイル名
ssh-keygen -t rsa -b 4096 -f ~/.ssh/my_gce_vm -N '' -C 'vmインスタンス名'
ファイルが作成されたか確認
ls ~/.ssh/my_gce_vm

my_gce_vm.pubが作成されている。
image.png

cat ~/.ssh/my_gce_vm.pub

コピー
image.png
vmインスタンスの編集で 認証鍵の追加
image.png

4. ゾーンの作成とネームサーバーの設定

ゾーンの作成

image.png
image.png

ネームサーバーの設定

作成したゾーンの詳細ページからNSリンクをクリックして、レコードセットをコピーしていく
image.png
ドメイン会社のネームサーバーにゾーンのレコードセットを張り付けていく
image.png

5. インスタンスグループの作成

image.png

6. ロードバランサの作成

image.png
image.png
ロードバランサの名前とフロントエンドの構成
image.png
証明書の作成
image.png
バックエンドの構成
image.png
バックエンドサービスの作成
image.png
image.png
ヘルスチェックの作成
image.png

7. Aレコードの設定

ロードバランスが作成されたら
image.png
IPアドレスをコピーする
image.png
cloud DNSから ゾーンの編集で Aレコードを追加する
image.png
image.png

8. ssh証明書がactiveになるまで待機

image.png
image.png
しばらく時間がかかる。
image.png

https://取得したドメイン名でアクセスできるようになる。

/var/www/htmlのパーミッションの変更

参考サイト

www-data なのか apache なのかの確認

cat /etc/group
www-data:x:33:
  • グループ名
    • www-data
  • 「x」か 暗号化されたパスワード
    • x
  • グループID(GID)
    • 33
  • サブグループとして所属しているユーザー。複数ある場合にはカンマ区切り
    • なし

www-dataグループに ユーザーを追加

sudo usermod -a -G www-data username

/var/www/htmlのユーザーとグループをwww-dataに変更

再帰的に全てのファイル及びフォルダに対し行うというオプション

sudo chown -R www-data:www-data /var/www/html

所有者とグループ 書込実行読込(2+1+4)の権限、それ以外のユーザーは読込実行(4+1)のみ

sudo chmod 775 -R /var/www/html
1
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
1
0