こんにちは、こえじまです。
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
[aside]ワンポイント
実際のプロジェクトでは、GCSに格納したファイルを外部に公開するのはセキュリティ上、よろしくありません。
今回のようにインスタンスからGCSのファイルを読み取らせるのであれば、インスタンスにService Accountを適用し、そのサービスアカウントへのRead権限を与える方が良いでしょう。
ただ、このラボではService Accountを作ったりは権限の関係で出来ないので諦めて外部への公開としています。
[/aside]
アップロードしたresources-install-web.shをクリックして、詳細画面でgs://から始まるURIをコピーしておきましょう。
Task2. リモート起動スクリプトを使用して、インスタンスを構成する
ナビゲーションメニューのCompute Engine > VM Instanceを選択します。
画面上部のCREATE INSTANCEをクリック。
基本的に全てデフォルトで良いのですが、以下2つだけ書き換えます。
HTTPアクセスを許可したいので、Firewall部分のAllow HTTP trafficにチェックを入れます。
startup-script-url
を指定したいので、Management, security, disks, networking, sole tenancyをクリックして開き、ManagementタブのMetadataに以下を入力します。
startup-script-url : gs://バケット名/resources-install-web.sh
Createをクリック。
これでインスタンスが立ち上がって、Apacheのインストール、Apacheの起動が終われば全タスク完了ですが、リモート起動スクリプトが起動しているか確かめてみましょう。
ナビゲーションメニューのCompute Engine > VM Instanceを開き、先程作成したinstance-1をクリックします。
DetailsタブのSerial port 1 (console)をクリックしてみましょう。
以下のようにリモート起動スクリプトが呼び出されていることが分かります。
無事Apacheが立ち上がれば、立ち上げたVMのExternal IPにhttpアクセスすることで、Apacheのデフォルトページを確認できます。
これで全タスク完了です。
お疲れさまでした!
このラボが含まれる、Cloud Architecture: Design, Implement, and Manageのクエスト解説は次の記事でまとめています。
良かったらそちらもご覧ください。
[kanren2 postid=”2317″]
コメント