Agent Skills by ALSEL
Anthropic ClaudeDevOps・インフラ⭐ リポ 0品質スコア 50/100

gcp-expert

Google Cloud Platformのサービスおよびクラウドアーキテクチャに関するエキスパートレベルの知識を提供します。GCPの各種サービス選定から設計・構成まで、高度な技術的判断が必要な場面で活用できます。

description の原文を見る

Expert-level Google Cloud Platform, services, and cloud architecture

SKILL.md 本文

Google Cloud Platform エキスパート

Google Cloud Platform サービスとクラウドネイティブアーキテクチャの専門的なガイダンス。

コアコンセプト

  • Compute Engine, App Engine, Cloud Run
  • Cloud Functions (サーバーレス)
  • Cloud Storage
  • BigQuery (データウェアハウス)
  • Firestore (NoSQL データベース)
  • Pub/Sub (メッセージング)
  • Google Kubernetes Engine (GKE)

gcloud CLI

# Initialize
gcloud init

# Create Compute Engine instance
gcloud compute instances create my-instance \
  --zone=us-central1-a \
  --machine-type=e2-medium \
  --image-family=ubuntu-2004-lts \
  --image-project=ubuntu-os-cloud

# Deploy App Engine
gcloud app deploy

# Create Cloud Storage bucket
gsutil mb gs://my-bucket-name/

# Upload file
gsutil cp myfile.txt gs://my-bucket-name/

Cloud Functions

import functions_framework
from google.cloud import firestore

@functions_framework.http
def hello_http(request):
    request_json = request.get_json(silent=True)
    name = request_json.get('name') if request_json else 'World'

    return f'Hello {name}!'

@functions_framework.cloud_event
def hello_pubsub(cloud_event):
    import base64
    data = base64.b64decode(cloud_event.data["message"]["data"]).decode()
    print(f'Received: {data}')

BigQuery

from google.cloud import bigquery

client = bigquery.Client()

# Query
query = """
    SELECT name, COUNT(*) as count
    FROM `project.dataset.table`
    WHERE date >= '2024-01-01'
    GROUP BY name
    ORDER BY count DESC
    LIMIT 10
"""

query_job = client.query(query)
results = query_job.result()

for row in results:
    print(f"{row.name}: {row.count}")

# Load data
dataset_id = 'my_dataset'
table_id = 'my_table'
table_ref = client.dataset(dataset_id).table(table_id)

job_config = bigquery.LoadJobConfig(
    source_format=bigquery.SourceFormat.CSV,
    skip_leading_rows=1,
    autodetect=True
)

with open('data.csv', 'rb') as source_file:
    job = client.load_table_from_file(source_file, table_ref, job_config=job_config)

job.result()

Firestore

from google.cloud import firestore

db = firestore.Client()

# Create document
doc_ref = db.collection('users').document('user1')
doc_ref.set({
    'name': 'John Doe',
    'email': 'john@example.com',
    'age': 30
})

# Query
users_ref = db.collection('users')
query = users_ref.where('age', '>=', 18).limit(10)

for doc in query.stream():
    print(f'{doc.id} => {doc.to_dict()}')

# Real-time listener
def on_snapshot(doc_snapshot, changes, read_time):
    for doc in doc_snapshot:
        print(f'Received document: {doc.id}')

doc_ref.on_snapshot(on_snapshot)

Pub/Sub

from google.cloud import pubsub_v1

# Publisher
publisher = pubsub_v1.PublisherClient()
topic_path = publisher.topic_path('project-id', 'topic-name')

data = "Hello World".encode('utf-8')
future = publisher.publish(topic_path, data)
print(f'Published message ID: {future.result()}')

# Subscriber
subscriber = pubsub_v1.SubscriberClient()
subscription_path = subscriber.subscription_path('project-id', 'subscription-name')

def callback(message):
    print(f'Received: {message.data.decode("utf-8")}')
    message.ack()

streaming_pull_future = subscriber.subscribe(subscription_path, callback=callback)

ベストプラクティス

  • サービスアカウントを使用する
  • IAM を適切に実装する
  • Cloud Storage ライフサイクルポリシーを使用する
  • Cloud Monitoring で監視する
  • マネージドサービスを使用する
  • 自動スケーリングを実装する
  • BigQuery コストを最適化する

アンチパターン

❌ IAM ポリシーがない ❌ コードに認証情報を保存する ❌ コストを無視する ❌ 単一リージョンのデプロイ ❌ データバックアップがない ❌ 過度に広いアクセス権限

リソース

ライセンス: Apache-2.0(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
personamanagmentlayer
リポジトリ
personamanagmentlayer/pcl
ライセンス
Apache-2.0
最終更新
不明

Source: https://github.com/personamanagmentlayer/pcl / ライセンス: Apache-2.0

関連スキル

汎用DevOps・インフラ⭐ リポ 502

superpowers-streamer-cli

SuperPowers デスクトップストリーマーの npm パッケージをインストール、ログイン、実行、トラブルシューティングできます。ユーザーが npm から `superpowers-ai` をセットアップしたい場合、メールまたは電話でサインインもしくはアカウント作成を行いたい場合、ストリーマーを起動したい場合、表示されたコントロールリンクを開きたい場合、後で停止したい場合、またはソースコードへのアクセスなしに npm やランタイムの一般的な問題から復旧したい場合に使用します。

by rohanarun
汎用DevOps・インフラ⭐ リポ 493

catc-client-ops

Catalyst Centerのクライアント操作・監視機能 - 有線・無線クライアントのリスト表示・フィルタリング、MACアドレスによる詳細なクライアント検索、クライアント数分析、時間軸での分析、SSIDおよび周波数帯によるフィルタリング、無線トラブルシューティング機能を提供します。MACアドレスやIPアドレスでのクライアント検索、サイト別やSSID別のクライアント数集計、無線周波数帯の分布分析、Wi-Fi信号の問題調査が必要な場合に活用できます。

by automateyournetwork
汎用DevOps・インフラ⭐ リポ 39,967

ci-cd-and-automation

CI/CDパイプラインの設定を自動化します。ビルドおよびデプロイメントパイプラインの構築または変更時に使用できます。品質ゲートの自動化、CI内のテストランナー設定、またはデプロイメント戦略の確立が必要な場合に活用します。

by addyosmani
汎用DevOps・インフラ⭐ リポ 39,967

shipping-and-launch

本番環境へのリリース準備を行います。本番環境へのデプロイ準備が必要な場合、リリース前チェックリストが必要な場合、監視機能の設定を行う場合、段階的なロールアウトを計画する場合、またはロールバック戦略が必要な場合に使用します。

by addyosmani
OpenAIDevOps・インフラ⭐ リポ 38,974

linear-release-setup

Linear Releaseに向けたCI/CD設定を生成します。リリース追跡の設定、LinearのCIパイプライン構築、またはLinearリリースとのデプロイメント連携を実施する際に利用できます。GitHub Actions、GitLab CI、CircleCIなど複数のプラットフォームに対応しています。

by novuhq
Anthropic ClaudeDevOps・インフラ⭐ リポ 2,159

tracking-application-response-times

API エンドポイント、データベースクエリ、サービスコール全体にわたるアプリケーションのレスポンスタイムを追跡・最適化できます。パフォーマンス監視やボトルネック特定の際に活用してください。「レスポンスタイムを追跡する」「API パフォーマンスを監視する」「遅延を分析する」といった表現で呼び出せます。

by jeremylongshore
本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: personamanagmentlayer · personamanagmentlayer/pcl · ライセンス: Apache-2.0