かべぎわブログ

ブログです

AWS

Terraformで複数ルールのセキュリティグループを作成する

概要 Terraformで複数のルールが記載されたセキュリティグループを作成してみます。 こんなかんじのやつ $ aws ec2 describe-security-groups --filters Name=group-id,Values=sg-XXXXXX --output text SECURITYGROUPS Managed by Terraform sg-XXXXXX wawaw…

Terraformで最新版のAmazonLinux2を取得する

概要 Terraformで最新版のAmazonLinux2をつかってEC2インスタンスを作成します。 こんなかんじ filterでしぼっています。 provider "aws" { region = "ap-northeast-1" } data "aws_ami" "recent_amazon_linux2" { most_recent = true owners = ["amazon"] f…

S3バケットの中のオブジェクトを数えてくれるPythonをかきました

概要 S3バケットの中にあるオブジェクトを数えてくれるPythonをかきました。 これです これです 値はCloudWatchメトリクスから持ってきています。 github.com つかいかた こうやってつかうのだ $ python get_object_count.py --help usage: get_object_count…

CloudWatch Logs InsightsでLambdaの実行時間の長いものを取得する

AWS

関数 CloudWatch Logs InsightsをつかってLambda関数の実行時間の長いものを取得してみたいと思います。 やってみる やってみる。 クエリ クエリはこんなかんじです。 filter @type = "REPORT" | fields @requestId, @billedDuration, @duration | sort by @…

DockerでCentOS8のAWSCLI環境を作成する

概要 DockerでCentOS8のイメージをつかってAWSCLIの動作環境を作ってみたいと思います。 Dockerfile こんなかんじ。 FROM centos:8 RUN dnf install -y wget python3 RUN wget https://bootstrap.pypa.io/get-pip.py RUN python3 get-pip.py RUN pip install…

S3バケットのサイズを取得してくれるPythonをかいた

概要 S3バケットのサイズ(オブジェクトのサイズの合計)を取得してくれます。 CloudWatchメトリクスの値をもとにしています。 コード これです。 github.com つかいかた usage: 'get_bucket_size.py [-h] --bucket BUCKET [--profile [PROFILE]] optional arg…

AWSマネジメントコンソールのヘッダーに色をつけるChrome/Firefox拡張

概要 AWSのマネジメントコンソールのヘッダーに色つけてくれるChrome/Firefox拡張です。 AWS console regions colorです。 リージョンがわかりやすくなります。 まねこんポチポチしてたらオレゴンにインスタンスつくってたわみたいなことがたぶんなくなりま…

オブジェクトをすべて削除してからS3バケットを削除してくれるPythonをかきました

概要 かんたんにS3バケットを削除してくれるPythonをかきました。 バケットを削除するときはすべてのオブジェクトを削除してからじゃないと削除できなくてめんどくさいなーってかんじだったのでかいた。 スクリプト これです。 github.com import boto3, arg…

S3上のアーカイブファイルの中身を展開して出力してくれるPythonを書きました

概要 S3上のアーカイブファイルの中身を展開して出力してくれるPythonを書きました。 github.com つかいかた $ python uncomp_s3.py --help usage: uncomp_s3.py [-h] [--profile [PROFILE]] path required arguments: path example s3://mybucket/archive.z…

AZIDを確認する方法

AWS

概要 AZIDを確認する方法まとめです。 マネジメントコンソール Resource Access Managerから確認することができます。 AWSCLI こんなかんじで確認できます。 aws ec2 describe-availability-zones { "AvailabilityZones": [ { "State": "available", "Messag…

motoでboto3のテストをする

AWS

概要 motoをつかってboto3のテストをしてみたいと思います。 そもそもmotoとは AWSサービスのモックをつくることができるやつです。 mock botoでmotoです(たぶん) motoでテストしてみる 実際にやってみます。 こんかいはS3にオブジェクトを置くスクリプトの…

PythonでIAMグループとかIAMロールをかんたんに削除してくれるPythonをかいた

概要 PythonでIAMグループとかIAMロールをかんたんに削除してくれるPythonをかきました。 これと IAMグループをかんたんに削除してくれるPythonをかいた - かべぎわブログ これ IAMロールをかんたんに削除してくれるPythonを書いた - かべぎわブログ りょう…

IAMグループをかんたんに削除してくれるPythonをかいた

概要 IAMグループをかんたんに削除してくれるPythonをかきました。 グループを削除する際にはポリシーをデタッチしたりユーザをリムーブしたりいろいろしなければいけないですがこのスクリプトはそれらを解決します。 いろいろデタッチしたりしてからグルー…

IAMロールをかんたんに削除してくれるPythonを書いた

概要 IAMロールをかんたんに削除してくれるPythonをかきました。 ロールを削除する際にはポリシーをデタッチしたりインスタンスプロファイルをリムーブしたりいろいろしなければいけないですがこのスクリプトはそれらを解決します。 いろいろデタッチしたり…

自分のインスタンスIDを取得する方法まとめ

AWS

自分のインスタンスIDを取得する方法をまとめてみた。 メタデータを取得する cloud-utilを実行する cloudinitのディレクトリを参照する メタデータを取得する メタデータをcurlなりwgetなりで取得する。 curl http://169.254.169.254/latest/meta-data/insta…

AWSCLIで任意のタグのついたすべてのサービスのリソースを取得する

AWS

概要 AWSCLIを利用して任意のタグのついているすべてのサービス(すべてとは言っていない)のリソースを取得してみたいと思います。 このコマンドを利用することによりタグの--filterオプションが存在しないサービスのリソースも取得することができます。 コマ…

AWS CLI Builderはいいぞ

AWS

AWS CLI Builderはいいぞっていうおはなし。 awsclibuilder.com たとえばこんなかんじでいろいろやってくれるのです。 かんがえなくても埋めていくだけでコマンドができるのです。 メディア: この商品を含むブログを見る

PythonのBeautifulSoupでAWS What's Newの今月の一覧を取得する(強化版)

概要 BeautfulSoupをつかってAWS What's Newの今月の一覧を取得します。 本文も全部出してくれる強化版です。 スクリプト 実行してみる こんなかんじでずらーっと今月の情報が出力されます。 ARMv6 や新しい機械学習コネクタをサポートする AWS IoT Greengra…

Python(boto3)でAWSCLIとおなじかんじでprofileをわたしてあげる

概要 PythonとAWSCLIをいったりきたりしていて、profileのわたしかたに統一性がなくて(特にPythonは作った人によって全然違ったりして)めんどくさいなあと思っていたのでそれらを解決できるようなものを書いた。 Pythonでも--profileをわたして実行させるこ…

ワンライナーで特定のタグのついたインスタンスを起動/停止するAWSCLI

概要 AWSCLIのワンライナーで特定のタグのついたEC2インスタンスを起動/停止してみます。 インスタンスを起動する Nameタグがwawawaとなっているインスタンスを起動するワンライナー $ aws ec2 start-instances --instance-ids `aws ec2 describe-instances …

PythonのBeautifulSoupでAWS What's Newの今月の一覧を取得する

概要 PythonのBeautifulSoupを利用してAWSのWhat's Newの今月のトピックの一覧を取得してみます。 スクリプト こんなかんじで取得できます。 h3タグをとってきてループさせています。 実行してみる 実行してあげるとこんなかんじです。 $ python ./scraping.…

Python(boto3)で~/.aws/configをつかってのAssumeRoleする

概要 Python(boto3)で~/.aws/configの設定をもとにAssumeRoleしてみます。 スクリプト こんなかんじでできます。 前提 ~/.aws/configはこんなかんじとする。 [default] region = ap-northeast-1 [profile wawawa_test_role] role_arn = arn:aws:iam::1234567…

Python(boto3)でAssumeRoleする

概要 Python(boto3)でAssumeRoleしてみます。 スクリプト こんなかんじ。 実行してみる get_caller_identityしてみるとこんなかんじでAssumeRoleされていることがわかる。 $ python ./assume_role.py {'UserId': 'AROA57T5RBG4BKZFFOHVS:wawawa', 'Account':…

Python(boto3)でアクセスキーをローテーションする

概要 Python(boto3)でアクセスキーをローテーションさせてみます。 スクリプト スクリプトはこんなかんじ。 処理の流れ こんなかんじのことをやってます。 古い(現在の)アクセスキーで新しいアクセスキーを作成する .aws/credentialsに新しいアクセスキーの…

Python(boto3)で自分のアクセスキーを削除する

概要 Python(boto3)を利用して自分のアクセスキーを削除してみます。 スクリプト こんなかんじ。 実行するとこれを実行したユーザのAWSアクセスキーが削除されます。 おわりに 作業終わりにこれを実行するようにするとか、踏み台のログアウト時とかシャット…

KMSのAWSマネージド型キーのキーポリシーを確認する

AWS

概要 KMSのAWSマネージド型キーのキーポリシーを確認してみます。 AWSマネージド型キーはカスタマー管理型のキーとちがい、マネジメントコンソールからキーポリシーを確認することはできませんが、AWSCLIを利用することで確認することができます。 コマンド …

IAMグループにアタッチされているポリシーをツリー状に表示するPython

概要 IAMグループにアタッチされているポリシーをツリー状に表示するPythonを書いてみました。 スクリプト スクリプトはこんなかんじ。 動かしてみる こんなかんじで動作します。 $ python iam_group_tree.py admin_group └─ AdministratorAccess test_group…

PythonでAWSCLIを実行する

概要 Pythonのスクリプトの中でAWSCLIを実行してみます。 こんなかんじ こんなかんじで指定してあげることでAWSCLIを実行できます。 import subprocess subprocess.call(['aws', 's3', 'ls']) おわりに べんりだったりそうでなかったりしそう。 AWS認定資格…

インスタンスIDの一覧をPythonのリスト内包表記で取得する

概要 EC2インスタンスのIDの一覧をPythonのリスト内包表記をつかってかんたんに取得してみます。 前提 いずれも以下の様な感じで宣言してあるとする。 import boto3 ec2 = boto3.client('ec2') response = ec2.describe_instances() リスト内包表記の場合 こ…

特定のタグがついたロールにスイッチロールするIAMポリシー

AWS

概要 特定のタグがついたロールにスイッチロールするようなIAMポリシーです。 IAMポリシー かんたんな説明 このポリシーの場合だと、environmentタグにdevという値が設定されているロールにスイッチロールすることを許可しています。 こんなかんじにタグでス…