2019-01-01から1年間の記事一覧
2019年をふりかえる。 仕事 2社ほどでお仕事した。 2020年からはまた新しいところでお仕事する。 期待を裏切ったり裏切られたりいろいろあった。 もっとうまくやれた場面はあったとおもう。 私生活 お酒をのんで駅のホームでしらないおじさんに怒鳴られたり…
概要 リモートステートをつかって別のstateファイルの値を参照して見たいと思います。 これによって stateをまたいでいろいろできたりするのでstateの分離等もしやすくなるかもしれないしならないかもしれない。 EC2インスタンスを作成するstateと、それにEI…
概要 TerraformのtfstateファイルをS3バケットで管理してみます。 仕事でチームでやるときはだいたいこの設定でやると思う。 こんなかんじ こんなかんじで設定してあげます。 terraform { backend "s3" { bucket = "mybucket" key = "terraform.tfstate" reg…
概要 Elastic Beanstalkで作成されたS3バケットを削除しようとしたときに以下のようなエラーがでた。 botocore.exceptions.ClientError: An error occurred (AccessDenied) when calling the DeleteBucket operation: Access Denied 権限は足りてるはずなの…
概要 Terraformでランダムな数値列をサフィックスにして、バケットの名前がかぶらないようにしつつ、バケットを作成してみます。 前提 terraformのバージョン等はこんなかんじ。 $ terraform --version Terraform v0.12.18 + provider.aws v2.43.0 + provide…
概要 Terraformの実行時にわたした引数によって処理を変更し、作成されるリソースを変えてみたいと思います。 こんなかんじ 引数hikisuuがtrueであればサブネットを作成する。 falseであればしない。といったかんじ。 VPCはどちらの場合でも作成される。 var…
概要 TerraformでAWSアカウント番号(アカウントID)を取得してみます。 前提 Terraformのバージョンはこんなかんじ。 $ terraform --version Terraform v0.12.18 + provider.aws v2.43.0 こんなかんじ みんなだいすきcaller_identityです。 data "aws_caller_…
概要 TerraformでAWSのアカウントエイリアスを利用してみます。 前提 前提はこう $ terraform --version Terraform v0.12.18 + provider.aws v2.43.0 こんなかんじ data "aws_iam_account_alias" "wawawa" {} output "account_alias" { value = "data.aws_ia…
概要 Terraformのバージョンを固定してみます。 こんなかんじ こんなかんじで書いてあげるとTerraform v0.12.18以外ではapply等ができなくなります。 terraform { required_version = "0.12.18" } または以下のようにして動作を確認した最も古いバージョン以…
概要 AMIといっしょにスナップショットも削除してくれるPythonをかいたので見てください。 これです これです。 github.com つかいかた helpです $ python ./delete_ami_snapshot.py --help usage: ./delete_ami_snapshot.py [-h] --image_id IMAGE_ID [--pr…
概要 Terraformで複数のルールが記載されたセキュリティグループを作成してみます。 こんなかんじのやつ $ aws ec2 describe-security-groups --filters Name=group-id,Values=sg-XXXXXX --output text SECURITYGROUPS Managed by Terraform sg-XXXXXX wawaw…
概要 PowerShellでInvoke-Expressionでも終了ステータス(ExitCode)を取得してみます。 終了ステータスとれない問題 たとえばこんなかんじのPowerShellスクリプトがあったとする。 Write-Host 'wawawa' exit 2 実行して終了ステータスとると当然Falseになる。…
概要 Terraformで最新版のAmazonLinux2をつかってEC2インスタンスを作成します。 こんなかんじ filterでしぼっています。 provider "aws" { region = "ap-northeast-1" } data "aws_ami" "recent_amazon_linux2" { most_recent = true owners = ["amazon"] f…
概要 Terraformで変数をつかってみます。 variableを使うと変数が定義できます。 きほんのかたち インスタンスタイプをt3.microの変数を設定している。 provider "aws" { region = "ap-northeast-1" } variable "instance_type" { default = "t3.micro" } re…
概要 Pythonを利用してコンソールのサイズを取得してみたいと思います。 こんなかんじ こんなかんじです import os columns,lines = os.get_terminal_size() ゆーすけーす こんなかんじでぼくはつかっている こうすることでコンソールサイズがどんなかんじで…
概要 S3バケットの中にあるオブジェクトを数えてくれるPythonをかきました。 これです これです 値はCloudWatchメトリクスから持ってきています。 github.com つかいかた こうやってつかうのだ $ python get_object_count.py --help usage: get_object_count…
関数 CloudWatch Logs InsightsをつかってLambda関数の実行時間の長いものを取得してみたいと思います。 やってみる やってみる。 クエリ クエリはこんなかんじです。 filter @type = "REPORT" | fields @requestId, @billedDuration, @duration | sort by @…
概要 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バケットのサイズ(オブジェクトのサイズの合計)を取得してくれます。 CloudWatchメトリクスの値をもとにしています。 コード これです。 github.com つかいかた usage: 'get_bucket_size.py [-h] --bucket BUCKET [--profile [PROFILE]] optional arg…
概要 AWSのマネジメントコンソールのヘッダーに色つけてくれるChrome/Firefox拡張です。 AWS console regions colorです。 リージョンがわかりやすくなります。 まねこんポチポチしてたらオレゴンにインスタンスつくってたわみたいなことがたぶんなくなりま…
概要 かんたんにS3バケットを削除してくれるPythonをかきました。 バケットを削除するときはすべてのオブジェクトを削除してからじゃないと削除できなくてめんどくさいなーってかんじだったのでかいた。 スクリプト これです。 github.com import boto3, arg…
概要 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…
概要 CLIでうごくAuthenticatorをつくりました これです github.com つかいかた こんなかんじ $ python ./auth.py --help usage: ./auth.py [-h] [--name NAME] optional arguments: --name NAME Name of AWS account (default: ALL) オプションを指定しない…
概要 AZIDを確認する方法まとめです。 マネジメントコンソール Resource Access Managerから確認することができます。 AWSCLI こんなかんじで確認できます。 aws ec2 describe-availability-zones { "AvailabilityZones": [ { "State": "available", "Messag…
概要 motoをつかってboto3のテストをしてみたいと思います。 そもそもmotoとは AWSサービスのモックをつくることができるやつです。 mock botoでmotoです(たぶん) motoでテストしてみる 実際にやってみます。 こんかいはS3にオブジェクトを置くスクリプトの…
概要 PowerShellでコマンド履歴を表示します。 コマンド こうすればみれる PS1> Get-History Id CommandLine -- ----------- 1 echo 'wawawa' 2 echo 'sasasa' 3 echo 'dadada' おわりに わすれがち Windows PowerShellクックブック作者: Lee Holmes,マイク…
概要 PythonのテストツールのpytestをつかってPythonスクリプトのテストをしてみたいと思います。 インストール pytestはpipでインストールできます。 $ pip install pytest テストしてみる 実際にpytestでテストしてみます。 前提 こんなかんじのスクリプト…
概要 Pythonスクリプトから別のPythonファイルのスクリプトを呼び出してみたいと思います。 こんなかんじ こんなかんじでできます。 呼び出すPythonファイルがどこにあるかによって指定の仕方がすこしちがいます。 同一階層のPythonを呼び出す こんなかんじ…
概要 Pythonでargparseをつかって2つの引数のうちどちらかののみを指定している場合のみOKとしてみます。 文章で書くとよくわかんない。 こんなかんじにしたい。 $ ./wawawa.py --wawawa # これはOK $ ./wawawa.py --sasasa # これもOK $ ./wawawa.py --wawa…
プルリクエストを投げるまでの手順です。 git switch対応版です。 手順 手順 ブランチをつくってきりかえる addしてcommitしてpushする プルリクエストなげる チェックしてマージする 後処理 おしまい ブランチをつくってきりかえる 一気にできる。 $ git sw…