1
/
5

たいがーのインターンシップ体験記【16日目】 ~がんがん自動化を進めたい~

今日で平成最後の出勤日です、たいがーです。

GWがやってきますね。今年は特別長いということですが、私はいつものように無駄な時間をすごしてしまいそうです。勉強するぞ・・・

さて、今日の振り返りです。

読みやすいREADMEとは。

何も知らない人がわかりやすいような文章を書くのは難しいですよね。

READMEに関しても、コードの部分は囲う。マークダウン記法を使って見やすくする。あと更新しなければいけない情報は注意書きを入れる。

ひとつひとつ、細かい部分をわかりやすくして、読みやすくすることは、その人の優しさの見せ所ですね!

私は・・・もっといろんな方のREADMEを見る必要がありそうです。笑

ハンズオンの準備を楽したい

前回まで行っていたハンズオンの準備の自動化なのですが、さらにほかの部分も自動化を進めることになりました。

今回は「クレデンシャル情報の取得」の自動化です。

boto3を使ってアクセスキーペアを作成する

各ハンズオンのアカウントのIAMユーザーのクレデンシャル(アクセスキー、シークレットアクセスキー)を取得し、ローカルにテキストファイルとして格納するという課題です。

今回はテスト用に三つのアカウントのクレデンシャルを、それぞれ別のフォルダに格納しました。

アクセスキーペア(アクセスキー、シークレットアクセスキー)を作成するための方法を調べると、boto3の中にありました。

create_access_key_pair()

久しぶりにboto3のドキュメントを見たからか、情報が多く、正解をなかなか見つけられませんでした。

また、このコードを動かすためにどのような情報を入力したら良いのか分からず、時間がかかりました。参考になりそうなところが見つからず、なかなか接続できませんでした。

boto3.session.Session(aws_access_key_id=access_key, aws_secret_access_key=secret_key, region_name=region)

その後セッションを開始し、接続するとわかり、こちらを入力しました。

また、IAMユーザーを動かすために

iam = session.resource('iam')
user = iam.User('name')

を使いました。

その後、テキストファイル内に格納したいだけを抜き取るために、文字列型に変換し、必要な部分だけを抽出しました。表示したい形に成形し、ファイル出力のための変数(今回はcredentials)に代入します。

そうしてキーペアを作成した後は、最後の仕上げです。

ファイルを作成し、作成したフォルダに格納する

まず、ファイルを作成するために格納するファイルを設定します。

ファイルを新規作成、書き込みます。その後、ハンズオンアカウントにつけている番号の名前のディレクトリを作成し、格納します。

作成し始めたとき、ファイルとフォルダが私の中で混ざってしまっていました。ディレクトリの中に先ほど作成したキーペアが入るようになっていたため、エラーが発生していたのです。

落ち着いて、一つ一つ進めていきます。

まず、先ほどの結果を入れるファイルを作成し、書き込みます。

path = "accesskey.txt"

with open(path, mode='x') as f:
    f.write(credentials)

その後、フォルダを作成するためにos.mkdirコマンドを使っていきます。

作成したファイルに書き込み権限がなく、Permission Errorが発生したので、os.chomdコマンドで権限を付与します。

最後に、ファイルをshutil.moveコマンドを使って今日は終了です!!

os.mkdir(new_dir_path)
os.chmod(new_dir_path, 755)
new_path = shutil.move('accesskey.txt', new_dir_path)

繰り返さないと人は忘れる。

久しぶりにboto3を触ると、どのようにするのか忘れていました。

繰り返し、書かないと忘れますね。時々は復習しないと忘れてしまいそうです。

Invitation from 株式会社サーバーワークス
If this story triggered your interest, have a chat with the team?
株式会社サーバーワークス's job postings
2 Likes
2 Likes

Weekly ranking

Show other rankings
Like Kana Kitagawa's Story
Let Kana Kitagawa's company know you're interested in their content