AWS関連のことを調べてみた2021年09月16日

AWS関連のことを調べてみた2021年09月16日

AWS EKS on Fargateでpodが使用しているvCPU, Memoryを表示するワンライナー

`AWS EKS on Fargete` では主にPodをホスティングしているFargateの`vCPU` `memory` に課金がされます。

各podが使用している`vCPU` `memory` は `kubectl describe pods` で取得できる、`Annotations: CapacityProvisioned` にて確認することができます

“`
$ kubectl describe pods
Name: hogehoge
Namespace: default
Priority: 2000001000
Priority Class Name: system-node-critical
Node: fargate-ip-xxxx.ap-northeast-1.compute.internal/xxxx
Start Time: Tue, 14 Sep 2021 13:00:51 +0900
Labels:

元記事を表示

Cloud9のデフォルトのインデント値設定方法

# はじめに
プログラミング初学者の[@kat_log](https://twitter.com/kat__log “Twitter”)と申します。
Cloud9のインデントのデフォルト値の変更方法の共有です。

# 設定
1. 設定の歯車マーク
1. Code Editer (Ace)
1. Soft tabsに任意の数値を設定

以上です!

![Screen Shot 2021-09-16 at 6.16.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1455073/9588dbb3-6cf5-0e8b-0cfa-8fdbf1dcb461.png)

# おわりに
お読みいただきありがとうございました!
(Qiita10周年おめでとうございます?)

元記事を表示

terraformで各リージョン毎に作成済みのvpcをworkspace管理に移行する

# terraform.tfstateの整合性

下記の記事では新規にvpcを展開する時の作成方法です。
今回は既に展開されている個別のterraformで作成されたマルチリージョンのvpcをworkspaceで一括管理しましょうといった流れです。

https://qiita.com/instant_baby/items/7552d9e69c8546d2f1fd

簡潔に言うとtfstateを一つにまとめたいって事です。
まずは現状確認。

“`
./
├── tokyo
│   ├── main.tf
│   ├── terraform.tfstate
│   ├── terraform.tfstate.backup
│   └── variable.tf
├── oregon
│   ├── main.tf
│   ├── terraform.tfstate
│   ├── terraform.tfstate.backup
│   └── variable.tf
└── virginia
├── main.tf
├── terraform.tfstate

元記事を表示

OCI Cloud Shell vs AWS CloudShell

__Introduction__

In my previous blog, I gave you a brief [Introduction of OCI Cloud Shell](https://qiita.com/liu-wei/items/9d92145c32ac87be51a0).

AWS released their own service, “AWS CloudShell” a little later, which provides similar function as OCI Cloud Shell. Now let’s take a look at the difference between OCI Cloud shell and AWS CloudShell. (There is no space in “CloudShell”.)

__OCI Cloud Shell__
![image.png](https://qiita-image-store.s3.a

元記事を表示

AWS SAMで意図しないAPIGatewayのステージ(名前:Stage)がデプロイされる不具合

AWS SAM を用いて API Gateway リソースを作成した際、
設定していない Stage という名称のステージが作成される現象が発生しました。

これはSAM CLIの不具合で以下のGitHub Issueに問題が上がっています。

SAM Creates stage named “Stage” by default? · Issue #191 · aws/serverless-application-model
https://github.com/aws/serverless-application-model/issues/191

■回避策
API Gateway REST API リソースの OpenApiVersion を ‘2.0’ と指定する。

“`yaml
Globals:
Api:
OpenApiVersion: ‘2.0’
“`

元記事を表示

yumコマンドが使えない

この記事を見る前に質問です。
次のコマンドを入力したときこのような結果は出ましたか?

“`ruby:コマンド
ping www.google.com
“`

“`ruby:結果
ping: www.google.com: Name or service not known
“`

→この結果が出た場合、名前解決ができていないのでこの記事は有用かもしれません
→このような結果が出てない場合、別の記事を探しましょう

#環境
Amazon Linux 2 AMI

#本記事で解決したい内容

以下のコマンドを入力したときに

“`ruby:コマンド
yum install httpd
“`
以下のエラー画面が出ないようにする

“`ruby:結果
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
Could not retrieve mirrorlist https://amazonlinux-2-repos-ap-northeast-1.s3.ap-northeast-1.am

元記事を表示

AWSでAIサービスを使ってみる〜⑩lex編その2〜

##前回ファイルの実行と今回
前回のlex_create_bot.pyファイルを実行していませんでした。
今回を前回ファイルを実行しbotを作成。botと文字で会話するプログラムを解説し、botを動かして行きます。

前回ファイル

“`lex_create_bot.py
import boto3
import time

iam = boto3.client(‘iam’)
iam.create_service_linked_role(AWSServiceName=’lex.amazonaws.com’)
lex = boto3.client(‘lex-models’, ‘us-east-1′)

#フレーバーのスロットタイプの作成
flavor_slot_type = lex.put_slot_type(
name=’FlavorSlotType’,
enumerationValues=[
{‘value’: ‘vanilla’},
{‘value’: ‘chocolate’, ‘synonyms’: [‘choc’]},
{‘value’: ‘s

元記事を表示

AWS Cost ExplorerのAPIとGUIで額が違う?と思って調べた記録

# 目的
AWS Cost ExplorerのAPIを利用して月ごとの額を確認しようと思ったとき、
APIで出た額とGUI (コンソールのCost Explorer) の額がずれていたため、その原因を探りました。
結果、私の単純なミスであり、単純であるがゆえに調べてもなかなかヒットしなかったため記録として残します。

同じ状況に遭遇し、無駄撃ちはしたくない場合(AWS Cost Explorer APIは2021年現在[1回あたり0.01 USD](https://docs.aws.amazon.com/ja_jp/awsaccountbilling/latest/aboutv2/ce-what-is.html)のため)、こちらの記録を参考としてください。

# 結論
悪い例:
`start_date = “2021-08-01″`
`end_date = “2021-08-31″`

正しい例:
`start_date = “2021-08-01″`
`end_date = “2021-09-01″`

と「1ヶ月分」を指定する際は、end_dateは31日ではなく翌月の1日

元記事を表示

serverless frameworkを試した

# 背景
* AWS上にlambda関数を開発した
* codecommitから各環境にlambda関数をデプロイする
* DBやS3と接続するのでローカルで開発してテストしにくい

# serverless frameworkとは
* サーバーレス開発ツーるである
* https://github.com/serverless/serverless 

## メリット
* インフラ自動構築
* Cloudformationのstackを自動的に作れる 
* デプロイ簡単
* Lambda関数を1コマンドでデプロイできる
* 複数functionを管理とデプロイできる  
* 環境と環境変数の管理
* 環境を分けることが簡単 
* Dev, stg, pro 
* 環境変数を簡単に定義 
* IAMロールの定義も簡単 
* Functionよりroleを定義できる 

# 簡単な使い方
* serverless frameworkのインストール

“`
npm install –

元記事を表示

AWS Certificate ManagerでEメール認証からDNS認証に切り替え

# メール連絡
AWSより以下のメール連絡がありました。
Changes to AWS Certificate Manager (ACM) email validated certificate renewal workflow

これはaws acmで管理しているSSL/TSL証明書の認証方法が変わりましたよ
という案内で、要はEメール認証は今後自動更新に対応しないので
DNS認証に切り替えをおすすめしますという内容のメールでした。

# 現在のドメイン設定を確認
ドメインレジストラ | お名前ドットコム

# AWS構成
Route 53 → CloudFront → Elastic Beanstalk(ALB → EC2) → RDS
↑この構成の場合SSL/TSL証明書は
CloudFront(バージニアリージョン)
ALB(東京リージョン)
と2箇所に設置されているケースが多いと思います。
これはCloudFrontのリージョンがグローバルでかつ
すべてのエッジロケーションに反映されるのに時間がかかる場合があることが理由です。
このように証明書を分けておくことでCloudFr

元記事を表示

AWS初めの作業メモ

#はじめに

AWSを初めた際の作業メモ

#ハンズオンのリンク
初めに見るべきハンズオン一覧

1. [ハンズオンはじめの一歩: AWS アカウントの作り方 & IAM 基本のキ](https://pages.awscloud.com/event_JAPAN_Ondemand_Hands-on-for-Beginners-1st-Step_LP.html?trk=aws_introduction_page)

2. [Security #1 アカウント作成後すぐやるセキュリティ対策](https://pages.awscloud.com/event_JAPAN_Ondemand_Hands-on-for-Beginners-Security-1_LP.html?trk=aws_introduction_page)

3. [スケーラブルウェブサイト構築編](https://pages.awscloud.com/event_JAPAN_Hands-on-for-Beginners-Scalable_LP.html?trk=aws_introduction_page)

#IAMユーザ

元記事を表示

AWSでAIサービスを使ってみる~⑨lex編~

##Lexとは
>AWSのbotのAIサービス。Amazon Lex を使うと、すべてのデベロッパーが Amazon Alexa に採用されている深層学習技術と同じ技術を利用できるため、自然言語での高度な対話ボット (チャットボット) を短時間で簡単に構築できます。

今回はlexを用いてアイスクリームのフレーバーや容器について答えるボットを作成して行きます。
コードの量があるので順番に解説して行きます。

ボット作成ファイルの全体像

“`lex_create_bot.py
import boto3
import time

iam = boto3.client(‘iam’)
iam.create_service_linked_role(AWSServiceName=’lex.amazonaws.com’)
lex = boto3.client(‘lex-models’, ‘us-east-1′)

#フレーバーのスロットタイプの作成
flavor_slot_type = lex.put_slot_type(
name=’FlavorSlotType’,
enumerat

元記事を表示

CircleCIでcdk deployしようとしてAWSの認証でハマった2点

追記 2021/09/15
* ハマり2の解決策で追加すべきものを追加
* おまけハマりを追加

# はじめに

CircleCIからaws cdkでデプロイ仕様とした時に、AWSの認証関連でハマった2点です。
CircleCIでの実行ですが、多分どのパイプラインサービスでも同じだと思います。

# 前提

* CircleCI用のIAMユーザー `circleci-user` を作成しCredentialsを生成しておく。
* `circleci-user` は必要最低限の権限とする。
* CloudFormation実行用のIAM Role `CFn-Role`を作成してcdkのオプションで指定する。

## ハマり1:cdkではProfileが必要

“`
AWS_DEFAULT_REGION=ap-northeast-1
AWS_ACCESS_KEY_ID=AKxxxxxxxxxxxxxxxxxxxxx
AWS_SECRET_ACCESS_KEY=xxxxxxxxxxxxxxxx

npm run cdk — deploy –require-approval neve

元記事を表示

【Python】importが必要なPythonをAWS Lambda へ移行してみた 事前準備編

#はじめに
昨日、macOSのcronで自動実行するためにmacOSの省電力モードをOFFにすると1ヶ月で1,200円程度電気代がかかるのでは!?という記事を書きました(あくまで試算です)

https://qiita.com/hirockio2206/items/2ce4fcac798a21ad40b4

やはり、オンプレ運用はよくないと。これからはクラウドっしょ!
ただ、AWS Lambdaってよくわからん。
って思っている方いますね?(私)

ってことで本日はAWS Lambda へPython実行環境を移行にチャレンジしてみました。
少し長くなるので、事前準備編とAWS編で分けて投稿します。

#環境
・既にAWSのアカウントを持っている(お持ちでない方でもすぐ発行できますよ。)
・Python3.9
・macOS Catalina10.15.7
・定期実行したいpythonがある

#事前解説
今回はサンプルとして、ccxtという複数の仮想通貨取引所のAPI操作が集約されたライブラリをAWS Lambdaで実行したいと思います。

AWS Lambdaにはデフォルトではccx

元記事を表示

RcloneでAWS S3からOCIオブジェクト・ストレージにデータをコピー

# 初めに

AWS S3またはAzure Blobから、Orale Cloudのオブジェクト・ストレージにデータをコピーできますか?答えはできます。このタスクを完了するには多くの方法がありますが、Rcloneを利用すれば、簡単に実現できます。

[Rclone](https://rclone.org/) は、クラウド・ストレージ上のファイルを管理するコマンドライン・プログラムです。Oracle Cloud Object Storage、AWS S3、Azure Blob、Google Cloud Storageなど、多くのクラウドベンダーがサポートされています。異なるクラウドストレージ間でデータを簡単に転送できます。

では、AWS S3からOracle Cloudのオブジェクト・ストレージにデータをコピーする方法をご紹介します。

__ステップ__

[1. Rcloneのインストール](#1-rcloneのインストール)
[2. OCI接続用情報の収集 (コピー先)](#2-o

元記事を表示

AWS lambda@Edge単体テスト(イベントテンプレート)

AWS lambdaを書く時、いちいちデプロイしてテストしてました。

実際どういうリクエストが来るかはある程度イベントテンプレートでまかなえるようです。
lambda@edgeを書いていて、デプロイなどがとても面倒でしたが、これでかなり進みました。

以下の画像は`cloudfront-normalize-querystring-to-improve-cache-hit`というテンプレートです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/213689/00c80761-4629-87d1-e7fb-5760718bea81.png)

単純にCloudfrontにGetリクエストが来たような感じですかね

“`
curl https://[CFドメイン]/test?size=LARGE&color=RED
“`

実際に受け取るeventと比較してキー名などは一致してるみたいなので、使えそう.

もしCookieをつけるなら以下のようなものを`headers`ブロックに追

元記事を表示

SystemsManagerChangeCalendarでssmAutomationランブックの実行を制御する

# SystemsManagerChangeCalendarとは
SystemsManagerの機能の一つで、カレンダー内の特定の日付・時間に「イベント」を挿入することで、そのイベント間のアクションの実行を制御を行える機能です。

例えば、「毎日定時にSystems Manager Automation ランブックからEC2インスタンスを停止させているが、この日だけは停止させたくない」といった場合に、対象日にイベントを設定しておくことでインスタンスを停止させないということができます。

更にEventBridgeとも連携できるため、柔軟にイベントの管理が行えます。

以下公式ドキュメントです。
> AWS Systems Manager の一機能である Change Calendar では、指定したアクション (Systems Manager Automation ランブックなど) が AWS アカウント で実行できるまたはできない日付と時刻の範囲を設定できます。Change Calendar では、このような範囲はイベントと呼ばれます。Change Calendar エントリを作成す

元記事を表示

AWSサーバレスでTerraformビルド

## Terraformとは?
Terraformはオープンソースであり、HashiCorpによってGo言語で開発されました。具体的にはTerraformではインフラの構成をコードで宣言します。構造化された構成ファイルでは、手動で操作することなくインフラ構成を自動で管理できます。インフラの初期プロビジョニング、更新、破棄、いずれもTerraformではコードにより宣言し、実行します。

AWS の Terraform モジュールは、AWS 統合と自動化ネームスペースページの Terraform レジストリで入手できます。提供されているリンクを使用して、Terraform レジストリのモジュールや GitHub のソースコードにアクセスします。

## Terraformビルド順番

①IAMアカウント作成
➁CLIユーザー作成
③Terraformインストール
④DynamoDBとS3作成
⑤Terraform展開

### ①IAMアカウントを作成する
AWSへログインしてIAM serviceにアクセスする
![image.png](https://qiita-image-stor

元記事を表示

【AWS】AWSでデプロイ後にhttps化する方法

#対象者

* AWSでデプロイをおこなった方
* https化したい方

#目的

*  https化してWebサイトのセキュリティをより強固にする

#実際の手順と実例
###1. httpとhttpsの違い

2つの違いは
**通信内容が暗号化されているかどうか**です。
httpのままだとSSLが未導入であるということになります。

#####SSLとは
* インターネット上の通信を暗号化する技術のこと

https://ds-b.jp/media/what-is-https/

###2.前提

* AWSでデプロイしていること
* nginxがインストールされていること
* EC2でAmazon Linux **2**で環境構築していること

[Amazon Linuxのもつ特徴7つ|AWSとの関係も解説](https://www.fenet.jp/infla/column/technology/amazon-linux%E3%81%A8%E3%81%AF%EF%BC%9Famazon-linux%E3%81%AE%E3%82%82%E3%81%A4%E7%89%B9

元記事を表示

Red Hat OpenShift on IBM CloudのクラスターをAmazon EKS ConnectorでEKSコンソールに接続する

# Amazon EKS Connector

Amazon EKS Connectorは、EKS外の既存のKubernetesクラスターをAmazon EKSコンソールで表示することができる機能です。操作ができるわけではありません。これで何がうれしいかは難しいところですが、複数のKubernetesクラスターを一見一元管理できているように見えるので、マルチクラウド環境でクラスタが乱立した際に、マネージメント向けの印象は良くなるかもしれません。

# 目的

今回はIBM CloudのRed Hat OpenShift on IBM Cloud(ROKS)をEKS ConnectorでEKSコンソールに表示してみます。

なお、2021年9月時点のEKS ConnectorはまだPreviewリリースのため、GA後の仕様は変更される可能性があります。

# 手順

公式ガイドはこちらです。

https://docs.aws.amazon.com/ja_jp/eks/latest/userguide/eks-connector.html

## IAMポリシーの追加(AWS)

下記

元記事を表示

OTHERカテゴリの最新記事