Tech 1 Blog (original) (raw)

こんにちは。Aimyです👧

今回は、GoogleCloudのIAMについてご紹介します。

この記事では、IAMの特徴や利点について詳しく解説し、クラウド環境でのアクセス管理をどのように最適化できるのかを紹介します。

IAMとは?

Identity and Access Management(IAM)は、Google Cloudのリソースへのアクセスを管理するためのサービスです。簡単に言えば、「誰が、どのリソースに、どのような権限でアクセスできるか」を制御するためのシステムです。IAMを使うことで、複雑なアクセス管理をシンプルに行うことができ、セキュリティの確保と運用の効率化が可能になります。

IAMの主要な機能

IAMは、Google Cloudのさまざまなリソースに対するアクセス権限をきめ細かく管理するために、いくつかの重要な機能を備えています。以下にその主要な機能を紹介します。

IAMは、ロールベースのアクセス制御を提供します。これは、ユーザーやサービスア カウントに対して、事前定義された「ロール」を割り当て、それによってアクセスできる範囲を制限する方法です。これにより、個別にアクセス権を設定する必要がなくなり、セキュリティと管理効率が向上します。

ロールのタイプは次の通りです:

- プリンシパルロール: Google Cloudのリソースにアクセスできるエンティティ

(例:ユーザー、サービスアカウント)
- 基本ロール:オーナー(Owner)、編集者(Editor)、閲覧者(Viewer)というプリセットのロールで、一般的な管理タスクやリソースの閲覧に適用されます。
- カスタムロール:特定の要件に基づいて、個別に権限を設定できるカスタムロール。これにより、最小限の権限を守りながら、きめ細かくアクセス管理を行うことができます。

IAMは、Google Cloudのリソースを階層構造で管理します。この構造に基づき、権限の継承が可能です。具体的には、プロジェクトやフォルダ、組織単位に設定した権限は、その下にあるすべてのリソースに自動的に適用されます。これにより、プロジェクト全体や組織単位で一貫したアクセス制御を簡単に行うことができます。

階層構造は次の通りです:

- 組織(Organization): 組織全体で共通のポリシーを適用。
- フォルダ(Folder): 複数のプロジェクトをグループ化し、共通のポリシーを設定。
- プロジェクト(Project): 個別のアプリケーションやサービスに対するアクセスを管理。
- リソース(Resource): Compute EngineやCloud Storageなど、実際のクラウドリソースに対するアクセス制御。

IAMは、セキュリティのベストプラクティスとして 最小権限の原則を推奨しています。これは、ユーザーやサービスがその役割を実行するために必要な最小限の権限のみを付与するという考え方です。このアプローチにより、過剰な権限を持つユーザーによる誤操作や不正アクセスのリスクを軽減できます。

カスタムロールの利用や、特定のリソースに対してのみアクセス権限を付与することで、セキュリティを強化しながら効率的な運用が可能になります。

サービスアカウントは、Google Cloudのリソースやアプリケーション間で安全にアクセスをやり取りするために使われる、IAMの重要な機能です。サービスアカウントは、アプリケーションや仮想マシンGCPリソースにアクセスする際の「身分証明書」として機能し、自動化されたタスクやサーバー間通信に利用されます。

ユーザーに依存しないアクセス: サービスアカウントを使うことで、人間のユーザーが直接関与せずに、アプリケーションがGCPリソースに安全にアクセスできるようになります。
限定的な権限管理: サービスアカウントにも最小権限の原則を適用し、必要な権限のみを付与することができます。

Google CloudのIAMは、監査ログ(Audit Logs)機能を提供しており、誰がどのリソースにいつアクセスしたかを詳細に記録します。このログにより、セキュリティイベントやコンプライアンスのチェックが可能です。たとえば、特定のユーザーが不適切なリソースにアクセスした場合や、不審なアクティビティがあった際に、これらを迅速に検出して対応できます。

まとめ

Google CloudのIAM(Identity and Access Management)は、クラウドリソースへのアクセスをきめ細かく管理するための強力なツールです。IAMの特徴であるロールベースのアクセス制御や最小権限の原則、サービスアカウントの活用により、セキュリティを強化しつつ、運用を効率化できます。クラウド環境でのセキュリティは常に進化しており、適切なアクセス管理を行うことが重要です。Google CloudのIAMを活用することで、リソースの保護とビジネスの成長を同時に実現するための強固な基盤を構築できるでしょう。

こんにちは。Aimyです👧

今回は、Google Cloudのファイアウォールルールについて紹介します。

Google Cloud では、**ファイアウォールルール**を使用して、ネットワークトラフィックを管理し、リソースを保護することができます。この記事では、Google Cloudのファイアウォールルールの特徴と、それを活用した効果的なセキュリティ管理について解説します。

Google Cloudのファイアウォールルールとは?

Google Cloudのファイアウォールルールは、ネットワークトラフィックのフィルタリングに用いられる機能です。具体的には、特定のリソースに対して許可される、もしくはブロックされるトラフィックを指定することができます。これにより、不正なアクセスや攻撃からクラウドリソースを保護することが可能になります。

Google Cloudにおけるファイアウォールルールは、**VPC** のレベルで管理され、VPCネットワーク内のすべてのインスタンスに適用されます。(インスタンスを個別に管理することも可能)これにより、各インスタンスに個別のファイアウォールを設定する手間を省き、ネットワーク全体を一元管理できるメリットがあります。

主な特徴

Google Cloudのファイアウォールルールは、以下のような特徴を持っています。

ファイアウォールルールでは、インバウンド(受信)トラフィックアウトバウンド(送信)トラフィックの両方を管理することができます。これにより、外部からの接続だけでなく、内部リソースから外部への接続も制御可能です。

- インバウンドルール: 外部から特定のリソースに対するアクセスを許可または拒否するためのルール。
- アウトバウンドルール: 内部リソースから外部への通信を制限するためのルール。
これにより、例えば外部からの不要なトラフィックをブロックしつつ、内部リソースからの不要な接続も防ぐことができます。

ファイアウォールルールには、優先度を設定することができます。優先度は、0 から 65535 の整数で指定し、数値が小さいほど高くなり、競合するルールがある場合に先に適用されます。これにより、ネットワークセキュリティポリシーを柔軟に設定し、特定のトラフィックに対する例外処理や特定の状況に応じたルール適用が可能になります。

ファイアウォールルールは、特定のネットワークタグサービスアカウントに基づいて適用できます。これにより、インスタンスごとに異なるアクセスルールを設定でき、特定のグループや役割に応じたきめ細かいセキュリティ管理が可能です。

- ネットワークタグ: 特定のタグを持つインスタンスに対してのみルールを適用。
- サービスアカウント: サービスアカウントに基づき、インスタンスやアプリケーションのアクセス権限を設定。

Google Cloudのファイアウォールには「暗黙のルール」と呼ばれるデフォルトで適用されるルールがあります。これらのルールは、明示的に設定されたファイアウォールルールがない場合に適用され、Google Cloud内でのネットワーク通信を制御します。

ルールには、以下2つが存在します。

  1. 暗黙の上り(Ingress)拒否ルール

方向が 上り (Ingress) 、 送信元が 0.0.0.0/0 、優先度が 65535 、アクションが deny のルールです。すべてのインバウンド(外部からの受信)トラフィックを拒否します。 つまり、ファイアウォールで明示的に許可されていない受信トラフィックはすべて拒否されます。これにより、外部からの不正なアクセスや意図しない通信がブロックされます。
[実際の動作] 特に許可ルールを作成していない限り、外部からVMインスタンスや他のリソースにアクセスすることはできません。

2. 暗黙の下り(Egress)許可ルール

方向が、下り (Egress) 、 宛先が 0.0.0.0/0 、優先度が 65535 、アクションが allow のルールです。すべてのアウトバウンド(内部からの送信)トラフィックを許可します。 つまり、 ファイアウォールで明示的に拒否されていない送信トラフィックはすべて許可されます。これにより、VMインスタンスなどがインターネットや他のネットワークにアクセスできるようになります。
[実際の動作]デフォルトでは、インスタンスがインターネットや外部リソースに接続するトラフィックはブロックされません。

ポイント
※暗黙のルールはあくまでデフォルトの設定であり、ユーザーが明示的にファイアウォールルールを作成することで、これらのルールを上書きすることができます。
※暗黙の拒否ルールにより、インバウンドトラフィックを許可したい場合は、手動でルールを追加する必要があります。

まとめ

Google Cloudの**ファイアウォールルール** は、VPCネットワーク全体のトラフィックを管理し、クラウドリソースを保護するための強力なツールです。ステートフルなトラフィックフィルタリング、インバウンドとアウトバウンドトラフィックの制御、優先度に基づくルール適用など、多くの特徴を備えており、セキュリティ管理を効率的かつ柔軟に行えます。

こんにちは。Aimyです👧

今回は、Google CloudのサービスであるAnalytics Hubについて紹介します。

データは、現代のビジネスにおいて最も重要な資産の一つです。しかし、データの活用を最大限に引き出すためには、効果的な共有コラボレーションが不可欠です。Google Cloudが提供するAnalytics Hubは、企業間や組織内でのデータ共有を効率的に行うための革新的なサービスです。

Analytics Hubとは?

Analytics Hubは、Google Cloudのデータ共有サービスで、組織内や外部パートナーとのデータ共有を安全かつ効率的に行うためのプラットフォームです。従来、データ共有はファイルの転送やAPIを介した方法が主流でしたが、Analytics Hubは、**Google CloudのBigQuery**を、基盤とした高度なデータ共有を実現します。Analytics Hubを利用すると、データ提供者は自身のデータを管理しながら、特定の利用者にアクセス権を付与し、セキュアにデータを利用してもらうことが可能です。これは特に、大規模なデータセットを持つ企業や、多くのパートナーとデータを共有する必要があるビジネスにとって非常に有用です。

Analytics Hubの特徴

Analytics Hubは、単なるデータ共有ツールにとどまらず、効率的なデータ活用をサポートするさまざまな機能を提供しています。以下にその主な特徴を紹介します。

Analytics Hubは、**Google Cloudのセキュリティ基準に基づいて構築されており、データ共有を安全に行えます。データ提供者は、自分のデータがどのように利用されるかを厳密にコントロールでき、アクセス権限を細かく設定することができます。さらに、Analytics HubはBigQuery上で動作するため、共有するデータセットの規模に制限がなく、スケーラブル**なデータ共有が可能です。これは、大量のデータを扱う企業にとって大きなメリットとなります。

Analytics Hubの重要な機能の一つに、データエクスチェンジ機能があります。データエクスチェンジは、複数のデータ提供者が一箇所にデータを集め、特定の利用者にアクセスを提供できる共有プラットフォームです。この仕組みを使うことで、組織や企業はデータエクスチェンジを通じて多様なデータセットを活用し、より豊富な分析やインサイトを得ることができます。

ビジネスの意思決定において、リアルタイムのデータが重要になることは少なくありません。Analytics Hubを使用すると、データはリアルタイムで提供され、利用者は最新の情報に基づいて分析や判断を行うことができます。データの最新性を保ちながら、APIバッチ処理に頼ることなく、常にアップデートされたデータを提供できるため、迅速な意思決定や予測分析に役立ちます。

Analytics Hubでは、アクセス権限を細かく設定することが可能です。誰がどのデータにアクセスできるかを、詳細にコントロールできるため、データの漏洩リスクを低減しながら、必要なデータ共有が可能です。アクセス権は、組織全体、特定のプロジェクト、または個々のユーザーに基づいて設定することができます。

また、アクセス権限を持つユーザーのみがデータを利用できるため**、データのプライバシーとコンプライアンス**も確保されます。

まとめ

Google CloudのAnalytics Hub は、組織内外でのデータ共有を効率化し、ビジネスにおけるデータ活用を最大化するための強力なプラットフォームです。セキュアでスケーラブルなデータ共有、リアルタイムでのデータ提供、そしてカスタマイズ可能なデータエクスチェンジ機能により、企業は迅速で正確な意思決定をサポートできます。

概要

今回は、AlloyDBの既存環境に、別のリージョンで動作するセカンダリクラスタセカンダリインスタンスを追加作成していきます。別のリージョンにまたがるレプリケーション環境を構築することができるので、耐障害性を向上させることができます。

設定も簡単なので、実際に見てみましょう。

今回の記事では、既存環境として、プライマリクラスタがあることが前提になるので、まだの場合は下記を参考に設定してみてください。

net-tech1.hatenablog.com

説明

Google Cloud コンソールから AlloyDB を選択します。

プライマリ クラスタ(tech1-cluster)の概要画面を表示させたら、セカンダリ クラスタ を作っていきます。画面の上部から、「+セカンダリ クラスタを作成」を選択します。

セカンダリ クラスタを作成」を選択

セカンダリ クラスタ の構成を入力します。クラスタIDと場所(リージョン)を入力します。

セカンダリ クラスタの構成画面

場所(リージョン)は、プライマリ クラスタと別のものを選ぶ必要があります。プライマリである asia-northeast1(東京) は薄い文字色で表現され、選択できないようになっています。

プライマリとは別のリージョン、asia-northeast2(大阪) を選択しました。「続行」を押下します。

プライマリクラスタと同一リージョンは選択不可

次に、セカンダリ インスタンスの構成情報入力です。インスタンスIDを入力します。マシンの形態やフラグは、プライマリインスタンスと同じものが自動的に設定されていました。

セカンダリ インスタンスの構成画面

入力が終わったら、「クラスタの作成」を押下すると、処理が開始され、進むとセカンダリクラスタの概要画面が表示されました。

セカンダリクラスタの概要

クラスタの一覧画面に戻って、全体を見てみましょう。

元々あったプライマリクラスタ、プライマリインスタンスに加えて、セカンダリクラスタセカンダリインスタンス(作成処理中)が表示されていることが確認できます。

クラスタ一覧(セカンダリ追加後)

インスタンス作成には少し時間がかかりました。終わったら、を更新してみましょう。ステータスが変わりました。

クラスタ一覧(セカンダリインスタンス作成処理終了後)

ちなみに、プライマリインスタンスの概要を見てみると、複製先として、先ほど作成したセカンダリクラスタ(大阪リージョン)が表示されるようになっています。

プライマリクラスタの概要(セカンダリ追加後)

以上で、セカンダリクラスタインスタンスの作成が完了です!お疲れ様でした。

次回

次回は、今回作成したセカンダリインスタンスを切り離して昇格させ、プライマリインスタンスとして動作させてみたいと思います。

こんにちは。Aimyです👧

今回は、Google Cloudが提供するBigQueryを紹介します。

データがますます膨大になる現代、企業や組織はそのデータを迅速かつ効率的に分析する手段を必要としています。ここでは、BigQueryとは何か、その特徴や使い方について解説します。

BigQueryとは?

BigQueryは、Google Cloudが提供するフルマネージドのサーバーレスデータウェアハウスです。大規模なデータセットの管理、分析、クエリ処理を可能にするサービスであり、特に膨大な量のデータを扱う企業にとっては強力なツールです。通常のデータベースでは、データの規模が大きくなるにつれて、クエリ処理時間が長くなり、システムの負荷も増大します。しかし、BigQueryはGoogleの強力なインフラストラクチャを活用し、ペタバイト級のデータを秒単位でクエリ処理することができます。

特徴

  1. スケーラビリティ
    BigQueryは、ペタバイト級のデータをスケーラブルに処理することができます。Googleの強力なインフラストラクチャ上に構築されているため、データの量が増えてもパフォーマンスが落ちることなく、シームレスにスケールアウトします。
  2. サーバーレスアーキテクチャ
    BigQueryはサーバーレスのアーキテクチャを採用しており、ユーザーがインフラストラクチャの管理に煩わされることはありません。つまり、ユーザーはインスタンスの設定やリソースの管理を意識する必要がなく、データ分析に集中できます。
  3. 高速なクエリ処理
    BigQueryは、分散型のアーキテクチャを利用してクエリを並列処理し、非常に高速な結果を提供します。特に、大規模なデータセットに対しても秒単位で結果を得られることが特徴です。これにより、ビジネスインテリジェンスやリアルタイム分析が可能となります。
  4. SQLに対応
    BigQueryはSQLに対応しており、既存のSQLの知識を持つユーザーであれば、簡単にBigQueryを使い始めることができます。また、Google Cloudの他のサービスともシームレスに統合できるため、エコシステム全体でデータを活用することができます。
  5. コスト効率
    BigQueryは、使用量に基づいて課金されるため、コスト効率が高いです。ストレージとクエリの両方が従量制で課金されるため、使用しないリソースに対して余計な費用が発生しません。また、クエリの実行にかかるコストを事前に見積もることもできるため、予算管理がしやすいです。

使用方法

BigQueryの使用は非常に簡単です。Google Cloud Consoleから、あるいはコマンドラインツールやAPIを通じてデータをロードし、SQLクエリを実行するだけです。また、Google Cloud SDKを使用することで、プログラム的にBigQueryを操作することもできます。

BigQueryの主な用途

BigQueryは、多種多様な業界やユースケースで利用されています。

まとめ

BigQueryは、Google Cloudが提供する強力なデータウェアハウスサービスです。大規模なデータを扱う際に、そのスケーラビリティ、高速なクエリ処理、フルマネージドの運用環境が大きなメリットとなります。データ分析のニーズが高まる現代において、BigQueryを活用することで、企業はより迅速かつ効率的にデータから価値を引き出すことが可能です。

こんにちは。Aimyです👧

今回は、Google Cloudの提供するCloud Composerを紹介します。Cloud Composerがどのようなサービスであり、どのように活用できるのかを詳しく解説していきます。

Cloud Composerとは?

Cloud Composerは、データエンジニアや開発者が、複雑なワークフローやデータ処理パイプラインを自動化するためのサービスです。オープンソースのツールであるApache Airflowのすべての機能をクラウド上で提供し、スケーラブルで信頼性の高いデータパイプラインの構築をサポートします。

基盤となるApache Airflowとは?

  1. フルマネージドのApache Airflow環境
    Cloud Composerは、Apache Airflowを基盤としたフルマネージドサービスです。そのため、Airflowのインフラ管理を必要とせず、ワークフローの定義や実行に集中できます。Google Cloudがインフラのスケーリングやメンテナンスを担当するため、システム管理の負担が軽減されます。
  2. スケーラブルなワークフローオーケストレーション
    Cloud Composerは、Google Cloudのインフラを活用して、ワークフローのスケールアップやスケールアウトを行います。大規模なデータ処理パイプラインや複数のタスクを同時に実行する場合でも、パフォーマンスを維持しつつ効率的に処理できます。
  3. 柔軟なワークフロー定義
    Cloud Composerでは、Pythonを使用してワークフローを定義します。これにより、複雑なタスクの依存関係や条件分岐を柔軟にコーディングできます。AirflowのDAG(Directed Acyclic Graph)を利用して、タスクの順序や依存関係を視覚的に構築できるため、ワークフローの管理が直感的に行えます。
  4. 監視とアラート
    ワークフローの進行状況をリアルタイムで監視でき、タスクの失敗や遅延が発生した場合にはアラートを設定することができます。そのため、問題が発生した際の迅速な対応が可能となり、ビジネスへの影響を最小限に抑えることができます。
  5. セキュリティとアクセス管理
    Cloud Composerは、Google Cloud IAM(Identity and Access Management)と統合されており、ワークフローやリソースへのアクセスを細かく制御できます。また、データの暗号化やネットワークセキュリティの設定も簡単に行えます。

活用例

# データ処理パイプラインの自動化 #
大規模なデータセットの処理や変換を定期的に行う必要がある場合、Cloud Composerを利用してデータパイプラインを自動化できます。例えば、データのETL(Extract, Transform, Load)プロセスをスケジュールし、処理結果をBigQueryにロードするワークフロー等を構築できます。

# 複数サービスを横断するワークフローの実行 #
Cloud Composerを使って、Google Cloud内外のさまざまなサービスを連携させた複雑なワークフローを管理できます。例えば、APIからデータを取得し、Cloud Storageに保存し、そのデータを基にBigQueryで分析する、といった一連の作業を自動化できます。

まとめ

Cloud Composerは、フルマネージドでスケーラブルなApache Airflow環境を提供し、クラウドネイティブなデータパイプラインの構築を容易にします。データ処理や複雑なタスク管理の自動化を支援する強力なツールです。

こんにちは。Aimyです👧

今回は、Google Cloudが提供するCI/CDサービスであるCloud Buildをご紹介します。

続きを読む