AWSをいじり倒す(8.AWS CLI)
以下を参考にCLIでs3を操作する。
AWS CLIを使ってEC2のファイルをS3へアップロードしよう | Avintonジャパン株式会社
ゆくゆくはCLIマスターして、JSONでポリシーかけるマンになりたいなぁ。
環境としては、自PCから専用のIAMユーザとしてアクセスする方法と
EC2に操作したい対象のサービスのIAMロールをアタッチしてアクセスする方法がある。
基本的には後者のほうがよさそう。
S3を操作したいので、今回はS3FullAccessをアタッチする。
EFSの時に作ったEC2にアタッチ済みのロールに追加(手抜き)
AWS CLIツールはEC2(Amazon Linux)なら最初から入っているのでインストールは
不要。
EC2を立ち上げ、アクセスしconfig変更。
今回アクセスキーは使わないのでNone
EC2のリージョン名はいろんな確認方法があると思うが
DNSとかにも埋め込まれているのでそれ見て抽出
出力はjsonがおすすめらしい
configの格納場所も確認
VPCの確認コマンドを打つとエラー
権限を付与していないので、当然。
UnauthorizedOperationって出た時はIAMロールを見直す必要がある。
当該EC2にアタッチ中のロールに追加で2ポリシーをアタッチ
VPCReadOnlyAccessがあれば上記コマンドは通るはず。
早速試すと・・・通った。再アタッチとかは必要なくて即時反映
EC2ReadOnlyAccess権限も付与したので、インスタンス情報も取得可能
aws helpコマンドでヘルプが読めるけど
awsの後に続くコマンドはめちゃめちゃ種類が多いので
やりたいことがある都度ネットで調べた方が早そう。
早速、前回作ったS3バケットにファイルを入れてみる。
test-s3-12345は前回つくったバケットの名前
特に問題なく移動できた
バケットそのものを作る
バケットを削除する
思いの外簡単で、詰まるところがない。
--forceオプションで中身があっても強制削除できる。
次に、VPCエンドポイントの効力を確認してみる。
すでにVPC作る時にS3へのエンドポイントを作ってしまっていたので、
まずはエンドポイントありの時間を計測
30MBの空ファイルを作成
timeで計測
VPCのS3向けエンドポイントを削除する
削除すると、ルートテーブルからも消えた。賢い。
一旦消して、再度送信すると・・・
変わ・・・らない!?
EC2はオハイオ、S3もオハイオの状況だとAWS内部を通すも外部を通すも
転送速度としてはそんなに変わらないのかもしれない・・・。
探していると、同じく確認しようとしている記事を見つけた。
S3のVPC Endpoint経由でアクセス出来ているか否かの確認 – Publicサブネット編 – サーバーワークスエンジニアブログ
なるほど、CroudTrailか。次回CroudTrailを触ってみることにする。
進捗