AWS
PR

AWS CLIでGoogle Cloud Storage(GCS)につなぐ方法

ycsg113XYZ
記事内に商品プロモーションを含む場合があります
スポンサーリンク

はじめに

この記事はAWS CLIにてGCEのLinuxからGoogle cloud Storageへのファイル入出力をする方法を説明します。

gsutil使えば良いのでは?

そうなんです。通常GCEのLinuxであればgsutilコマンド使えば良いのです。Google cloud Storage(いわゆるGCS)へコマンド接続する場合、通常であればgsutilを使うことでしょう。

しかしgsutilコマンドが不調な時(まぁそんな時はあまりないですが)、別の手段があるのも良いかと思います。

また、やりとりするStorageがGCSであろうとS3であろうとプログラムコードを統一する場合に役立ちます。

ここではAWS CLIにてGCEのLinuxからGoogle cloud Storageへのファイル入出力をする方法を説明します。

AWS CLI導入~設定

段取りを大きく言いますと

  • AWS CLIインストール
  • GCE総合運用性設定
  • プロファイル作成
  • プロファイル使ってAWS CLIコマンド発行

となります。

AWS CLIインストール

↓GCE Linux上にpython3が入っていない場合、まずはpython3とpipコマンドを導入します。既に導入済みの場合、スキップしてください。

yum install python3
yum install python3-pip

#または

sudo yum install python3
sudo yum install python3-pip

↓pip3コマンドでAWS CLIをインストール

pip3 install awscli

#または

sudo pip3 install awscli

GCS総合運用性設定

↓GCP管理コンソールから「連携したいCloud Storageのページ」を開き、設定ページから「相互運用性」タブをクリックします。

↓そこから一番下へ行き、「鍵を作成」をクリック

↓作成した(1)アクセスキーと(2)シークレットキーをメモしておきます。(次のプロファイル作成工程で使用します)

プロファイル作成

通常のS3の時と同様、aws configureコマンドでプロファイルを作成します。

↓例えばプロファイル名を「google-cloud-storage」で作成する場合は次のようになります。

aws configure --profile google-cloud-storate

AWS Access Key ID: GCS上で発行したアクセスキー(1)
AWS Secret Access Key : GCS上で発行したシークレットアクセスキー(2)
Default region name : 空白
Default output format : 空白

プロファイルを使ってAWS CLIコマンド発行

前ステップで作成したプロファイルを使用し、awsコマンドによりGoogle Storageへのコマンドを発行することが可能です。

aws --endpoint-url gsのリクエスト エンドポイント --profile gsのアクセスキーを登録したprofile名   s3 cp gceのコピー元path s3://[GSのコピー先バケット名]/ファイル名

# 例
aws --endpoint-url https://storage.googleapis.com --profile google-cloud-storage s3 cp ./myfile.txt s3://my_gcs_bucket/myfile.txt

ここでのポイントは、--endpoint-url https://storage.googleapis.com です。これがおまじないの言葉となります。

まとめ

AWS CLIコマンドに慣れている方はこちらの方法でS3に接続しているかのようにGoogle Storageに接続できます。

是非、ご活用下さいませ。

スポンサーリンク
ABOUT ME
ひろし
ひろし
都内在中のなんちゃってSE。ギリギリPG。の私が管理者のひろしです。 日々夜遅くまで仕事に追われています。 今日は早く帰りたい・・・
スポンサーリンク
記事URLをコピーしました