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

AWS関連のことを調べてみた2022年08月28日
目次

コンテナイメージから作るLambdaをSAMでデプロイ

# はじめに

以前、Microsoft365の監査ログを取得するLambdaをコンテナで作りました。

https://qiita.com/a_b_/items/84d6ae3cf8a21b8b332c

これを以下のページを参考に、Cloud9上でAWS SAM CLIでのデプロイにチャレンジしてみました。

https://aws.amazon.com/jp/builders-flash/202107/new-lambda-container-development-4/?awsf.filter-name=*all

# 所感

– AWS SAM CLIを用いると、デプロイまでの手間が減る
– 特に、ECRの作成や管理を考えなくてよいのが大変助かる
– 上記ページでは作っていますが、現時点では不要のようです
– (Cloud9上の)AWS Toolkitのウィザードでも試しましたが、launch.json を使ったデバッグ実行がうまくいかなかった
– AWS SAM CLIのナビゲーションで十分便利なので、GUIのウィザードを使わなくてもよいかも

元記事を表示

EC2→ECS移行の際に、本番環境へのデプロイにecspressoを用いた話

# はじめに

本日のテーマはWebアプリケーションのEC2 → ECS Fargate移行の際に、
ECSデプロイツールであるecspressoを利用した話です。

#### 移行対象のアプリケーションについて

– JavaのWebアプリケーション
– テスト・デプロイ作業は手動な部分が多い

元々のアプリケーションは複数機能が同一EC2上に同居しており、
今回、その一部アプリケーションをリプレースすると共に、コンテナ化する形を取りました。

## プロジェクトの全体像

– コンテナ移行(EC2→ECS Fargate)
– CICDパイプライン用意(開発→テスト環境)
– **リリースシェル用意(テスト→本番環境)** ?今回のテーマ

開発環境と本番環境のAWSアカウントが分かれており、
既存Webサーバーと同様に夜間リリースの運用にしたいという事情がありました。

そこで今回はCICDパイプラインと別に
**テスト環境でテスト済のコンテナイメージを基に、本番環境にデプロイする為のリリースシェル**
を用意しました。

## リリースシェルについて

CICDパイプライ

元記事を表示

CloudFormation で変更なしの変更セットを流したい時

## 概要

CloudFormationのコードを書いているとリソースに変更は加えたくないけどコードの中身を整理したいときがたまにある。
そのまま変更セットを流そうとすると以下エラーで怒られてしまう。

“`
The submitted information didn’t contain changes. Submit different information to create a change set.
“`

そのため、影響の少なそうな変更箇所が無いか探してみた。

## 変更箇所

### Parameters を追加してみる → ダメでした

“`yaml
Parameters:
Dummy:
Type: string
Default: dummy
“`

### Outputs を追加してみる → いけた!

“`yaml
Outputs:
Dummy:
Value: “dummy”
“`

スタックの出力に変なの追加されちゃうので消し忘れの無いように、、、
(せっかく整理したのに・・・まあ影響ないけど。)

元記事を表示

IT業界から離れたOLがSAA受かった話

お久しぶりです!

実は昨年の頭に退職しまして、エンジニアから離れた生活をしておりました。

そんな私がSAA合格した話をまとめました(✌?️’꒳’✌?️)
試験内容が変わるので、需要ありませんがww

■まず、IT業界とわたし

新卒で、サーバーサイドエンジニアとして、3年と少し勤めました!

今は違う業種で仕事してます。
前職は.NET/PHPを主にしてました。
現在は派遣OLです〜‪·͜·

■AWSの経験

実務としては未経験です。

前職の時にインフラ勉強したいな〜とりあえずSAA受けよう!となったのが、AWSとの出会いです???
テストセンターの経験として、CLFを2年ほど前に取得しています。
その後に、JAWS-UGうどん県に入りました。(関係ない)
が、仕事を休職し、退職してしまうというハードモード人生のため、SAAは受けずにずっと放置していました・・・orz

■SAAを受けようと思った理由

現職に転職して、業務を進めていくうちに、やっぱりIT業界に戻って、勉強しながら成長したいな〜〜という気持ちが強くな

元記事を表示

EC2 に Auto Scaling の設定 と Cl/CD (CodePipeline + CodeDeploy + LambdaによるAMIの自動更新) を導入 ②

# はじめに
こちらの続きです。

https://qiita.com/hirai-11/items/127e812dc7bc570c4398

# CodePipelineを作成
CodePipelineを作成しましょう。

– パイプライン名を記入し次へ
![スクリーンショット 2022-08-26 18.48.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/988747/6abb568c-960b-834e-44ac-4672bcb718c1.png)
– GitHub(バージョン2)を選択し、`GitHubに接続する`をクリックします。
![スクリーンショット 2022-08-26 18.53.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/988747/7791a6c9-9a20-824e-ae7e-1350bbf77462.png)
– 接続名は、適当に入力します。
!

元記事を表示

rootユーザー以外でCost Explorerを見たい

# 設定方法

・rootユーザーでログインしアカウントの設定画面に移動。
・IAMアクセスのアクティブ化にチェックボックスを入れ、更新実施
・IAMユーザーに対して必要なポリシーをアタッチする事でrootユーザー以外でも請求情報を参照可能になる。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/516945/d9f42bf0-87c1-898c-b228-020191826e9f.png)

https://docs.aws.amazon.com/ja_jp/awsaccountbilling/latest/aboutv2/control-access-billing.html#grantaccess

元記事を表示

自動で平日にEC2を開始させて休日・祝日に開始させない方法

この業界に来て4ヶ月目、
まともにタスクをこなすことができずあっぷあっぷしている中、ある検証タスクを任されました。

「マジかよ・・」
ただでさえタスクが溜まっているのに、気が滅入っているのを知っているのに!と思いましたが

自分にはできることはこれくらいしかない!
仕事が終わった後も自宅PCで試してみて顔に脂汗をかきながら試していました。

今回のタスクで行ったことを自宅PCで試したものをスクショして、ハマったこと、わかりにくかったことをシェアしたいと思います。

そもそもこの仕組みの目的はというと、、

## 毎日のバッチ処理を休日・祝日はさせたくない
企業ってだいたい土日・祝日って休みじゃないですか。
休業日にサーバーが起動していたらもったいない、不要な処理は止めておきたい、、、そんなニーズってあると思うんですよね。

平日は普段通りインスタンスを開始させたい、
でも休日、祝日には停止させておきたい、そんな仕組み。

なので今回の記事は、、、

・サーバーの自動管理ができるようにしたい、
・コスト削減、労力の削減がしたい、
・エンジニアが他の業務に集中したい、

こんな方が対象で

元記事を表示

Amazon Cloudsearch をlocalのDocker Lamda node.jsから叩く

資料がなかったので、備忘録代わりに。
client-cloudsearch-domain、ローカルなので認証のためにcredentialが必要。endpointだけじゃなくて、regionも必要でした。cloudに持っていくと、認証は別方式のほうが良いと思われるので、消してください。

参考(AWS公式、node用のサンプルがあります)
https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-cloudsearch-domain/index.html

docker-compose.yml
Dockerfile
package.json
app.js (実行ファイルなので、任意にindex.jsなどに)

docker-compose.yml

“`
version: ‘3’
services:
cloudsearch-api:
image: cloudsearch-api
build: .
ports:
– 9199:8080
tty: true

元記事を表示

jenkins で aws コマンド実行

## 大枠
“`
node {
stage(‘check instance’) {
def resultArray = getInstanceInfoList()
for (instance in resultArray) {
if (instance.Status == “running”) {
// なにかする
}
}
}
}
“`

## インスタンス情報取得
指定環境のフィルターとインスタンスID、稼働状況、OS情報、ip、タグ名を取得するクエリ設定
“`
def getInstanceInfoList(String env = “”)
{
String filter = “”
if (env.isEmpty()) {
filter = “Name=tag-key,Values=envName”
} else {
filter = “Name=tag:envName,Valu

元記事を表示

AWS Systems Managerを使って外部から自宅のRaspberry Piにアクセスしてみる

# はじめに
以前、以下の記事でラズパイを使ってKubernetesクラスタを構築してみました。
[Raspberry Pi 4を使ってKubernetesクラスタを構築する](https://qiita.com/hato52/items/2d22a9a24299b2d0c904)

どうせなら外部からアクセスして管理できるようにしたいと思っていたのですが、自宅の環境的にポート開放することが難しい…。

どうにかポート開放すること無く外部からアクセスする方法が無いかと調べていたところ、AWSのSystems Managerで実現出来そうだったので、ラズパイに導入してみました。

# ハイブリッドアクティベーションの作成
AWS Systems Managerのページを開き、左側メニューからハイブリッドアクティベーションのページを開きます。
「アクティベーションを作成する」ボタンがあるので選択します。
![スクリーンショット 2022-08-17 0.36.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.co

元記事を表示

Unity+MagicOnionでメタバース空間を作ってみる(第二回)

はじめに
——————————————————
本記事は、複数回に分けてUnityとMagicOnionを用いてメタバース空間を構築する内容(備忘録)となっています。
前回は、UnityとMagicOnionで簡単なチャット機能とアバターの位置同期を実装しました。

第二回目は、前回実装したサーバー側のプログラムをAWS上にデプロイする方法を紹介します。
具体的には、サーバー側のプログラムをDockerを用いてコンテナ化し、AWSのEC2上にデプロイします。
なお、筆者はUnityやサーバーサイドの経験は浅く現在も学習中であるため、間違っている部分がある場合は教えて下さると幸いです。

——————————————————

動作環境や使用したアセットなど
————–
* Windows 10
* Unity 2021.3.5f1
* Visual Studio 2019 16.11
* MagicOnion 4.5.1
*

元記事を表示

イントラネットからSSH転送でELBやS3に接続する

## 1. はじめに

イントラネットから接続するAWSの開発環境があって、

“`
イントラネット内PC → 踏み台(Linux) → EC2(Windows) → ELB → EC2(OS知らない)
└→ EC2(OS知らない)

イントラネット内PC → 踏み台(Linux) → EC2(Windows) → S3
“`

と、なっています。
EC2(Windows)にSSH転送でリモートデスクトップする手順だけ提供されました。

|ローカルポート|リモートアドレス|リモートポート|
|—|—|—|
|任意|EC2(Windows)のローカルIPアドレス|3389|

ELBの80番ポートに通信するクライアントライブラリがEC2(Windows)にあるけれども、Oracleがない。
Oracleと通信するアプリケーションからELBに接続したい。また、そのアプリケーションからAWS CLIを呼び出してS3にも接続したい。

このため、SSH転送を使用して、Ora

元記事を表示

EC2 に Auto Scaling の設定 と Cl/CD (CodePipeline + CodeDeploy + LambdaによるAMIの自動更新) を導入 ①

# はじめに
EC2にAuto Scaling設定を行い、Cl/CD (GitHub + CodePipeline + CodeDeploy + AMIの自動更新) を導入することで、自動デプロイを実現しましたので、手順をまとめます。

また、CodeDeploy後、`最新のソースを反映したEC2のAMIを作成し、Auto Scaling の起動テンプレートにAMIを反映する`Lambdaを作成し、Codepipelineのステージに加えることでAMIの反映も自動化させました。

# 構築図
![スクリーンショット 2022-08-26 23.01.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/988747/59d5bfe8-fdf9-9308-2977-75851971a8d0.png)

# 事前構築
– vpcやsubnetなど、ネットワーク層作成
– EC2やelbは、作成しても、作成していなくてもよいです。
– 今回は、分かりやすいように、EC2にNginxを入れるだけのシ

元記事を表示

[aws] 特定のタグを持ったインスタンスの ip リストを取得

[コメント](https://qiita.com/yulily@github/items/f667b4c53c57824ef12b#comment-98542fceae56f093df4f)にて、とてもシンプルな記述にしていただけました…!

以下は比較として参考程度に..!(´・Σ・`;)

ec2 インスタンスの ip をタグを利用して取ってくる
“`
function getIPList()
{
ENV_NAME=$1

IP_LIST=$(aws ec2 describe-instances \
–filters Name=tag:envName,Values=”$ENV_NAME*” \
–query ‘Reservations[*].Instances[].{PublicIpAddress:PublicIpAddress}’ \
–output text)
echo “${IP_LIST}”
}
“`

接続可能かチェックする
“`
function canConnection() {
TO_HOST=$1

元記事を表示

EC2上にrailsアプリをデプロイするまで~RDSで躓いた所を整理

https://zenn.dev/naoki_mochizuki/books/1471ce20222227

を参考にして、EC2上にRailsアプリを起動しようとしている。

構築手順としては下記になる。

周辺環境の構築
VPC
サブネット
インターネットゲートウェイ
ルートテーブル
セキュリティグループ

インスタンスの作成
RDS
EC2
EIP

EC2内の環境整備
ssh接続
Linuxユーザの作成
パッケージのインストール
Rubyのインストール
nodejsのインストール
yarnのインストール

GitHubからのデプロイ
アプリ公開用のディレクトリ作成
GitHubとの連携
アプリのクローン
bundle install
yarn install

webサーバー、アプリケーションサーバーの設定
webサーバーの導入:nginx
アプリケーションサーバーの導入:puma
DBの接続
環境の設定
ブラウザの確認

紆余曲折しながら、アプリケーションサーバーの起動まではこぎつけたが、DBの接続のところで迷子になっているため、とりあえず今日やってことをそのまま記録に残す。

元記事を表示

FastAPI with Lambda + API Gatewayでサーバレスアプリケーションの作成

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/556658/6ec16fbf-ad49-b975-cf6a-642ab0476747.png)

## はじめに
株式会社マイスター・ギルド新規事業部のヒツジーです。
弊社新規事業部では、新規サービスの立ち上げを目指して
日々、アイディアの検証やプロトタイプの作成などを行っています!

技術の進歩は目覚ましいので、置いてかれないように新しい技術のキャッチアップにもいそしんでいます!
本記事では、FastAPI with Lambda + API Gatewayでサーバレスアプリケーションを作成する方法をご紹介します。
サーバレスアプリケーションには
– サーバーの管理が不要
– 使った分だけの支払いで済む
– 柔軟なスケーラビリティ

といったメリットがあり、新規サービスのプロトタイプ作成に向いていると思います。

本記事の手順通りに手を動かすと、さくっとREST APIを作れるようになりますよ!

## やりたいこと
FastAPIで作成

元記事を表示

AmplifyでカスタムGraphQLクエリと型情報を生成する方法

# 本記事を対象とする人
– Web(React,Vueなど)でAmplify利用し、自動生成されるクエリでは足りなくなった

# 結論
– 自動生成されるファイルと同じ階層にファイルを作成する

# 解説
デフォルトで生成されるスキーマを元に説明します

“`~/amplify/backend/api/[project]/schema.graphql
type Blog @model {
id: ID!
name: String!
posts: [Post] @hasMany
}

type Post @model {
id: ID!
title: String!
blog: Blog @belongsTo
comments: [Comment] @hasMany
}

type Comment @model {
id: ID!
post: Post @belongsTo
content: String!
}
“`

– 例として、ブログに投稿されている記事のコメントを取得したい場合

“` ~/src/graphql/customQue

元記事を表示

無料のAWSハンズオン資料をやってみた①

ご覧いただきありがとうございます。

## ☆myプロフィール☆
大手SIerに勤務している、社会人一年目のSEです。
AWS SAA取得と業務での活用に向けて、ハンズオン資料で理解を深めようとしています。
よろしくお願いします。

## ☆今回のハンズオン資料☆
【Security #1 アカウント作成後すぐやるセキュリティ対策】
https://pages.awscloud.com/JAPAN-event-OE-Hands-on-for-Beginners-Security-1-2022-confirmation_556.html

※この記事では、下記のハンズオンでのメモを記載しています。
この記事ではハンズオンの途中からですが、後程更新していこうと思います。

 1.請求データの確認とアラート
 2.操作履歴とリソース変更履歴の記録
 3.脅威検知
 4.ベストプラクティスの確認

## ☆注意事項(ハンズオンや、この記事の対象者など)☆
【ハンズオンでの注意事項】
・資料の閲覧は無料でしたが、AWSサービスを使う中で有料のサービスもあります。動画内で解説されているので、利用料

元記事を表示

【AWS】AWS認定試験「AWS Certified DevOps Engineer – Professional」に合格しました。(ピアソンOnVUEオンラインに超苦戦しました)

### 目次
1. [はじめに](#1はじめに)
2. [勉強方法について](#2勉強方法について)
3. [ピアソンOnVUEオンラインについて](#3ピアソンonvueオンラインについて)

### 1.はじめに
皆さんこんにちは、奥平です。
今回はAWS認定試験「AWS Certified DevOps Engineer – Professional」に合格した内容となります。

### 2.勉強方法について
私の勉強方法は問題集の熟読だけをやりました。
※業務にてAWS上の知識習得を行っている為
試験落ちる前提で一度試しに試験を受けて、どのような問題が出るかチェックしようと思いましたが、そのまま一発合格しました。
結果オーライです。

問題集は下記3件を熟読しました。

1.【Udemy】
・AWS認定 DevOpsエンジニア – プロフェッショナル (DOP-C01) 模擬試験
「模擬試験 – 1 ~4」を熟読していました。

2.【BenchPrep】
考え方が共通する問題が出ました、無料サンプル問題把握していた方が良いですね。
https://dev.classmetho

元記事を表示

AWSで実現するスタートアップにちょうど良いデータ基盤の作り方

データ活用によって新たな顧客価値を提供したいというニーズが高まっているように思います。
AWSではデータ活用向けのサービスがいくつもあり、ソフトウェアエンジニアはそれらを適切に選択し、データ活用の土台となるデータ基盤を作る必要があります。
本投稿では、Global Mobility Serviceのデータ基盤を例にし、AWSで実現するデータ基盤について紹介します。
コストとパフォーマンスのバランスが取れていて、スタートアップにちょうど良いデータ基盤だと思います。
今回の内容を通して、技術選定のヒントになれば幸いです。

# 概要

データ基盤の構築にあたっては、データを収集する、変換する、可視化するといったプロセスに応じてデータを扱う環境を分けることをオススメします。
環境を適切に分けることで、データの出どころが分かりやすくなるため、データの品質をコントロールしやすくなります。
全体のシステム構成イメージとしては以下の通りです。

![【発表資料】データ基盤構成図-正式版.drawio.png](https://qiita-image-store.s3.ap-northeast-1.

元記事を表示

OTHERカテゴリの最新記事