AWS データチームガイド

AWS データチームガイド

コンテキスト

データプラットフォームチームは以下をサポートするために AWS を使用しています:

  • Snowplow

さらに、他のパイプラインがデータの保存に S3 バケットを使用しています:

  • just global
  • greenhouse

AWS へのアクセス取得

  • DataEngineeringAccess という役割名をリクエストする AR を記入する必要があります。詳細はこの Issue コメントをご覧ください。

AWS CLI

場合によっては、コマンドラインからアクションを実行する必要があります。たとえば、S3 内のファイルをクエリしたいが、UI の「S3 Select」を使用するためのファイルサイズ制限を超えている場合は、代わりにコマンドラインからクエリする必要があります。

AWS CLI のインストール

「オンボーディングテンプレート」で、すでに AWS CLI をインストールしているはずです。まだの場合は今すぐインストールしてください。

AWS CLI での認証

  1. Okta 経由で AWS access portal に移動してください
  2. gitlab SaaS production アカウントで、DataEngineeringAccess ロールの横にある Access keys をクリックしてください
  3. 以下の情報をコピーしてください
    • SSO スタート URL
    • SSO リージョン
  4. コマンドラインで aws configure sso を実行してください
    1. 保存した情報を入力するよう求められます
    2. その後、インターネットブラウザに確認を求めるポップアップが表示されます
    3. 最後に、シェルで以下を選択・入力してください:
      • プロジェクトを選択してください(例:gitlab SaaS production
      • ロールを選択してください(例:DataEngineeringAccess
      • リージョンなど残りのプロンプトは、<Enter> を入力してデフォルト値を使用してください
  5. 認証後、--profile DataEngineeringAccess-8552xxxxx 引数を追加して通常通り AWS CLI コマンドを実行してください。CLI プロンプトがこれを含めるよう通知します。

コマンド例

CLI を使用した「S3 select」コマンドの例:

aws s3api select-object-content \
--bucket datateam-just-global-campaigns \
--key datateam-just-global-campaignsInfo/2024-12-19-GitLab_Analytics_Export_JG-from-2023-07-01-until-2024-12-15.csv \
--expression "SELECT * FROM s3object LIMIT 5" \
--expression-type 'SQL' \
--input-serialization '{"CSV": {"FileHeaderInfo": "NONE"}}' \
--output-serialization '{"CSV": {}}' \
--profile DataEngineeringAccess-8552xxx \
output.csv