AWS関連のことを調べてみた

AWS関連のことを調べてみた

CloudFormationでECSクラスターとCodePipelineを設定する

# 作成されるリソース
– 基本的なネットワーク
– ECSクラスター(EC2 on ECS)
– CodePipeline
– CodeCommit
– CodeBuild BuildProject
– (ECS Deploy)

※CodePipelineのデプロイステージは未検証のためコメントアウト

# テンプレート
ECSクラスターの作成は以下の公式ドキュメントを参考にしています。

https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-cluster.html

“`yaml:
AWSTemplateFormatVersion: 2010-09-09
Parameters:
VPCCidrBlock:
Description: The primary IPv4 CIDR block for the VPC.
Type: String
MinLength: ‘9’
MaxLength: ’18’

元記事を表示

lamda関数を新規作成した メモ

lamda関数を新規作成した

前提 : vpc、elastic ipの設定は終わっている
lamda作成ユーザにIAM権限が必要(ロール割当で必要になる)

1. サービスからlamdaを選択
2. 関数の作成
・ 一から作成 (あくまで自分の場合)
を選択
・ 関数名
任意でつける
・ ランタイム
nodejs20を選択
・ アーキテクチャ
x86_64 (特に何も考えず)

・ デフォルトの実行ロールの変更
→ 基本的な Lambda アクセス権限で新しいロールを作成
を選択した。(使いまわしのロールなければこれで良さそう)
→ この時はS3の権限が必要だったので以下を追加

“`
{
“Version”: “2012-10-17”,
“Statement”: [
{
“Sid”: “VisualEditor0”,
“Effect”: “Allow”,
“Action”: [
“s3:PutObject”,
“s

元記事を表示

CloudwatchLogs を Kinesis Firehose 経由で S3 に保存する for CDK

# 構成図

![CloudWatchLogsToFirefoseToS3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/280929/67538867-2f75-80c6-3b78-342520a148a4.png)

# やりたいこと

今回検証用のため、EC2 に Apache を起動し、
access_log を S3 bucket-A に格納し、
error_log を S3 bucket-B に格納
できるようする。

なお、S3 に格納するとき、CloudWatchLogs を S3 のプレフィックスにして保存する。

以降の説明では、A は access_log、B は error_log とする。

IAM ロールは CloudWatchLogs ごと、Firefose ごとに作成されるとリソース数が増えるため、今回は A と B それぞれ共通のものを利用する。

# CDK 構造図

“`:tree
bin
└── CloudwatchLogsToFirehoseToS3

元記事を表示

CDKでOIDCプロパイダーを作成し、GitHubActionsでOIDCを使用してAWS認証を行う

# 完成物
![Pipeline drawio.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3480176/436166c2-9d5a-454c-b68a-67ee3f05ce14.png)

今回の記事ではこれの左側の部分の説明をします。
今後似たような認証機構を構築する時のために備忘録として残しておくための記事です。
間違いや、もっとこうしたら良いなどがあったらコメントしていただけると幸いです。

# OIDC認証とは
会社の同期がめっちゃわかりやすい記事を書いてくれていたのでそれを参考しました。

https://zenn.dev/mai_mizz/articles/cce2d2c764e9fc#oauth%E3%81%A8oidc

上記の記事より引用。OIDCの流れの簡略化した図
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3480176/8b8d2364-2700-2487-e917-5

元記事を表示

AWSのLambda(zip)をLambda(Image)として動かす

# この記事について

AWSのLambdaには、`zip`と`Image`の形式があります。
この2つの形式にはいくつかの違いがあります。一部を上げると、下の表のような違いがあります。

||zip|Image|
|:–|:–|:–|
|実行環境|AWSが提供したもの|自由|
|デプロイにかかる時間|数秒、ライブラリによっては数分|数分~数時間|
|Web上でソースを編集|ライブラリが小さければ可能|不可|
|デプロイできるファイルサイズ|50MBまで|10GBまで|
|docker|不要|必要|

この記事で紹介する実行方法は、`zip`と`Image`のいいとこどりをします。

||zip+Image|
|:–|:–|
|実行環境|自由|
|デプロイにかかる時間|数秒|
|Web上でソースを編集|可能|
|デプロイできるファイルサイズ|10GBまで|
|docker|不要|

`zip`としてソースコードをデプロイしながら、`Image`の自作ランタイム上で動かします。

# 実際に動かしているところ

実際に動かしているところをキャプチャで紹介します。
ginza(※

元記事を表示

CloudFrontのOACアクセス利用したS3アクセスをクロスアカウントでアクセスしてみた

# はじめに
データレイクとして別AWSアカウントに配置してるデータに、OACを使ってCloudFrontからアクセスする検証をしてみました。

# 準備
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/281768/7259505f-d1da-a4d2-2dcf-490de9936580.png)

S3バケットを【パブリックアクセスをすべて ブロック】で作成して、閲覧確認用の画像をアップロードします。

# オリジンアクセスの作成
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/281768/7d0f0960-7f76-e4ef-8884-627642b36cc6.png)

【コントロール設定を作成】
から作成する。

# ディストリビューションの作成

:::note warn
「Origin domain」は別アカウントなので一覧に表示されないので注意
:::

![image.p

元記事を表示

[AWS #22] AWS Direct Connect


## はじめに
こんにちは
今回はクラウドテクノロジー分野である **「AWS Direct Connect」** について紹介したいと思います。

## AWS Direct Connect
:upside_down: Direct ConnectはAWSが提供する**専用接続サービス**です。これを使用することで、AWSとデータセンターの間でプライベートなネットワーク接続を確立することができます。
![AWS22_01_02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3806875/3ca64729-741b-5008-7cae-41edae44067d.png)

インターネット回線でなく、専用の回線を使用するので**セキュリティ面の向上と通信の安定**

【AWSの学習を始める方へ】AWSのハンズオン

## 趣旨
AWSの学習を始めたけれど、何から手を付けて良いのか迷っている方々に向けて、効率的な学習の進め方を整理しました。私自身もAWSを学び始めたときには多くの時間を費やしましたので、同じような悩みを持つ方の参考になれば幸いです。

## 対象者
– AWSの勉強を始めたが、何から始めれば良いかわからない方
– AWSを業務で使用する予定がある方
– 転職活動中で、AWSの基礎を学びたい方

## ハンズオン学習サイトの紹介
AWSの基礎を効率的に学べる、便利な学習サイトを3つご紹介します。これらを活用して、AWSの理解を深めていきましょう。

| 学習サイト | 学習内容 | 学習目安時間 | 料金 |
|————|———-|————–|——|
| **AWS Skill Builder Cloud Quest** | [AWS Cloud Quest Cloud Practitioner](https://aws.amazon.com/jp/training/digital/aws-cloud-quest/)では、AWSアカ

AWS Key Management Service Part.1 基礎編【AWS Black Belt】の要約

## はじめに
**AWS KMS(Key Management Service)は、データを守るための「鍵」を安全に管理するサービスです。**
まるで、会社の金庫の鍵を、さらに厳重に管理する金庫のようなものだと考えてください。

**なぜ鍵が必要なの?**
会社で扱うデータは、顧客情報、営業資料、設計図など、様々なものがあり、これらのデータを悪意のある人から守るために、「暗号化」という技術が使われます。
暗号化とは、データを別の文字列に変換して、元のデータが見えなくすることです。
例えば、重要な書類を「暗号化」して、誰にも読めないようにするイメージです。
この時、書類を暗号化する「鍵」と、暗号化された書類を元の状態に戻す「鍵」が必要です。

**鍵の管理が重要!**
もし、この「鍵」が盗まれたり、不正な人に使われたりすると、暗号化されたデータも解読されてしまい、
大切な情報が漏洩してしまいます。
![AWS-Black-Belt_2024_AWS_KeyManagementService_0331_v1_page-0011.jpg](https://qiita-image-sto

EKS 初期化関連コマンド諸々

“`shell
EKS_CLUSTER=eks-cluster
AWS_REGION=ap-northeast-1
AWS_ACCOUNT_ID=123456789012

# kube config の設定更新
aws eks update-kubeconfig –name $EKS_CLUSTER –region $AWS_REGION

# クラスターのコンソールアクセス権限付与
eksctl create iamidentitymapping –cluster $EKS_CLUSTER –region=$AWS_REGION \
–account $AWS_ACCOUNT_ID –no-duplicate-arns

# eks fargate 使う時、coredns の設定更新&再起動
kubectl patch deployment coredns -n kube-system –type json \
-p='[{“op”: “remove”, “path”: “/spec/template/metadata/annotations/eks

EC2-RDS(Oracle)間でSQLPlusを実行する手順

# 概要
EC2(Windows、Linux)とRDS(Oracle)でSQLPlusを実行するための環境構築。

# 前提
EC2とRDSが構築済みであること。

# 目次
## EC2とRDSの接続セットアップ
## Windowsバージョン
– EC2にOracleClientインストール
– 環境変数設定
– tnsnames.ora設定
– コマンド実行

## Linuxバージョン
– EC2にOracleClientインストール
– 環境変数設定
– tnsnames.ora設定
– コマンド実行

# EC2とRDSの接続セットアップ
1.マネジメントコンソールで[RDS]のコンソール画面を開き、DB名をクリックして[アクション▼]から[EC2接続のセットアップ]をクリックする。

2.[EC2インスタンス]で接続先のEC2インスタンスを選択する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3682297/9538d319-fa57-dc16-3ff2-4c72628

EC2からFSxにrobocopyでファイル移行する手順

# 概要
EC2からFSxにrobocopyでファイルを移行する手順をまとめる。

## 前提
移行元EC2と移行先EC2、FSxが構築済みであること。

# 目次
– 移行元EC2フォルダ共有設定
– 移行先EC2 FSxマウント設定
– 移行先EC2 robocopy実行

# 移行元EC2フォルダ共有設定
1.移行元EC2にリモートデスクトップで接続し、コントロールパネルを起動する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3682297/61cd4abd-ccf0-1d03-88c1-30c373cae657.png)

2.[ネットワークと共有センター]-[共有の詳細設定]を開き、以下の通り設定する。
◎ネットワーク探索を有効にする
 ☑ネットワークに接続されているデバイスの自動セットアップを有効にする。
◎ファイルとプリンターの共有を有効にする

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

EC2 AMIとEBSのバックアップをライフサイクルマネージャで取得する方法

# 概要
EC2のAMIとEBSスナップショットをライフサイクルマネージャで取得する方法をまとめる。

## 前提
EC2が作成されていること。

# 目次
– AMIバックアップ取得
– EBSバックアップ取得

# AMIバックアップ取得
1.マネジメントコンソールで[EC2]のコンソール画面を開き、[ライフサイクルマネージャー]をクリックする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3682297/32947935-5076-58c2-cd56-dcf786133106.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3682297/3d5b97a6-e5e7-75c4-342b-e00b5ea94506.png)

2.以下の通りに入力して、[次へ]をクリックする。

・カスタムポリシーとデフォルトポリシーのどちらを使用するか選択します:カスタムポリシー
・スケ

boto3をオフライン環境にインストールする方法

# 概要
boto3をオフライン環境のEC2(RHEL8)にインストールする方法

## 前提
Python3がインストール済みであること。まだの場合は以下コマンドでインストールを実施すること。
“`
dnf install python39
“`
# 目次
– boto3とは
– パッケージダウンロード
– TeratermにSCPでパッケージファイル移行
– パッケージインストール
– インストール確認

# boto3とは
>Boto3とは、「AWS SDK for Python」のことで、AWS の各種サービス(Amazon S3、Amazon EC2、Amazon RDSなど)をPythonから操作するためのライブラリです。これはAWSが公式で提供しています。

[PythonとBoto3を使用して、AWSのインフラ構築を自動化してみた](https://ops.jig-saw.com/tech-cate/python_boto3_aws#:~:text=Boto3%E3%81%A8%E3%81%AF%E3%80%81%E3%80%8CAWS%20SDK,%E3%81%A

ChromebookにAWS CLIをインストールする

# AWS CLIをインストールする
以下の公式ページのガイドを参照し、インストールしてください、
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/getting-started-install.html

# IAMユーザーのアクセスキーを作成する
IAMのユーザーをクリックしてください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/14202/71ac8a15-aa32-93dd-1db4-dcdef1b2b66b.png)
 
IAMユーザーの一覧が表示されます。
アクセスキーを作成するIAMユーザーをクリックしてください。
 
IAMユーザーのページが表示されます。
セキュリティ認証情報タブを表示してください。
アクセスキーの[アクセスキーを作成]をクリックしてください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/

【AWS】aws cli実行時にYou must specify a region. You can also configure your region by running “aws configure”.となる

## やったこと

こちらの記事にあるEC2の一覧を取得するaws cliコマンドを実行した

https://qiita.com/Raccoon-san/items/497fb3ba49bcf870e4e6

## エラー内容

> You must specify a region. You can also configure your region by running “aws configure”.

すでに `aws configure` コマンドでクレデンシャルは設定していたため、原因がよくわからなかった

“`
# ルートディレクトリで実行
: ~ $ cat .aws/credentials
aws_access_key_id = xxxxxxxxxxxx
aws_secret_access_key = xxxxxxxxxxxx

: ~ $ cat .aws/config
[profile xxxx]
region = ap-northeast-1
output = json
“`

一度.awsフォルダを削除して再度 `aws configure` コマン

AWS上の商業用WEBアプリケーションでONにしておくべきセキュリティ機能7選

## 概要

AWSにはセキュリティを高める為の機能で、ほとんど設定不要、ボタンポチだけでセキュリティを向上出来る機能が複数存在します。一応値段が無料だったり、そこまでお金がかからない(月々行って数千円程度)ものをピックアップしています。今回はそのプラクティス含め紹介します。

## AWS WAF

:::note
AWS WAF はお客様が定義する条件に基づきウェブリクエストを許可、ブロック、または監視 (カウント) するルールを設定し、ウェブアプリケーションを攻撃から保護するのを助ける Web アプリケーションファイアウォールです。
:::

とりあえず、ボタンポチだけでもそこそこ機能してくれます。一般的なWEBアプリケーションであれば、追加でSQLやLinuxコマンドを含むようなトラフィックも監視しておくことをおすすめします。

詳しくはコチラの記事に色々まとまっています。

https://qiita.com/satofujino/items/6920ca45aa1341056db0

## GuardDuty

:::note
Amazon GuardDuty は、AWS

Amazon Titan Image Generator G1 V2と戯れる(Gradioがおすすめ)

お久しぶりです!

Bedrockで使えるTitan Image Generator G1にV2が登場しました!

https://aws.amazon.com/about-aws/whats-new/2024/08/titan-image-generator-v2-amazon-bedrock/

https://aws.amazon.com/jp/blogs/news/amazon-titan-image-generator-v2-is-now-available-in-amazon-bedrock/

:::note
G1のV2です!ややこしや
:::

プレイグラウンドでもテキストからの画像生成は試せるのですが、V2の新機能を試すことができません。

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/41574/108b1e25-90cb-61db-21a7-a862e55800a4.png)

> a jar of salad dressing in a rustic kitchen surroun

AWS SAA合格体験記(+AWS summit Japan参加レポ)

# はじめに
AWS SAAに合格した合格体験記
+
AWS summit Japan参加レポ(おまけ)
***
# AWS SAA合格体験記
***
# 学習前の状況
AWSの知識
→2年前にAWS CLPを勉強したきり
クラウド環境(AWSではない)の構築は業務で少し触った
***
# 使った教材
– ping-t
– udemyのハンズオン講座
– AWS summit Japanに行った
***
# 受けた理由
– 2年前に取ったCLPの有効期限が切れそうだった
– Linuxの勉強ばっかで飽きたので気分転換
– ~~会社からの報奨金目当て~~
***
# やったこと
1. ping-tの【試験レベル】以外の問題を1周
1. udemy模擬試験が全く解けず撃沈
1. ping-tの【試験レベル】を重点的に学習

***
# 結果
受験日:2024/07/06
スコア:777 ~~縁起がいい~~
***
# 感想
– 業務都合で一時中断を挟みつつ1.5か月ほどで合格できた
– udemy模擬試験は難しすぎる
– ping-tの試験レベルが解ければ受かる
– DDoS?AW

AWS ECSの基本概念

# AWS ECSの基本概念

ECSには以下のような項目があります。

– ECS Service
– ECS Cluster
– ECS タスク定義
– ECS タスク
– ECR リポジトリ

実際にはECSを使うために、AWSの他サービスと併用することがほとんどですが、本記事では***ECSを構成する要素とはなんなのか***に焦点を当ててなるべく簡潔に説明していきます。

::: note info
ECRは厳密にはECSのサービスではないかもしれませんが、ECSと密接に関係しているため含めています
:::

## ECS全体の関係図

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3492874/bacbdd2f-9554-d214-f062-b6c724dafbfb.png)

大まかな理解として、
– クラスターの中にはサービス、タスクが含まれる
– サービスの中にはタスクが含まれる
上記のような関係性になっています。次の項目で各リソースの役割について解説します。

#