めるぶろぐ

まったりぷろぐらまーの雑記

【参加記録】JAWS-UG CLI専門支部 #169R S3基礎 バージョニング #jawsug_cli

JAWS-UG CLI専門支部のハンズオンに参加しました。
以下個人的なまとめです。

イベントページ

jawsug-cli.connpass.com

ハンズオン資料

prototype-handson-cli.s3-website-ap-northeast-1.amazonaws.com
手順書わかりやすくてすごい~~~ってなるけどなんとこれ自動生成してるらしい、すごい。

バージョニングとは

  • 複数バージョンのオブジェクトを管理できる機能。
  • バージョニング有効な場合 名前空間が広がるだけ(末尾にバージョンIDのついたオブジェクトになる)
  • バージョンIDを指定しないと一番新しいものが取れる
  • Gitのように差分情報を持つものではないので、サイズはリニアに増える。ので利用料金も増える。めちゃめちゃお金有り余ってます~~とかならこれ使う選択肢もあるのかな……。
  • 利用用途としては、保存期間を指定するものや、監査として必要な場合くらい。
  • よほど(上記監査とかで)AWS上でのバージョニングが必要でない場合は、S3のそと(Gitとか)でバージョン管理するほうが良い。
  • 公式ドキュメント

docs.aws.amazon.com

ハンズオン

やったこと概要
  • S3上にテキストファイルを配置して、バージョニングを有効化する。
  • テキストファイルを変更して、複数バージョンが保存されていることを確認する。
  • 特定バージョン・最新バージョンのオブジェクトを取得する。
  • バージョンを指定、または全てのバージョンのオブジェクトを削除する。
つまづいた
  • Cloud9、新しく環境作成するたびに新規EC2インスタンスにロールを付与しなければならないのに気づかなくて、権限でエラーになった。

(ユーザ・ロールの作成は前回やってるから……の意識でいた、EC2はCloud9の環境作成ごとに作られるので個別にロールの付与が必要。)

メモ(主にツイッターにリアルタイムで書いてたまとめ)

AWS CLI関連
  • IAMポリシーを検索ときは検索パス(path-prefix)を指定したほうが速くなるらしい(と聞いたのでpath-prefixのオプションをコメントアウトしてみたけどそんなに変わった感じはしなかった……ハンズオン外でのIAMポリシー作ったりしてないし検索対象が少ないからそんな違いがないのか、その前にコメントアウトしないで実行してたからキャッシュかなんかに残ってて早いだけなのかどうなんだろう)
  • 上IAMポリシーの検索パスは先頭・末尾の両方に「/」が必要。
  • S3の操作にはS3ハイレベルコマンドとs3apiがあるが、s3apiコマンド使ったほうが厳密&応用が利き、s3のほうが利便性高い(ショートカットみたいな感じ)なのでどっち使うかは場合に応じてって感じらしい。
  • バケットを消すときはすべてのオブジェクトを消す必要がある→バージョニングが有効な場合はすべてのバージョンのオブジェクトも消す必要がある。
  • 複数バージョンが保存された状態でバージョニングを停止すると、画面上は見えないけどオブジェクトが残ったままになり、バケットが消せなくなる。
  • オブジェクトの情報を取りたい時はhead-object、オブジェクト自体を取りたい時はget-objectを使用する。(オブジェクトのタイムスタンプがとりたいだけのような場合にget-object使うとその分だけダウンロードの料金がかかっちゃう。オブジェクトのサイズが大きいときは特に)
CLI&手順書の全般的な話
  • 手順書書くときは変数にreadonlyつけることも有用(どっかで書き換えがおこっちゃうことがある)
  • 個人で使うときはできるだけ変数使ったほうがいい(書き換えるときに1部分で済むしどこを変数にするか?というのを考えるきっかけになる)、他人に渡すときは良し悪しあるので場合に応じて

所感

  • 前回のCLI専門支部ハンズオンは手順を追うだけでいっぱいいっぱいだったのだけど、今回は余裕をもって作業できたし、ツイッターでリアルタイムにメモとか感想とかがつぶやけた。
  • 使いどころが難しそう(前述したが監査で必要な時くらい)なので、利用することはないかなーという感じ。そういうのがあるのか、という程度。
  • CLIで変更する部分について、GUIの画面上でここがこう変わってる、みたいなのが見れるのはわかりやすい(アンケートでも言及されてたけど)。
  • CLIとか手順書についての話としてはすごい有益だった。変数とかreadonlyとかいろいろ活用したい。

変更履歴

・2020/10/10 Twitterにて指摘いただいた箇所の訂正