dehio3’s diary

仕事、生活、趣味のメモ

AWS

API Gatewayチュートリアルをserverless frameworkを使って構築してみた

はじめに Code serverless.yml Deploy Test serverless framework の用に作成されるリソース IAM Role S3 Cloud Formation まとめ はじめに API Gateway + LambdaのREST API環境をserverless frameworkで作成しました。 作成した環境は以下のAPI Gatewayチュ…

Github ActionsでAssumeRoleする方法

はじめに ローカルでのデプロイ方法 ~/.aws/credentials AssumeRoleの実行方法 GitHub Actionsの設定 .github/workflows/deploy.yml GitHub Actionsの実行 原因 対応 はじめに ローカル端末から実施していたServerless FrameworkでのLambdaのdeployをGitHubA…

terraformingの代わりになるかも知れないのでterraformerを早速試した

はじめに インストール 構成情報の取得 事前設定 importを試す 全リソースをimportする terraformingの課題解決できる? はじめに クラスメソッドさんが以下の記事を書いていた dev.classmethod.jp AWS環境管理の為に、同じようなterraformingというツール使…

AthenaにてJSONデータを操作時に、ファイル数が多くなるとクエリが失敗する

事象 JSONファイル athena 原因 対応 メモ athena SQLクエリ TRY_CAST関数 事象 athenaにてJSONファイルを共にしたテーブルを作成したところ、データ数が増えると以下のエラーが発生する HIVE_BAD_DATA: Error parsing field value '2019-03-12' for field 0…

amazonlinux2でssh認証をLDAPに変更したがログインに失敗する

事象 ami 調査 sshのデバックログ sshd_configに設定したAuthorizedKeysCommandを確認 /opt/aws/bin/curl_authorized_keysは何? 対応 メモ インスタンス作成直後のsshd_config 事象 LDAP認証を設定してログインを実施したが「Permission denied (publickey,…

AWSでの運用歴3年のエンジニアがEC2について再度勉強した

AWS

はじめに EC2とは EC2システム基盤 選択できるプロセッサとアーキテクチャ インスタンスの種類 ネーミングポリシー インスタンスファミリー インスタンス世代 追加機能の表記 バースト可能パフォーマンスインスタンス クレジットメトリクスの動作 T2とT3の比…

terraformでELBを作ろうとすると「Error creating network Load Balancer: AccessDenied」が出力される

事象 原因 対応 事象 一度もELBを作成したことないAWSアカウントで、terraformでELBを作成しようとすると以下のエラーが発生 Error: Error applying plan: 2 error(s) occurred: * aws_lb.ldap: 1 error(s) occurred: * aws_lb.ldap: Error creating network…

terraformでuser_dataに差分が出てもEC2を再作成させない方法

はじめに 対応 参考 はじめに EC2をterraformで作成するときに、user_dataにてsshの認証方法をldapに変更してる ldapサーバのURL変更など、user_dataで実行しているシェルに変更が入るとEC2が再作成されてしまうので対処したい 対応 aws_instanceにて以下を…

terraformでインラインポリシーとAWS管理ポリシーを適用したIAMロールを作成する

内容 iam.tf 内容 terraformでインラインポリシーとAWS管理ポリシーを適用したIAMロールを作成する場合のtfファイルの記述方法 例としてredashのathena接続用のIAMロールを記載 iam.tf インラインポリシーはaws_iam_role_policyでアタッチ AWS管理ポリシーは…

terraformでIAMインスタンスプロファイルのリソース変更したらOS上で権限情報がうまく反映されない??

環境 事象 原因 対応 環境 AWS環境は全てterraformで構築 docker-composeでloggingにawslogsを使用 CloudWatchへのアクセスはインスタンに設定するIAMロールで許可 事象 terraformでaws_iam_instance_profileのリソース名とnameを変更(権限の内容は何も変更…

lego(Let’s Encryptクライアント)利用時に、他のAWSアカウントのRoute53を自動更新させるためのIAMロールの作成方法

はじめに 前提条件 terraform アカウントAで作成するIAMロール aws_iam_role aws_iam_policy_document aws_iam_role_policy アカウントBで作成するIAMロール aws_iam_role aws_iam_policy_document aws_iam_role_policy 動作確認 参考 追記 はじめに AWS環境…

Amazon Linux2のログインメッセージをansibleで追加する

はじめに 調査 対応 ansible role handlers/main.yml tasks/main.yml templates/99-login-message.j2 ansible-playbook 参考 はじめに サーバにログインした際にプロンプトに表示される情報をカスタマイズする方法です Last login: Tue Feb 19 16:46:18 2019…

dockerでlogging driversにawslogsを使う時の定義方法について

はじめに コンテナのログをClowdWatchLogsで管理する時に、各パラメータをどのような値にするかの悩んだのでメモ docker-compose.yml(logging部分を抜粋) logging: driver: "awslogs" options: awslogs-region: "ap-northeast-1" awslogs-group: "${HOSTNAME…

terraformでDBサブネットグループを作ろうとすると「Error creating DB Subnet Group: InvalidParameterValue: Missing necessary credentials. 」が出力される

事象 原因 対応 事象 新規のAWSアカウントとで、初めてDBサブネットグループをterraform経由で作成しようとしたところ以下のエラーが発生 * aws_db_subnet_group.db_subnet_group: 1 error(s) occurred: * aws_db_subnet_group.db_subnet_group: Error creat…

S3のバケットにポリシーを設定しようとするとアクセス拒否される

事象 terraformでS3にバケットポリシーを設定しようとしたら以下のメッセージが出た aws_s3_bucket_policy.test: Error putting S3 policy: AccessDenied: Access Denied AWSコンソールから作業しても「アクセス拒否」のメッセーが表示されて、ポリシーが保…

jq1.5をインストールして、Route53で特定の文字列を含むレコードを抽出する。

AWS

はじめに 環境の調査で特定の文字列を含むレコードを全て取得したかったのでaws_cliとjqを使って実現した。 とりあえず特定のzoneのレコードを全て一行ずつ表示 aws route53 list-resource-record-sets --hosted-zone-id /hostedzone/xxxxxxxxxx | jq -c -r …

EFSを試してみた

はじめに やったこと 参考 環境 作業 NFS クライアントのインストール NFS用ディレクトリの作成 マウント コンテンツのコピー 転送速度 メトリック ClientConnections DataReadIOBytes / DataWriteIOBytes MetadataIOBytes TotalIOBytes PercentIOLimit Burs…

ELB経由のアクセスでapacheのアクセスログの最初に表示されるIPを元のIPに変える

環境 やりたいこと 対応 環境 $ sudo /usr/sbin/httpd -V Server version: Apache/2.4.6 (CentOS) Server built: Nov 19 2015 21:43:13 Server's Module Magic Number: 20120211:24 Server loaded: APR 1.4.8, APR-UTIL 1.5.2 Compiled using: APR 1.4.8, AP…

CentOS5(python2.4)にAWS CLIを導入する。

環境 OS $ cat /etc/redhat-release CentOS release 5.5 (Final) python 2.4.3がインストール済み $ rpm -qa | grep python-2 python-2.4.3-27.el5_5.3 libxml2-python-2.6.26-2.1.2.8.el5_5.1 目的 本番環境で動作しているサーバでAWSを操作する要件が出た…