AWS関連のことを調べてみた2022年06月01日

AWS関連のことを調べてみた2022年06月01日

Macからプライベートサブネット配下に設置したSSM経由でWindowsインスタンスにRDPアクセスする

先日業務で初めてWindowsServerに触れる機会があり、その際にSSMを経由したRDP接続に関してアウトプットとして記事の投稿をしたいと思います。

## 構成図
![スクリーンショット 2022-05-29 14.34.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/626370/0fa9b257-58fc-2e9e-fb42-797dccfdad9b.png)

VPC内のプライベートサブネット配下に設置したWindosServerにSSM経由でアクセスするものです。

# 1 事前準備
事前準備して以下のダウンロードが必要です。
– AWS CLI
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/getting-started-install.html
– Session Manager Plugin
https://docs.aws.amazon.com/ja_jp/systems-manager/latest/use

元記事を表示

VMware 仮想環境を Terraform でセットアップしてみた (Content Library 作成編)

# 1. はじめに
[Terraform](https://registry.terraform.io/)でVMware仮想環境の構成管理やデプロイ自動化にトライしてみたくなり、実際に試した手順の備忘録をまとめます。

次のAWSが提供しているGitHubリポジトリを参考にして、VMware仮想環境にContent Libraryを自動デプロイした際の手順をまとめます。

本ブログではVMware Cloud on AWS環境を利用していますが、APIは共通なので自宅やオンプレミスのVMware仮想環境でも挙動は同じかと思います。

https://github.com/aws-ia/terraform-vsphere-content-library

# 2. まずは手順の概要から

実際に私が辿ったおおまかな手順です。

(1) 作業用LinuxマシンにTeraformのインストール
(2) Terraformスクリプトのダウンロード
(3) Terraformスクリプトに利用するVMware仮想環境の情報を追記
(4) Content Libraryの自動デプロイ
(5) お片付

元記事を表示

CircleCI Enterpriseでorbのaws-ecrが動かない(ことがある)

GlobalのCircleCIで動作実績のあるaws-ecrでのデプロイJobがCircleCI Enterpriseの環境では動作しないという現象に遭遇しました。

エラーメッセージは以下

“`
Build-agent version 1.0.114877-701271cf (2022-03-15T13:07:16+0000)
Creating a dedicated VM with ubuntu-2004:202010-01 image
failed to create host: Image ubuntu-2004:202010-01 is not supported

failed to create host: Image ubuntu-2004:202010-01 is not supported
“`

どうやら使用しようとしているDocker Imageがサポートされていないと言われているようです。

## 調査
CircleCI Enterpriseは今回初めて利用しましたが、これはGitHub Enterprise同様企業のローカルネットワーク内にCircle

元記事を表示

aws cdkでecsタスクスケジュールによるバッチ機構を作る

# はじめに
**みなさん、障害対応してますか?**

障害対応に関しての私のモットーは、
アラート通知が来たらまずはコーヒーを淹れて、
鼻から抜ける豆の香りを堪能してからパソコンを開く事です。

おかげで、後々作成する謝罪文も芳醇でマイルドなものになります。

ことAWSの話しですが、ここ数ヶ月
コーヒーのフルーティな味わいを感じながら原因調査してると、
かなり序盤の方で
「これホスティング側の問題じゃない?」って頭に浮かぶ事があります。

しかしながらHealthDashboardは音沙汰なく、
「あれ、やっぱりこっちの問題???…」となり、もっかい色々みてみる、
なんてケースが多々あります。

そんな時ちらっとtwitterみると、

「AWS障害か〜〜仕方ないから今日休みにしない?」
「aws 落ちてんじゃん、ネトフリみて待ってよ」

といった考えられないツイートもあれば、
どのリージョンでどのリソースがあやしそうか探ってる人なんかもいます。

怪しいな、と思ったらtwitterがざわざわガヤガヤしてないか見てみるのも手だなと。

そこで、定期的に特定ワードが頻繁につぶやか

元記事を表示

【VTL】Velocity Template Languageで日時を加算・減算する

# 概要
VTLで日時を加算・減算するのにハマったので備忘録として記載しておきます。

**VTL(Velocity Template Language)とは?**
 Apache Velocityで使用できる言語です。
 AWS AppSyncのResolverテンプレートで使用されています。

# やりたいこと
今日日付の文字列を1日減算して昨日日付の文字列を生成したい! 
※フォーマットは「yyyyMMdd」形式

# コードと解説
#### 簡単に説明するとやっていることはこうだ!!
1. 減算したいyyyyMMdd形式の日時をミリ秒に変換する
2. 変換された日時から1日(=86,400,000ミリ秒)分を減算する
3. 減算した日時をミリ秒からyyyyMMdd形式に変換しなおす

“`velocity
#set($jstToday = $util.time.parseFormattedToEpochMilliSeconds(“$today 00:00:00+0900”, “yyyyMMdd HH:mm:ssZ”))
#set($jstYesterday = $jstTod

元記事を表示

URL 生成サポートアプリを作ってみた

簡単な URL 生成サポートアプリを作ってみたので紹介します。

# GitHub

https://github.com/nkm-m/Translate-App

![](https://storage.googleapis.com/zenn-user-upload/20a97bf61cd6-20220531.gif)

## 概要
詳細は GitHub をご覧ください。
アプリの内容は以下の通りです。

・入力した日本語を英語に翻訳
・英語を小文字に変換
・英単語間にハイフンを挿入
・特定の記号 (`.`, `’`, `?`) を削除

# 作成したきっかけ
これまでは、URL を生成したい時に以下の手順で行っていました。

1. Goggle 翻訳で日本語を英語に翻訳
2. 英語で大文字になっている文字を小文字に直す
3. 英単語間にハイフンを手打ち or エディタで半角スペースをハイフンに置換
4. ピリオドなどの記号を削除

上記の手順は 1 ~ 2 分もあればできるのですが、それがちまちました作業だったので面倒だと感じていました。
上記の手順を一発で解決するツ

元記事を表示

Work in progress – AWS Architect Study Notes

As I write this, I know nothing about AWS, but that is going to change by the time I am done:wink:

Q) Do you want to be an AWS Architect or at least pass the exam?
A) Ok, then you should be able to optimize cost and design for the requirement. There are hundreds of choices to choose from so it is not as easy as it sounds at first.

Keywords:
Amazon Machine Image(AMI):アミA virtual machine in AWS environment. (Is there an upper limit?)
Availability zones(below, AZ):An Amazon data center clus

元記事を表示

Railsのcredential.yml.encについて(自分の理解のための整理)

### 経緯
credential.yml.encとかmaster.keyとかの話。
EC2にアプリをデプロイしようとした際、このあたりの設定で頭が混乱。
開発環境では意識することのない存在だったので、急に出てきてびっくり。
少しだけ理解できてきた気がするので、自分なりに整理してみました。
誤りがあったらご指摘ください。

### credentials.yml.encとは何か
* 秘匿情報(秘密鍵とかIDとかPWとか)がまとめて記述されている、暗号化されたファイル。
* bin/railsディレクトリ下に置かれている。
* 隠したい情報を環境変数にセット。APサーバーは環境変数を経由して情報を取得・利用する。
* 復号化キーはmaster.key。$ rails new の時に、configディレクトリ下に生成される。デフォルトで.gitignoreに登録される。
* 当然、$ git cloneで開発環境に連れてこれないので、本番環境上で設定してやる必要がある。
* $EDITORで指定されたエディタでのみ編集できる。

### 例
RDSへの接続の設定。database.ymlに

元記事を表示

さっくり解説するAmazon S3

## はじめに
今回はS3編です。
あいかわらず用語が多いですが、なるべく分かりやすい解説をしてみようと思います。

# Amazon S3とは

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/392337/6948301d-5afd-28c9-8784-3a281206db68.png)

公式ドキュメントによると、

>Amazon Simple Storage Service (Amazon S3) は、業界をリードするスケーラビリティ、データ可用性、セキュリティ、およびパフォーマンスを提供するオブジェクトストレージサービスです。あらゆる規模や業種のお客様が、データレイク、クラウドネイティブアプリケーション、モバイルアプリケーションなど、事実上あらゆるユースケースで、あらゆる量のデータを保存、保護することができます。コストパフォーマンスに優れたストレージクラスと使いやすい管理機能により、コストの最適化、データの整理、特定のビジネス、組織、コンプライアンスの要件を満たすきめ細かなア

元記事を表示

Lambdaの説明とlambdaのlayersの作り方

## lambdaとは

AWS Lambda は、サーバーレスでイベント駆動型のコンピューティングサービスであり、サーバーのプロビジョニングや管理をすることなく、事実上あらゆるタイプのアプリケーションやバックエンドサービスのコードを実行することができます。インフラストラクチャのプロビジョニングや管理をすることなくコードを実行コードを書いて、.zip ファイルやコンテナイメージとしてアップロードするだけです。

### サーバーレス

サーバーではなくて、その場でコードを実行する環境です、trigger(s3,SQSなど)で実行しても良い、定期実行もCloudwatchイベントからでも出来ます、サーバーと違って使ってる分だけを支払いします。同時実行も1秒で1000件まで出来ますのでインフラが楽です。

### 使い方

Lambdaを作るには割と簡単です!名前と言語とアーキテクチャを選べたらもうコード修正とテストが出来ます。

名前はエンドポイントになりますので気をつけてお名乗りください。

環境としては色々の言語は出来ます。

![Screen Shot 2022-05-27 a

元記事を表示

【AWS CDK】API GatewayからLambdaを通さずに直接DynamoDBにアクセスしGetItemするAPIを作ってみた

DynamoDBから値を取ってきて返すAPIを作成するにあたり、Lambdaを通さずに直接DynamoDBから値を取れることを知ったので試してみました。

## 作るもの
API GatewayからLambdaを通さずにDynamoDBに直接アクセスし、API Gateway + DynamoDBでgetItemするAPIを作成します。
今回は、`GET books/{title}`を叩くと以下のような形でDynamoDBに保存されている値を整形して返却してくれるようなAPIを作成していきます。

“`
{
“title”: “how_to_book”,
“price”: 1000
}
“`

## 構成
シンプルな構成です。
![architecture.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2699394/f6843e74-d9fa-7672-cdd6-c58da1869fb4.png)

## 環境
“`
cdk –version
2.10.0 (build e5b301

元記事を表示

AWSのCloudWatch Logs Insights使い方まとめ

# CloudWatch Logs Insightsとは
CloudWatch Logsのログデータをクエリを使って検索したり解析ができます。
ログデータを解析する機会が多いので、よく使うクエリをまとめておきます。

## 初期表示
![1653982209.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/685449/fec6818c-84f6-199c-2b14-117e68e160e4.png)
“`
fields @timestamp, @message
| sort @timestamp desc
| limit 20
“`
意味:fieldsで指定した@timestamp, @messageを表示。@timestampの降順でソートして先頭からの20件。

@でログイベントのフィールドを指定します。

## ログイベント一覧
@message :InputLogeventのmessageフィールド。
@timestamp : timestamp フィールドに含まれるイベントタイムスタンプ。

元記事を表示

AWS Security Token Service (AWS STS) を使用して,一時的な認証情報を発行

## 課題
日常の仕事でこのようなシーンがございますでしょうか。
Aさんは開発者です。Aさんはローカルでコードをテストする際に、AWS S3にアクセスしないといけないです。
AWSのaws_access_key_idとaws_secret_access_keyが必要です。
以下の方法でどっちが一番良い方法でしょうか。

1. Aさんにaws_access_key_idとaws_secret_access_keyを共有して、他の開発者に共有しないように要求する。
1. Aさんにaws_access_key_idとaws_secret_access_keyを共有して、90日単位でローテーションします。
1. 開発者にAWS Security Token Serviceで作成した一時的な認証情報を使用させる。

AWSのお勧めとしては3番です。

## 概要

開発者にAWS Security Token Serviceで作成した一時的な認証情報を使用させる方法を説明させて戴きます。

![截屏2022-05-31 14.49.16.png](https://qiita-image-stor

元記事を表示

Databricksのクラスターポリシー・推奨設定についてまとめてみる

# はじめに
前回記事:[Databricks利用時にかかる費用から、Databricksのクラスター設定値を模索する](https://qiita.com/hara_osamu/items/750722f5de22f6948344)
前回はDatabricks利用時にかかる料金とクラスター設定値についてまとめました。
しかし、こういった内容を全員に浸透させるのは難しい部分もあったりするかと思います。
今回はそういった場合向けに管理者側でクラスター設定値に縛りを入れることのできる「Databricksのクラスターポリシー設定・権限設定」についてまとめます。
誤り、見落とし等ありましたらご指摘いただければと思います。
また、本機能はパブリックプレビューということもあり内容が変わる可能性もあるので、自力でもアップデートかけていきますがもし見つけた際はご指摘いただけると助かります。

UIについては2022/5/30時点のもので、言語設定を日本語にしています。
利用するクラウド環境はAWSとします。(Azureについてもドキュメントの範囲でまとめます。)
※GCPについては公式ドキュメントに

元記事を表示

【Node.js】AWS SNSを使ってSMS(ショートメッセージ)を送る【Typescript】

ここでいうSNSは、Twitterみたいなソーシャルネットワーキングサービス・・・ではなく、
AWSの **SimpleNotificationService** のことです。
SNSでSMSを送る(噛みそう)機能を触ったので、設定方法などを記録します。

## IAMユーザの追加
まずはユーザを作成。
SNSのフルアクセス権限を付与します。

### ユーザー詳細の設定

このページの右上にある「ユーザを追加」ボタンを押下
https://us-east-1.console.aws.amazon.com/iamv2/home?region=us-east-1#/users

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/284077/ff0e1717-5812-a4e0-e92c-85895c754cdf.png)

– ユーザ名: 適当なユーザ名
– SWS認証情報タイプ: アクセスキー -プログラムによるアクセス

ユーザ名は会社のルールに則るのがいいと思います。

元記事を表示

AWS CDK環境準備(Cloud9+VSCode)~EC2作成まで

# 内容

下記の通りCDK環境構築には色々と準備が必要ですが、Cloud9で構築するとCDK CLIのインストールまで含まれていました。環境の構築・削除も簡単に出来るためこちらを使用したいと思います。
IDEはCloud9のコンソールではなくVSCodeを使いたいと思います。
※環境はPython利用を想定

# 前提条件

https://aws.amazon.com/jp/getting-started/guides/setup-cdk/module-one/

cloud9環境を作成すると下記の通り必要なモジュールはインストール済みとなっていました。
“`bash
$ aws –version
aws-cli/Python/2.7.18 Linux/4.14.276-211.499.amzn2.x86_64 botocore/1.20.112
$ node -v
v16.15.0
$ python –version
Python 3.7.10
$ pip -V
pip 20.2.2 from /usr/lib/python3.7/site-packages/pip (py

元記事を表示

AWS CDKをDenoで動かす

– 要約
– シンプルなケースではDenoで`cdk synth`動いた
– コード: https://github.com/rinfield/cdk-deno

[AWS CDK](https://github.com/aws/aws-cdk)いいですよね:relaxed:
今となっては素のCloudFormationテンプレートのYAML手書きは考えられません!

## CDK + Nodeのビミョーなところ
しかしながらCDKの登場によって格段にインフラのコード化がしやすくなった反面、
現状Nodeエコシステムのカオスさ(?)を受け入れる必要があります…
(Node + TypeScriptを使うことを前提としていますが)

ということでCDKを使う場合、TypeScriptトランスパイラ、
Linter、フォーマッター、テストフレームワークetc…
のメンテナンスを定期的に行う必要があります。

YAML手書きよりはマシなものの、これはこれで面倒くさい…

## CDKとDenoならば…
そんな中CDKのGitHub Issueを眺めていたら以下のIssueがあ

元記事を表示

How to get IP addresses of OCI Health Check Vantage Points

__Introduction__
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121622/e41a6025-e799-a734-ac3a-a77566fb7333.png)
OCI vantage points are located around the globe and enable users to perform tests against OCI-hosted services. Till now(May, 2022), all vantage points are outside of OCI. So if you want to monitor health check on your OCI instances, you need to allow inbound traffic from the vantage points. This is a step-by-step guide on how to get the IP addresses of vanta

元記事を表示

Lambda Node ランタイム v12 → v14 update 備忘録

# はじめに
Lambda Node ランタイム v12が2022/04でサポートが終わるため、v14に更新しないといけないProjectが存在していました。
その際の手順として備忘録を残したいと思います。
ただ、本記事ではv14へ上げるというよりは、ランタイムのバージョンを上げる際にどういうことをやったのかを記載したいと思います。

# 環境
– ローカル環境端末
– macOS Big Sur
– AWS SAM CLI 
– Docker
– Lambda ソース環境
– AWS SAM で構築を実施
– ApiGateway & Lambda(TypeScript)を構築
– TypeScriptのためwebpackで実行ソースを作成(トランスコンパイル)している
– 利用しているnodeModules群はすべて最新のVersionに更新済み

# 手順
私の環境での対応としては以下の流れで実施しました。
1. AWS SAM Template.yamlでNodeRuntimeのVersionを更新
2. AWSアカウントにデプロイを実施
3. AW

元記事を表示

セッションマネージャーがリモートホストのポートフォワードに対応した件

# 背景
AWS Summit Japan 2022 の興奮冷めやらぬ間にしれっとAWSが次ような発表をしました。
[AWS Systems Manager announces support for port forwarding to remote hosts using Session Manager](https://aws.amazon.com/jp/about-aws/whats-new/2022/05/aws-systems-manager-support-port-forwarding-remote-hosts-using-session-manager/)

詰まるところ今まではローカルホストのポートフォワードしか対応できていなかったので、外部からRDSへ接続する為の踏み台に対して SSH アカウントを個別に発行する必要がありました。
SSH アカウントの管理ではキーペアの登録等で運用が面倒でしたが、それが一切不要になりました。

# 課題
一部の運用では「セッションマネージャーを許可したいだけだったのに RDS に接続できてしまう」というのが不都合だということで、こ

元記事を表示

OTHERカテゴリの最新記事