[Qwiklabs]リモート起動スクリプトを使用したComputeインスタンスのデプロイ

PR

こんにちは、こえじまです。

GCPのProfessional Cloud Architect受験に向け、Qwiklabsのハンズオンを勉強中です。

今回はリモート起動スクリプトを使用したComputeインスタンスのデプロイ(GSP301)の解説をします。

シナリオ(抜粋)

あなたは、起動スクリプトをインスタンスのメタデータに直接格納するのではなく、Cloud Storageバケットに格納し、仮想マシンがバケット内の関連するスクリプトファイルを参照するように構成することにしました。

install-web.shというApacheをインストールする基本的なbashスクリプトが起動スクリプトのサンプルとして用意されています。

では、やっていきましょう。

Task1. GCSにinstall-web.shをアップロードする

install-web.shの入手

ラボの画面左側にSample Startup Scriptへのリンクがあります。

スクリプトのダウンロード

これをクリックし、resources-install-web.shをダウンロードしておきましょう。

GCSバケットの作成とファイルのアップロード

GCPにログイン後、ナビゲーションメニューのStorage > Browserを選択します。

画面右上か、中央下部のCREATE BUCKETをクリック。

バケットの作成

名前だけは付けないといけないので、プロジェクト名を付けました。(グローバルに一意であればなんでもいいです)

バケット命名

他は全てデフォルトのままバケットを作成します。

作成できたらバケットの画面が開かれているはずなので、Upload filesをクリックするか、ドラッグ&ドロップして先程ダウンロードしたresources-install-web.shをアップロードします。

ファイルをアップロード

GCSへのアクセス権限の設定

アップロード出来たことを確認したら、resources-install-web.shの一番右の・・・をクリック。

右側の・・・をクリック

Edit permissionsをクリック。

権限を変更

Add itemをクリックしたら、以下を入力してSAVE。

  • ENTITY: User
  • NAME: allUsers
  • ACCESS: Reader
allUsersを追加
ワンポイント
実際のプロジェクトでは、GCSに格納したファイルを外部に公開するのはセキュリティ上、よろしくありません。
今回のようにインスタンスからGCSのファイルを読み取らせるのであれば、インスタンスにService Accountを適用し、そのサービスアカウントへのRead権限を与える方が良いでしょう。

ただ、このラボではService Accountを作ったりは権限の関係で出来ないので諦めて外部への公開としています。

アップロードしたresources-install-web.shをクリックして、詳細画面でgs://から始まるURIをコピーしておきましょう。

URIのコピー

Task2. リモート起動スクリプトを使用して、インスタンスを構成する

ナビゲーションメニューのCompute Engine > VM Instanceを選択します。

画面上部のCREATE INSTANCEをクリック。

インスタンスを作成

基本的に全てデフォルトで良いのですが、以下2つだけ書き換えます。

HTTPアクセスを許可したいので、Firewall部分のAllow HTTP trafficにチェックを入れます。

HTTPを許可

startup-script-urlを指定したいので、Management, security, disks, networking, sole tenancyをクリックして開き、ManagementタブのMetadataに以下を入力します。

startup-script-url : gs://バケット名/resources-install-web.sh
startup-script-urlを指定

Createをクリック。

これでインスタンスが立ち上がって、Apacheのインストール、Apacheの起動が終われば全タスク完了ですが、リモート起動スクリプトが起動しているか確かめてみましょう。

ナビゲーションメニューのCompute Engine > VM Instanceを開き、先程作成したinstance-1をクリックします。

DetailsタブのSerial port 1 (console)をクリックしてみましょう。

コンソールを確認

以下のようにリモート起動スクリプトが呼び出されていることが分かります。

startup-script-urlで呼び出されている

無事Apacheが立ち上がれば、立ち上げたVMのExternal IPにhttpアクセスすることで、Apacheのデフォルトページを確認できます。

Apacheの表示確認

これで全タスク完了です。

完了!

お疲れさまでした!

このラボが含まれる、Cloud Architecture: Design, Implement, and Manageのクエスト解説は次の記事でまとめています。

良かったらそちらもご覧ください。

[Qwiklabs]Cloud Architecture: Design, Implement, and Manageの解説

2020年6月17日

PR

コメントを残す

メールアドレスが公開されることはありません。