2023-09-24
「AWSではじめるインフラ構築入門」をGCPに読み替えてやってみる その1
インフラの勉強をしようと思って「AWS ではじめるインフラ構築入門」を買ったんだけど、2 年くらい積読してしまっていた
本が発売になってからしばらく経つので AWS の画面は変わりまくっていそうだけど、インフラの構成自体がめっちゃレガシー化して、「こんな構成で構築しねーよ!」みたいなレベルにはなっていないと思うので、今更ながらやっていく
ただし、現時点では AWS に詳しくなっても仕方ない世界線で生きているので、GCP に読み替えて、可能な限り同じ構成となるように進めてみようと思う
ということでこの記事はいつもの勉強メモである
本にはない寄り道もしているのであしからず
組織を作ってみる
GCP について調べていると、組織でまとめておくと色々と便利らしいので、まずは組織とやらを作成してみる
適当なプロジェクトの IAMと管理
にある IDと組織
から設定のページへ移動できる(どこから in するのが正規ルートなんだろうか)
この記事を参考にした
- 組織
初めて利用する
を選択CLOUD IDENTITYに申し込む
をクリック- 指示に従って入力を進める
- ドメインの認証は TXT レコードを追加してやる
- なお、Cloud Identity は Google Workspace から Gmail やカレンダーなどのグループウェアを除外した、アカウント管理特化のサービスらしい
- この辺の違いとか、いくら説明読んでも意味わからなすぎる
- 一通り登録が終わると
admin.google.com
ドメインの管理コンソールに飛ばされる- サブスクリプション管理ページで、Cloud Identity Free となっていれば無料で使える状態なので安心
- 誰が特権ユーザーなのかは
admin.google.com
の アカウント -> 管理者ロール へ行き、特権管理者
を見ると特権ユーザーの一覧が表示される
- それ以降
- もし会社で使うなら設定した方がよいが、今はプライベートでの利用なので一旦後回しにして、必要に応じてやっていくことにする
第 3 章
- GCP のルートユーザー = GCP にログインする時につかった Google アカウント。みたいなイメージがあったけど、実は IAM のページに行くと、ログインに使っている Google アカウント(組織を作った時に最初に作った管理者アカウント)がデフォルトで
組織の管理者
として登録されている(今見ているのが組織の場合)- もし組織の下にプロジェクトを作った場合は、組織から
組織の管理者
を継承してオーナー
と組織の管理者
の 2 つのロールを持ったユーザーとなる
- もし組織の下にプロジェクトを作った場合は、組織から
- IAM のベストプラクティスはGCP にも記載があるっぽいが、今回は本の内容に従ってやっていくことにする
- ルートユーザーのアクセスキーの削除
- アクセスキーは IAM のプリンシパルではなく、サービスアカウントに対して作成する
- ただし、サービスアカウントのキーは大変強力な認証情報のため、正しく管理できないとセキュリティのリスクとなるので、Google はWorkload Identity 連携の利用を推奨しているっぽい
- サービスアカウントとは「ユーザーではなく、アプリケーションや Compute Engine インスタンスなどのコンピューティング ワークロードで通常使用される特別なアカウント」とのこと
- サービスアカウントの作成は
IAMと管理
にあるサービスアカウントのページから作成できる
- サービスアカウントの作成は
- サービスアカウントの一覧を見て、過剰な権限を持ったアカウントがなければとりあえず OK か
- ルートユーザーの MFA を有効化
- GCP へは Google アカウントを使ってログインするので、GCP ではなく Google アカウントに対して MFA を設定する
- https://www.skygate-tech.com/blog/basic-GCP-security-setting-jp#index_y5Aq3Z8j
- 管理者コンソール(
admin.google.com
)のセキュリティページから MFA を強制できるので、必要に応じてやっておくとよい(ガチ運用するのであれば必須)
- 個々の IAM ユーザーの作成
- IAM のページの
アクセス権を付与
から追加することができる - 別の Google アカウント(gmail ドメイン)でもいいし、Google 管理コンソールから組織に新しくユーザーを追加して、その人を追加してもよい
- 今回は新しく Google 管理コンソールから
admin@ドメイン
のユーザーを作成し、その人にプロジェクトのオーナーになってもらった
- 今回は新しく Google 管理コンソールから
- IAM についてはこの記事を見ておくと全体像がイメージしやすいかもしれない
- グループを使用したアクセス許可の割り当て
- Google 関係のサービスを使ってグループを作成する方法はいくつかあるようで、ここを見ると 3 つの方法があるっぽい
- 実際に会社で使うのであれば
Google Workspaces
かCloud Identity
のどちらかで作るのが良さそう
- 実際に会社で使うのであれば
- 今回は既に組織を作って
Cloud Identity
が使えるので、GCP のIAMと管理
のグループ
ページからグループを作ればよい- グループを作成すると、グループのメールアドレスも作成される
- ちなみにグループを作成すると Google 管理者コンソール側のグループにも表示されるようになる
- グループへ権限を付与する場合は IAM のページからユーザーに権限を付与するように、グループのメールアドレスに対して権限を付与する
- IAM パスワードポリシーの適用
- ↑ でも少し書いたが、GCP ではなく、Google 管理者コンソールの セキュリティ -> 認証 -> 2 段階認証プロセス や パスワードの管理 などから MFA を強制したり、パスワードの条件などを設定できる
- 「必ず記号を 1 つ以上入れる」みたいな設定ができるかどうかはわからなかった
これで一通り最低限の初期設定は完了したと思う
ネットを検索するといろんな人の「GCP 事始め」的な記事が出てくるので、部分的に参考にしつつ調整していくと良さそう
毎日のように「今日あれ触ってみよ」みたいな対象が変わるので、最後まで完走できるかわからないけど、少しずつやっていこうと思う