AWS関連のことを調べてみた2023年07月27日

AWS関連のことを調べてみた2023年07月27日

AWS SAM超入門 – 準備からLambda関数のデプロイまで

## 概要
今までLambdaコンソールから手動で関数を書き換えたり設定値を変更してデプロイを行なっていました。
手動作業が多くて危険だったのでAWS SAMを試すことにしました。
動作の理解として超簡単な入門コードでSAMを試してみたので残します。

## 前提
対象AWSアカウントのプロファイルをconfigに設定していること
Node.js 18.x でタイムアウトが3分のLambdaをデプロイしてみます

## 全体図
[![Image from Gyazo](https://i.gyazo.com/2585b8aec1dbaa99787b5e4d76c54b72.png)](https://gyazo.com/2585b8aec1dbaa99787b5e4d76c54b72)

## SAMについて
– Lambda関数コードだけじゃなく、タイムアウト値やトリガーといった設定までテンプレート(SAMファイル)で管理できる
– デプロイパッケージをS3にアップロードしてCloudFormationがLambdaに展開させる

## SAMのインストール
“`terminal

元記事を表示

[AWS CDK]RDSのInstancePropsとInstancesのDeprecatedに対応する

CDKで出力された以下のRDSに関するWARNINGへの対応を調査・検証した結果を共有したいと思います。現状作成されているRDSリソースを傷つけることなく修正する方法が提供されていました。

“`bash
[WARNING] aws-cdk-lib.aws_rds.DatabaseClusterProps#instanceProps is deprecated.
– use writer and readers instead
This API will be removed in the next major release.
[WARNING] aws-cdk-lib.aws_rds.DatabaseClusterProps#instances is deprecated.
– use writer and readers instead
This API will be removed in the next major release.
“`

全コードはGithubを参照してください。
[Githubはここ](https://github.com/Shin

元記事を表示

Amazon ECSのタスク定義の問題によってコンテナ間接続ができないときの対処法

## 事象
BFF(Backend For Frontend)コンテナにログインし、GraphQLのリクエストを送ったところ、エラーログに以下のエラーが表示されてました!このリクエストは、BE(Backend)コンテナに接続します!
**Error: connect ETIMEOUT 0.0.31.144.80**

“`
aws ecs execute-command –cluster クラスタ名 –task タスクID –container コンテナ名 –interactive –command “/bin/sh”
curl -X POST -H “Content-Type: application/json” -H “Authorization: Bearer トークン” –data ‘クエリ’ BFFエンドポイント/graphql
“`

## 対処法
タスク定義の環境変数でBEエンドポイントを設定する際に、スキーム(http://)を含め忘れていたことが原因でした!これを追加することで問題は解決しました!

なかなかないかもしれませんが、コンテナ間接続を行うに

元記事を表示

【AD】Active Directoryサーバの構築

# はじめに
備忘録記事です。

説明とかも自分が分かる程度に記載しているので結構適当かも知れないです。

# Active Directoryサーバの構築
## 前提
* Windows サーバ構築済みでRDP接続可能な状態(サーバ名:ad-server)
* ADにドメイン参加する用のサーバも構築済みでRDP接続可能な状態(サーバ名:user-server-01)

## OSバージョン
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/797483/e6edb9bb-7193-a8f1-1f15-cf9c8f03d66a.png)

## Active Directory 構築
まずは ad-server で作業

サーバ情報確認
`Primary Dns Suffix`は設定なし。
“`
C:\Users\Administrator>ipconfig /all

Windows IP Configuration

Host Name . . . . . . . . . . .

元記事を表示

AWS ECRのイメージタグ付けを簡単に行う方法

# はじめに
ECRのイメージタグ付けを、Lambdaで簡単に行う手順です。

ECRのイメージタグは、マネジメントコンソールから編集できず、不便な場合があります。
CLIで設定出来るのですが、お手軽に設定できるようにしました。

# やりたいこと

### ECRのリポジトリ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/155165/65b6756c-2cbc-5785-9c67-9de5330184bd.png)
このようにリリースしてみたが、前のバージョンに戻したい、releaseタグを前のバージョンに付け替えたいときなどに、本ツールが使えます。

これは一例で、後からタグをつけたい場合や、タグを整理したい場合などにも使えます。

# 準備
Lambda関数を準備します。詳細は割愛します。Lambdaのスペックは最弱でOKです。
## IAMポリシー
“`json
{
“Version”: “2012-10-17”,
“Statement”: [

元記事を表示

【2023年】2週間でAWS認定ソリューションアーキテクトアソシエイトに合格した話

## はじめに

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

本記事では、[AWS認定ソリューションアーキテクトアソシエイト(SAA)](https://aws.amazon.com/jp/certification/certified-solutions-architect-associate/)の合格体験談についてお話します。

※なお、本記事や試験に関する情報は2023/4/19時点(受験時点)のものですので、試験概要は常に最新の情報を参考にしてください。

## 対象者

本記事は以下のような方を対象としています。

– AWS初学者の方
– AWSの資格をまだ持っていない方
– IT系資格を取りたい方

## 私について
経験
– 開発経験:ほとんどない。(3ヶ月くらい開発案件に入ってた経験あり)
– AWS経験:Cloud9やCloudFormationは触ったことある
– 保有資格:基本情報技術者試験(約1年前に合格)、AWS認定クラウドプラクティショナー(通称CLF、SAA試験合格の約3ヶ月前に合格)

SAA受験のきっかけ
– CLF合格後、AWSにより興味を持ったた

元記事を表示

Databricksの基本とアカウント開設の手順を整理した

# 背景・目的
Databricksについて調べる機会がありましたので、特徴を整理しアカウントを作成するまでを記載します。
なお、本記事はDatabricksのドキュメントを翻訳し、簡単に整理したものになります。

# まとめ
– レイクハウスプラットフォームには下記の特徴があります。
– 統合
– 単一プラットフォームで分析とAIに対応
– オープン
– 他のツールと統合が容易
– プラットフォームに依存しないセキュアなデータ共有が可能
– スケーラビリティ
– シンプルなデータパイプライン〜大規模LLMまであらゆるワークフローに対応
– データ管理とエンジニアリング
– 自動化された信頼性の高いETL
– オープンでセキュアなデータ共有
– 超高速性能
– 構造化/非構造/半構造をデータレイクに格納
– データウェアハウス
– Databricks SQL
– 従来のクラウド型のDWH

元記事を表示

[AWS]Default Host Management Configration(DHMC)でIAMロールなしでEC2をマネージドインスタンスに

# はじめに

本投稿ではSystemsManagerの機能の一つであるDefault Host Management Configration(DHMC)を使って、EC2インスタンスにIAMロールをアタッチせずにマネージドインスタンス化する方法について解説したいと思います。

:::note warn
`IAMロールなしで`とタイトルに冠しましたが、厳密には`インスタンスプロファイルにSSM操作用のIAMロールをアタッチすることなしで`となります。
DHMC用にIAMロールは用意する必要がありますのでご了承ください。
:::

# Default Host Management Configration(DHMC)とは

https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/managed-instances-default-host-management.html

詳細は上記ドキュメントの通りですが、端的に言うと`EC2にIAMロールがアタッチされていない場合に、デフォルトで使用されるIAMロールを指

元記事を表示

AWS 高度なネットワーク(ANS-C01)合格体験記

# スペック

* AWS歴は8年ぐらい
* ソリューションアーキテクトプロフェッショナルは2023年1月に合格
* ネットワークスペシャリストに2023年6月に合格

# 背景

みなさんの記事とかをみるとAWS資格全制覇みたいな中で取得されていることが多いみたいでした、その中ではわりと特殊な考え方でとっているかな〜と思います。

1. SAPを勉強している中でDXとTGWなどネットワークのところがいまいちしっくりこない。。業務でもあまりやる機会がないので、あんまりコンソールの画面もしらないな〜と思い始める。ドキュメントを読むとBGPやらASやらの話がでてきて、、よくわからんなと思いながらやりすごす。
1. SAP合格してから自分のネットワーク知識があまりないなと思ったので、よりベーシックな内容を学び直そうと思い、ネットワークスペシャリストの資格取得を目指す。
1. 6月でネットワークスペシャリスト合格達成できたので、あらためてANS-C01合格目指そうという流れです。

ちなみにハイブリッドクラウドがこれから当分は主流なのかと思ってたりはするので、このあたりの知識は持っていると環

元記事を表示

Session ManagerでEC2に接続しようとしたらError発生 2023/07/26

# 今回のエラー内容
EC2にSSM経由で接続しようとコマンドを入力した結果エラーが発生しました。
“`bash
aws ssm start-session –target {インスタンス-ID} –profile {プロファイル名}
An error occurred (TargetNotConnected) when calling the StartSession operation: {インスタンス-ID} is not connected.
“`

# 結論
VPCエンドポイントのインバウンドルールにHTTPSがなかったことが原因でした。

# 調査の過程
### EC2にEC2 Instance Connectを使用して接続して、SSM Clientのログを確認
上記注意点として、EC2にいったんSSH接続可能なインバウンドルールを適用する必要があります。
SSH接続ができたら、`sudo ls /var/log/amazon/ssm`でファイルを確認して、`sudo tail /var/log/amazon/ssm/errors.log`でログを確認します。

元記事を表示

Prometheus/Loki/Grafanaを使ってメトリクス、ログを監視してみる

# はじめに
社内でも監視ツールのコスト見直しによりOSSを使った監視ツールの検討・導入が進んでいるため、まずは検証環境で実際に構築して、個人の理解を深めることを目的としています。

# やりたいこと
監視サーバ(Grafanaのダッシュボード)から監視対象サーバの下記メトリクス、ログを可視化する。
– CPU使用率
– メモリ使用率
– sshdプロセスの死活監視
– /var/log/messagesのログ
– /var/log/crondのログ

## 概要図
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869300/aed6df81-ac5a-e3d8-59b4-c93bd0285358.png)


## 成果物
今回の検証で下図のようにGrafanaでログ、メトリクスのダッシュボードを作成し可視化ができました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/

元記事を表示

【DX】ChatGPTを社内Slackから使えるようにしてみた

# ChatGPT使ってみた

皆さんの会社でもChatGPT活用されていますでしょうか
今回はChatGPTの活用促進に向けて社内で取り組んだ事例の紹介になります。

::: note
今回の事例はWeb画面からのChatGPTにおいてAI学習への活用可否Optionスイッチが実装されておらず、API経由でのGPT利用しか選択肢が無かった時点での事例となります
:::

### 導入背景
ChatGPTはその登場から非常に注目され、色々な利用事例があがっており、弊社としても活用していきたいと考えています。しかし、事業会社のシステム部門としては業務利用にあたって情報漏洩がやはり気になるところです。
そんな中、4月頃にOpenAI社よりAPIが公開され、API経由であればAIの学習目的利用をせず、30日間でデータ削除する事を選択できる(≒情報漏洩リスクを軽減できると考えられる)事から、APIを介してChatGPTを業務活用する為の機能開発ができないか。という議論がスタートしました

### Slack連携を選んだ理由
社内でChatGPTを利用するにあたって「いかに社員が使いやすいイン

元記事を表示

SSHKit::Runner::ExecuteError【AWS,Capistrano】

# はじめに
Capistranoを使用して、AWSに自動デプロイを行なった際に下記のエラーが出たので、備忘録として投稿します。

# エラー内容

“`  
$ bundle exec cap production deploy
“`

で自動デプロイを始めると

“`
SHKit::Runner::ExecuteError: Exception while executing as ec2-user@Elastic IP: rake exit status: 1
rake stdout: Nothing written
rake stderr: bundler: failed to load command: rake (/var/www/app/shared/bundle/ruby/2.6.0/bin/rake)
Gem::Exception: can’t find executable rake for gem rake. rake is not currently included in the bundle, perhaps you meant to add it

元記事を表示

AWS ECSでAWS AppConfig Agentを試してみる

# AWS AppConfig Agentとは

AppConfigの値をアプリケーションの代わりに自動でポーリング・データのキャッシュを行ってくれるサービスです。
これを利用することにより、カスタムでAWSのAPIを利用してデータを取りに行ったりキャッシュを構成する必要がなくなりました。

AWS AppConfigについては以下を参照下さい。

https://docs.aws.amazon.com/ja_jp/appconfig/latest/userguide/what-is-appconfig.html

# ためす
以下の手順を参考に試してみます。

https://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-integration-containers-agent.html

## 前提
– 検証用ECRに適当なイメージをPush済み
– 作成は[コチラ][link-1]を参考にcurlだけインストールしています。
– AppConfig上に簡単なプロファイルを作成して適当な環境にデプロイ済み

元記事を表示

[AWS Q&A 365][EI]AWSのよくある問題の毎日5選 #98

# Q1: Amazon Elastic Inference Developer Guideにはどのようなセキュリティ対策が記載されていますか?
A1: そのガイドには、Identity and Access Management (IAM)、IDでの認証、ポリシーを使用したアクセス管理、ログ取りとモニタリング、コンプライアンスの検証、インフラセキュリティ、設定と脆弱性分析などのセキュリティ対策が記載されています。

# Q2: Elastic Inferenceのセキュリティグループをどのように設定しますか?
A2: そのガイドでは、Elastic Inferenceのセキュリティグループを設定する方法について説明があります。”Elastic Inferenceのセキュリティグループを設定する”セクションを確認し、手順に沿って設定することを推奨します。

# Q3: CloudWatch Metricsを使ってElastic Inferenceをモニタリングする情報はありますか?
A3: はい、ガイドにはCloudWatch Metricsを使ってElastic Inferenceを

元記事を表示

[AWS Q&A 365][EI]Daily Five Common Questions #98

# Q1: What security measures are mentioned in the Amazon Elastic Inference Developer Guide?
A1: The guide mentions security measures such as Identity and Access Management (IAM), authenticating with identities, managing access using policies, logging and monitoring, compliance validation, infrastructure security, and configuration and vulnerability analysis.

# Q2: How can I configure my security groups for Elastic Inference?
A2: The guide provides instructions on configuring your security gr

元記事を表示

API Gateway利用時にAPI作成削除権限だけを除外した編集権限の作成

# はじめに
API Gatewayをプライベートなネットワークで利用したい場合、REST API(Private)を利用する案が出てくるかと思います。

その時、すべてのユーザーにAPIを自由に作成・削除できる権限を与えてしまうと、REST API(Private)以外のプロトコル・エンドポイントタイプで作成されてしまう可能性があります。

そのため、API自体の作成・削除は管理者が行い、他のユーザーはAPI内の変更のみできる権限を検証しました。

以下のドキュメントに記載されているポリシーを参考にしました。
https://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/security_iam_id-based-policy-examples.html#security_iam_id-based-policy-examples-private-api

# 作成ポリシー
実際に作成したポリシーは以下になります。
読み取り権限やAPI実行権限は別途付与されている想定として除外しています。
“`
{
“S

元記事を表示

Pythin 3.10 の pip にアップグレード & request ライブラリの Lambda レイヤーを作成する方法

Lambda で requests を使いたかったので、Lambda レイヤーを作成する時に Pything 3.10 の pip に切り替えて requests の zip ファイルパッケージを作ったときのメモ書き

MacOS の Homebrew での作業です。

“`
$ brew install python@3.10
# python3.10 -m pip install –upgrade pip
“`

“`
$ pip –version
pip 23.2.1 from /usr/local/lib/python3.10/site-packages/pip (python 3.10)
“`

“`
$ mkdir python
$ pip install -t python requests==2.28.2
$ zip -r9 layer.zip python
“`

– Lambda Layer を追加
– Lambda 関数に Layer を紐付け

参考
https://stackoverflow.com/questions/54409696

元記事を表示

TerraformでAWS budgetsを設定する

# 概要
– TerraformをつかってAWS budgetsを設定した時のメモ

## コード
– main.tf
“`hcl
provider “aws” {
region = “ap-northeast-1”
}

resource “aws_budgets_budget” “total” {
name = “sample_budgets”
budget_type = “COST”
limit_amount = “1000”
limit_unit = “USD”
time_unit = “MONTHLY”

notification {
comparison_operator = “GREATER_THAN”
threshold = 85
threshold_type = “PERCENTAGE”
notification_type = “F

元記事を表示

AWSでrinnaの日本語GPT-2モデルとおしゃべりするLINE Botを作る

# 概要
[FlaskでAIとおしゃべりするインターフェースを作る](https://qiita.com/MokonaSato/items/09ba9e5e21698cd21a52)で登場した、私がファインチューニングしたrinnaの日本語GPT-2モデル(以下、もこなGPT)とおしゃべりできるLINE Botを作りました。
参考にした記事と開発中に私がつまづいたところをまとめます。
![LINE_capture_711939977.244120.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3118714/5182d620-e22d-1765-1d50-fe96fc772be1.jpeg)

# 使用言語、ライブラリなど
– Python 3.9
– torch 1.13.1
– sentencepiece 0.1.97
– transformers 4.26.0
– AWS SAM CLI 1.90.0
– line-bot-sdk

使用したPCはMacbook Air(M1チップ)です。

#

元記事を表示

OTHERカテゴリの最新記事