雲のメモ帳

猫とクラウドと旅行が好きなインフラエンジニアです。 日々の調べたことや興味が持ったことをこのブログにアウトプットします。

CodebuildでDiffを実行するとエラーとなる場合の対処方法

これはなに? CodebuildでDiffを実行する場合のTips。 Codebuildのタスクで、特に何も考えずDiffを実行したところ、CodeBuildがエラーでコケたので対処方法について調査しました。

ECSで実行しているコンテナに対して、実行時間タイムアウトを実装する

これはなに? ECSで実行しているコンテナに対して、Lambdaを使って実行時間タイムアウトの仕組みを実装します。 タスク定義にタイムアウトの項目があったので、それで実行時間タイムアウト指定できるかなと思ったのですが、依存関係のタイムアウトとコンテナ…

CodeBuildでソースプロバイダのブランチ名を取得する

これはなに? CodeBuild内でソースプロバイダのブランチ名を取得するTips。 CodeBuildを利用して、DockerFileよりDockerコンテナを作成する際に、ビルドするソースのブランチによって挙動を変えたくて調査しました。 ソースプロバイダは、CodeCommmit。

AWS AthenaでS3上のCSVファイルより、テーブルを作成するときにヘッダー行をスキップする方法

Athenaを利用して、S3のCSVファイルを読み込むときにヘッター行をスキップするTips

ECRの untagged イメージにタグ名をつける

これはなに? AWS CLIでECRの untagged イメージにタグ名をつける手順メモ。 公式の手順だとイメージ変更にタグ名が必要だが、そもそもタグが付いてないイメージなので困って調べた。 イメージにもう一度タグを付ける - Amazon ECR

AWS CLIでAWSリソース情報をCSV形式で取得する

これはなに? EC2やLambdaなどのリソース情報をCSV形式で取得するAWS CLIコマンド群。 コスト削減を目的としてデータ集めていたので、課金に関連するパラメータが多いです。 実行環境はWindows。

AmazonLinux2のコンテナにAmazon Coretto8,11をインストールして、alternativesで切り替える

AmazonLinux2のコンテナに、AmazonCorretto8,11をインストールして、alternatives で切り替えられるようにします。

ECS コンテナインスタンスのスケールイン時のタスク実行チェックとドレイニング自動化

ECSでAutoScalngを設定している場合、スケールイン時に実行中のタスクを異常終了させないようにタスクがないかチェックしてあげる必要があります。 AWSの公式ブログで自動化している記事があったので、処理を正確に理解するために記事を参考にしながらLambda…

ECS on EC2でEFSをマウントする

ECS on EC2のコンテナ内でEFSを利用する際に少しハマったのでさらっと設定の備忘録。 事前準備 設定 ① ECS ‐ タスク定義 - <タスク定義名> - ボリューム ② ECS ‐ タスク定義 - <タスク定義名> - コンテナ定義 - マウントポイント 動作確認

boto3 でCloudWatchLogsの一覧を出力する

CloudWatchlogsはAWSの各種サービスのログやOSのログなどを簡単に保管できるのですが、気が付くと大量のロググループが作成されていて、料金もまぁまぁ発生したりしています。 今回Boto3使ってCloudwatchlogsの一覧を取得するスクリプトを作成しました。 保…

Jenkins SlaveタスクをFargate上で実行する

1. 環境 2. 作業 ① ECSプラグインをインストールする ② クラスター作成 ③ タスク定義作成 ④ Jenkins Slave Template 設定 ⑤ 動作確認 3. 最後に 1. 環境 OS : AmazonLinux2 Jenkins : 2.223-1.1 ECS プラグイン: Amazon Elastic Container Service (ECS) / F…

Lambda内で利用されるboto3のバージョンを調べてみた

Lambdaで実行するboto3のバージョンを調べたのでメモ。 調べ方 OSモジュールをインポートして、Lambdaのruntime情報が格納されているディレクトリを参照する。 以下はPython3系のLambdaを調べた時のコード。 import os import pprint as pp def lambda_handl…

boto3 でEC2とLambdaにアタッチされているIAMロール一覧を出力する

権限の見直しなどでEC2やLambdaのIAMロール回りを見直すことが多く毎回コンソールやCLIで確認するのが手間なので、CSVで出力できるようにしました。 以前IAMロールの一覧とアタッチされているIAMポリシーの一覧を作成するスクリプトを作りましたが、それを改…

CodePipeline から Lambda(Python)を実行した際に、「実行中」 からステータスが変わらない

最近 CI/CD環境の構築をしており、CodePipelineからLambdaを実行した際にハマったのでメモを残します。 問題 問題 環境 原因と解決方法 原因 解決方法 サンプルコード

異なるAWSアカウントのS3バケット間でコピーしたオブジェクトが「403 Access Denied 」になったときの対処法

異なるAWSアカウントのS3間のデータコピーをAWS CLIで実施した際に権限回りで少しはまったので備忘録です。 問題 原因と解決方法 最後に

S3 Select でParquetの中身を簡単に確認する

Parquetファイルは、テキストエディタなどでは中身を確認することがができず、中身を確認するのがすごく手間です。 S3にPaquetファイルを保管している場合は、S3 Select により簡単に中身が確認できるため、その手順を記載します。 手順 最後に

lambdaでWindowsのPathを指定する場合の注意点(エスケープシーケンス)

LamdbaからRun Command を実施するためにWindowsのPathを指定したところ、うまく実行できず詰まったのでメモ。 普通にWindowsのPathを指定すると \(バックスラッシュ) がPythonのエスケープシーケンスに変換されていたのが原因でした。 [参考サイト] エスケ…

SquidでHTTPS対応の透過的Proxyを構築する

http及びhttpsの通信を透過的に処理するProxyをAWS上に構築します。 https通信を透過的にproxyするには、一度通信の復号化が必要なため、Squidの「ssl-dump」機能を利用します。 本構成では、機能検証のため冗長性等は考慮していません。本番利用する場合に…

IAM Role 一覧とアタッチされているポリシーをCSVで出力

IAM ロールの一覧とそれにアタッチしているポリシーの一覧を作る必要があり、 手動だと手間がかかるので、Python(boto3)を使ってCSVで出力できるようにしました。 やったこと スクリプト

AWS Glueを使って、データ分析基盤を構築する(CSV → Parquet)

最近データ分析基盤系に興味をもっているので、AWS Glueを使ったデータ分析基盤の構築についてのチュートリアルをやってみました。 CSVファイルを分析用のファイル形式の「Parquet」に変換し、Amazon Athenaから閲覧します。 AWS Glue と Amazon S3 を使用し…

【AZ-103 試験対策】IDの管理

Azure 資格試験 Exam AZ-103: Microsoft Azure Administrator - Learn | Microsoft Docs 取得のためのメモ [AZ-103 Link] 1. 【AZ-103 試験対策】Azure サブスクリプションおよびリソースを管理する - 雲のメモ帳 2. 【AZ-103 試験対策】ストレージの作成と…

【AZ-103 試験対策】仮想ネットワークの設定と管理

Azure 資格試験 Exam AZ-103: Microsoft Azure Administrator - Learn | Microsoft Docs 取得のためのメモ [AZ-103 Link] 1. 【AZ-103 試験対策】Azure サブスクリプションおよびリソースを管理する - 雲のメモ帳 2. 【AZ-103 試験対策】ストレージの作成と…

CognitoのTOTP設定がCloudformation設定に対応

CognitoのTOTPの設定をCloudFormatoinで実施できるようになったのでメモ。 AWSのリリースには、サポート強化された旨は書かれていたのですが、具体的にどこか明示されていなかったので公式ドキュメントを確認しました。 Amazon Cognito で CloudFormation の…

IAMで特権ポリシーを操作(アタッチ、デタッチ)できないように制御する

一つのAWSアカウントを複数の部署やチームで共有している場合、権限制御をするために、IAMの管理が必須となります。 今回は、AWがマネージドポリシーとして用意している特権相当のポリシーについて、権限制御するようなIAMポリシーを作成しました。 権限制御…

CognitoのTOTPを利用する場合の注意点

※注意 2019年10月時点の情報です。 本記事の内容は、AWS側でアップデートがありそうな内容なため、適宜公式ドキュメントをご確認ください。 Cognitoでは、SMSとTOTPの2つのMFA要素があります。 公式のドキュメントでは、TOTPを推奨としていますが、現時点で…

Postmanを利用して、自己証明書を使ったURLへアクセスする場合の注意点

Postmanを使用してAPIの検証をしていたところうまく接続できなかったのでメモ。 最新版のでは、「ssl certification verification」 が有効になっており、証明書のチェックがされているため、自己証明書を利用している場合エラーとなりました。 検証などで自…

【AZ-103 試験対策】仮想マシン(VM)の展開と管理

Azure 資格試験 Exam AZ-103: Microsoft Azure Administrator - Learn | Microsoft Docs 取得のためのメモ [AZ-103 Link] 1. 【AZ-103 試験対策】Azure サブスクリプションおよびリソースを管理する - 雲のメモ帳 2. 【AZ-103 試験対策】ストレージの作成と…

AzureADを利用して、AWSコンソールへシングルサインオン(SSO)する

Azure ADを使ってAWS コンソールへSSOする設定を実施してみました。 調べてみると思ったよりも記事がなかったり、Azureのコンソールがアップデートされていたりで、意外と詰まりました。 今回利用しているAzureADのライセンスは、「free」です。 やっている…

仮想マシン削除後に、同時に消えないリソースの一括削除

Azureでは、仮想マシンを削除した時に、仮想ディスクやNICなどが同時に削除されません。 そのため、思わぬ課金になることがあるので、Azureを利用する際には、注意が必要です。 ※AWSに慣れていて、リソースが残っていることに気が付かず課金されていました、…

Log Analytics Agentを利用し、仮想マシンのログデータを収集する

Azureを利用した仮想マシンのログ管理について、検証してみましたので、その検証内容について記載します。 内容はLog Analytics ワークスペースの作成から、仮想マシンのログが収集されているところを確認するところまで。 仮想マシンのログ収集という意味で…