8
6

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 5 years have passed since last update.

Google Cloud Platform その1Advent Calendar 2018

Day 15

Cloud Shell環境を使ってCloud Shellのベースイメージを変更する

Last updated at Posted at 2018-12-15

この記事は Google Cloud Platform その1 Advent Calendar 2018 の15日目の記事です。
なんだかんだでQiita初投稿となります(アドベントカレンダーが初って人も珍しい気が…)。

弊社内にてGCP上でAnsibleとTerraformを用いたハンズオンを実施している際、「AnsibleとTerraformをはじめからインストールしている環境が欲しい」という意見をいただきました。(内容については弊社内ブログにて公開しております。)
ハンズオンはCloud Shellを利用していましたので、いつの間にかアルファ版として実装されていたCloud Shell環境を利用してコンテナイメージを作成してみます。

Cloud Shell環境の確認

Cloud Shellを開き、右上にあるアイコン一覧の一番左にあるモニターアイコンをクリックします。
CloudShell環境1.PNG

クリックするとCloud Shell環境の画面が新規タブでCloud Shell環境が開きます。
CloudShell環境2.PNG

Cloud Shellコンテナの作成

早速コンテナを作成します。
手順は以下の通りです。

  1. カスタムイメージの作成よりイメージを作成する
  2. Dockerfileを編集する
  3. イメージが作成されるので確認する

カスタムイメージの作成よりイメージを作成する

「カスタムイメージの作成」から、「新しいカスタムイメージを作成」をクリックします。

CloudShell環境2.5.PNG

今回は以下のように作成します。

項目名 設定値
イメージストレージ用のプロジェクト 作成するプロジェクト名
イメージ名 ansible_terraform

またチェックについては両方にチェックをつけ、「作成」ボタンをクリックします。

CloudShell環境3.PNG

※必要なAPIが許可されていない場合、「APIを有効にしてください」と表示されるため、APIを有効化します。

CloudShell環境3-1.PNG

Dockerfileを編集する

作成が終わると、gitリポジトリのクローンを確認されるため、続行をクリックしてリポジトリを作成します。
リポジトリ作成後、Dockerfileが表示されます。

CloudShell環境4.PNG

Dockerfile内に以下ソースを追加します。

RUN wget https://releases.hashicorp.com/terraform/0.11.8/terraform_0.11.8_linux_amd64.zip
RUN unzip terraform_0.11.8_linux_amd64.zip -d /usr/local/bin
RUN pip install ansible

作成後、gitリポジトリにaddします。

git add Dockerfile
git commit -m "edit Dockerfile"
git push origin master

pushすると、自動でCloud Buildが走ってDockerイメージを作成してくれます。すごいですね…。

CloudShell環境6.PNG

作成は10分程度で終わります。作成終了後、Cloud Shell環境より[編集]をクリックします。
環境の編集にて、「プロジェクトからイメージを選択する」を選択します。

CloudShell環境7.PNG

イメージを選択から、先ほど作成したイメージを選択します。

CloudShell環境8.PNG

先程作成したイメージを選択して、「保存」をクリックするとベースイメージが変更されます。
Cloud Shellコンソールを開いている場合はセッションを再起動してください表示されるため、再起動します。
再起動するとコンテナに接続しますが、結構長く接続中とでるためのんびり待っていると起動します。

起動後、イメージ内にAnsibleとTerraformがインストールされているか確認します。

CloudShell環境9.PNG

これでCloud Shell上にAnsibleとTerraformがインストールされたイメージの作成ができました。
Dockerfileを作成するだけでイメージが簡単に作成できるため、Cloud Shellを利用した研修を行うならかなりいいかもしれないです。

8
6
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
8
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?