ksaitoの日記

日々試したことの覚え書き

2020-01-01から1年間の記事一覧

awsコマンドの補完

awsコマンドの補完を有効にするワンライナー complete -C '$(type -p aws_completer)' aws

Mac版VSCodeでPythonの開発環境がつらい

Mac版VSCodeでPython環境を作ろうとしましたが、断念しました。 gitを認識しない ターミナルでは、問題なくつかてているgitをVSCodeが認識しませんでした。 ソース管理の画面を開くと「有効なソース管理プロバイダはありません。」と表示されます。 結局、タ…

Mavenのオフシャルコンテナを使ってmvnコマンドをすぐ使えるようにする

Mavenは、DockerHubでオフシャルコンテナを公開しています。 このコンテナを使って、LinuxのDocker環境で、いつでもmvnを実行できるようにしました。 下記のようなシェルを$HOME/bin/mvnに準備して事項権限をつけます。 $ cat ~/bin/mvn #! /bin/bash docker…

terraformで特定のリソースのみ操作する

terraformで作成したリソース一式のうち特定のリソースのみplan/apply/destroyしたいときに使えます。 terraform plan -target=リソース名 例えば、ec2-instanceモジュールで複数のEC2を作った場合、2番目のインスタンスだけplan実行は、次のようにします。 …

AWS CloudTrailの活用

AWSは、デフォルトで90日分のログがCloudTrailに取得されています。 誰が、いつ、どのような操作を行ったかを調べることができます。 下記は、直近100イベントのイベント名を集計するコマンドです。 $ aws cloudtrail lookup-events --max-items 500 --query…

サーバ証明書を取得する方法

自己署名を使っていたりProxy環境の場合、HTTPSのアクセスでSSL certificate problem: self signed certificate in certificate chainという感じのエラーに遭遇することがあります。 サーバが既知のものであるとわかっている場合、下記のコマンドで証明書を…

Windowsのパッケージ管理をChocoletyからscoopに変更

Windowsのパッケージ管理としてChocoletyを使ってきました。 今日から、scoopに切り替えます。 PowerShellで、下記のコマンドでインストールできます。 Invoke-Expression (New-Object System.Net.WebClient).DownloadString('https://get.scoop.sh') iwr -u…

terraformでキーペアを作る

terraformで普段使っている公開鍵でキーペアを作ります。 $ cat -n provider.tf variable.tf local.tf main.tf 1 provider "aws" { 2 profile = "terraform" 3 region = "ap-northeast-1" 4 } 5 variable "key_name" { 6 default = "mykey" 7 } 8 variable "…

terraformでデフォルトVPCを扱う

ちょっとした、検証をする場合に、都度、VPCを作りたくないので、デフォルトVPCを使いたいことがよくあります。 terraformでデフォルトVPCのVPCIDを参照するには、dataを使うのが良さそうです。 コードの取得 下記のコマンドでサンプルコードを取得します。 …

シェルの未定義変数

bashで未定義な変数があった場合、下記のように処理していました。 $ cat test1.sh #! /bin/bash VAR1=$1 if [ -z "$VAR1" ] then echo needs arg1 exit 1 fi echo ok $VAR1 下記のように動作します。 $ ./test1.sh needs arg1 $ echo $? 1 $ ./test1.sh aaa…

画面ショットを取る

画面ショットを取る方法をいつも忘れてしまうのでメモしておきます。 範囲 Mac OS Windows 10 範囲指定 Shift + Command + 4 Win + Shift + S 指定のウィンドウ N/A Alt + Print 全画面 Shift + Command + 3 Shift + Print Mac OSは、controlキーを追加する…

既存のVPCをterraformで扱う方法について考えました。 既存のVPCの情報をインポートしてterraform管理下に置く方法は、たくさん見つかりましたがVPCを扱う権限がなかったり、管理されたVPCを使うだけというケースでは、dataを使うのが良さそうです。 使い方 …

terraformのtfファイル

terraformのtfファイルのお作法について考えました。 ファイルの分割 terraformは、カレントディレクトリのtfファイルを読み込みます。 ファイルの分割やファイル名の付け方は、開発者に委ねられているので、下記のようにすることで、どこに何があるか見通し…

docker cp の代替え

docker cp でコンテナからファイルを取り出す場合、パスやファイルパーミッション、オーナによって失敗することがあります。 取り出す場合は、下記のようなdocker exec と tar を使ったほうがいいかもしれません。 対象を下記のコマンドで確認します。 TARGE…

Makefileで複数の必須パラメータをチェックする方法

やりたいこと 下記のようなMakefileがあります。 target: @echo PARAM1=$(P1) @echo PARAM2=$(P2) 実行するとパラメータのP1とP2を処理に組み込むことができます。 $ make PARAM1= PARAM2= $ make P1=aaa PARAM1=aaa PARAM2= 2つのパラメータが指定されなか…

AWS EKSへのアクセス

EKSのクラスタにアクセスするには、VPCの中にあるEC2からIAMロールで権限を付与するのが安全です。 どうしてもVPCの外からアクセスする必要がある場合は、下記のようにします。 EKS用のIAMユーザを作成 IAMでEKS専用のグループを作成しEKSの操作に必要な権限…