AWSをいじり倒す(8.AWS CLI)

以下を参考にCLIでs3を操作する。

AWS CLIを使ってEC2のファイルをS3へアップロードしよう | Avintonジャパン株式会社

ゆくゆくはCLIマスターして、JSONでポリシーかけるマンになりたいなぁ。

 

環境としては、自PCから専用のIAMユーザとしてアクセスする方法と

EC2に操作したい対象のサービスのIAMロールをアタッチしてアクセスする方法がある。

 

VPC作って、VPC内で通信を完結させることも多いので

基本的には後者のほうがよさそう。

 

S3を操作したいので、今回はS3FullAccessをアタッチする。

EFSの時に作ったEC2にアタッチ済みのロールに追加(手抜き)

f:id:Messerarche:20200506150932p:plain

 

 

AWS CLIツールはEC2(Amazon Linux)なら最初から入っているのでインストールは

不要。

f:id:Messerarche:20200507082631p:plain

 

EC2を立ち上げ、アクセスしconfig変更。

f:id:Messerarche:20200506152646p:plain

今回アクセスキーは使わないのでNone
EC2のリージョン名はいろんな確認方法があると思うが

DNSとかにも埋め込まれているのでそれ見て抽出

f:id:Messerarche:20200506152807p:plain

出力はjsonがおすすめらしい

 

configの格納場所も確認

f:id:Messerarche:20200506153026p:plain

 

VPCの確認コマンドを打つとエラー

f:id:Messerarche:20200506153242p:plain

権限を付与していないので、当然。

UnauthorizedOperationって出た時はIAMロールを見直す必要がある。

 

当該EC2にアタッチ中のロールに追加で2ポリシーをアタッチ

f:id:Messerarche:20200506153516p:plain

VPCReadOnlyAccessがあれば上記コマンドは通るはず。

 

早速試すと・・・通った。再アタッチとかは必要なくて即時反映

f:id:Messerarche:20200506153629p:plain

 

EC2ReadOnlyAccess権限も付与したので、インスタンス情報も取得可能

f:id:Messerarche:20200506153935p:plain

 

aws helpコマンドでヘルプが読めるけど

awsの後に続くコマンドはめちゃめちゃ種類が多いので

やりたいことがある都度ネットで調べた方が早そう。

 

 

早速、前回作ったS3バケットにファイルを入れてみる。

f:id:Messerarche:20200506155824p:plain

test-s3-12345は前回つくったバケットの名前

特に問題なく移動できた

 

 

バケットそのものを作る

f:id:Messerarche:20200506161429p:plain

f:id:Messerarche:20200506161400p:plain

 

バケットを削除する

f:id:Messerarche:20200506161503p:plain

思いの外簡単で、詰まるところがない。

--forceオプションで中身があっても強制削除できる。

 

 

次に、VPCエンドポイントの効力を確認してみる。

すでにVPC作る時にS3へのエンドポイントを作ってしまっていたので、

まずはエンドポイントありの時間を計測

 

30MBの空ファイルを作成

f:id:Messerarche:20200506162524p:plain

 

timeで計測

f:id:Messerarche:20200506162610p:plain

 

VPCのS3向けエンドポイントを削除する

f:id:Messerarche:20200506162739p:plain

削除すると、ルートテーブルからも消えた。賢い。

 

一旦消して、再度送信すると・・・

f:id:Messerarche:20200506163321p:plain変わ・・・らない!?

 

EC2はオハイオ、S3もオハイオの状況だとAWS内部を通すも外部を通すも

転送速度としてはそんなに変わらないのかもしれない・・・。

 

探していると、同じく確認しようとしている記事を見つけた。

S3のVPC Endpoint経由でアクセス出来ているか否かの確認 – Publicサブネット編 – サーバーワークスエンジニアブログ

なるほど、CroudTrailか。次回CroudTrailを触ってみることにする。

 

進捗

f:id:Messerarche:20200507073759p:plain